SSブログ

第6期、第7期のGo言語研修が終了しました [プログラミング言語Go研修]

今年の2月と7月から開講した、リクルートテクノロジーズ社向けのGo言語研修が終了しました。リクルートテクノロジーズ社内では第2期と第3期となりますが、私にとっては通算第6期と第7期です。

修了写真1.png修了写真3.png
修了生と私

Go研修では、半年間の6回で書籍『プログラミング言語Go』を学びます。毎回、予習範囲が決められており、事前に予習範囲のテキストを読んで質問をまとめ、練習問題のプログラミングは解いてGithubに入れてもらいます。研修当日は、質問に対する回答や解説をして、練習問題の解答の確認を行います。

プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)

プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)

  • 作者: Alan A.A. Donovan
  • 出版社/メーカー: 丸善出版
  • 発売日: 2016/06/20
  • メディア: 単行本(ソフトカバー)

Go言語は、他のオブジェクト指向言語と比較すると、言語仕様が易しいために書籍『プログラミング言語Go』を読まずにプログラミングしている人が多いと思います。さらに、練習問題をすべて解くことに挑戦する人はほとんどいないのではないかと思います。

Go言語研修修了生は、自分のプライベートの時間で、『プログラミング言語Go』を全部読んで、練習問題も解くことに挑戦しています。もちろん、テキストを全部理解できるとは限りませんし、練習問題もすべて解けないかもしれません。しかし、一人でもくもくと読むのとは異なり、研修を通して、予習での疑問点の解説を聞いたりディスカッションしたりして理解を深めてくれたと思います。また、他の人の練習問題の解答を見ることで、自分の解答と比較したりできたと思います。

特に第6期には、古川陽介さんと和田卓人さんがおられて、お二人の経験に基づくディスカッションもでき、私も多くのことを学びました。実は、古川陽介さんは10年前のJava研修・第8期の修了生です。

修了写真2.png
古川さん、私、和田さん

リクルートテクノロジーズ社では、1月より『Effective Java 第3版』研修を開講します。

コメント(0) 

書籍『Kubernetes in Action』 [プログラマー現役続行]

Kubernetes in Action

Kubernetes in Action

  • 作者: Marko Luksa
  • 出版社/メーカー: Manning Publications
  • 発売日: 2018/01/20
  • メディア: ペーパーバック

メルペイで5か月が過ぎました」でも書きましたが、今年の6月にメルペイ社に入社して読み始めたのが『Kubernetes in Action』です。メルペイ社では、Go言語を用いてマイクロサービスで開発していますが、各マイクロサービスはKubernetes上のPodとして動作します。

基盤としてKubernetesを使っているとはいえ、細かな設定などはSREチームが行っているので、細かな仕様を知っている必要はないのかもしれません。しかし、やはり使っている技術はきちんと学ぶのが基本ですので、どの本がよいかをAmazon.comで調べてこの本を選びました。ただし、出版元のManning PublicationsからPDF版を購入しました。

この本は大きく、3部から構成されています。
Part 1 Overview
Part 2 Core Concepts
Part 3 Beyond the Basics
Part 1は、導入部分であり概要が説明されています。Part 2では基本的な事柄が説明されています。Part 3は、どのような仕組みで動作しているかや、さまざまなリソースのチューニングなどが説明されています。

実際にテキストの指示に従って、Google Cloud Platform上にクラスタを構築しながら、手を動かして読み進めて理解を深めることができます。私自身は普段の開発に必要なさまざまなツールの設定はこの本の指示に従って行いましたし、日々の開発に必要とするKubernetesの知識もこの本で学びました。普段手に取って簡単に参照できるように、紙の本を会社で購入したのですが、紙の本は図が白黒なので、読むのにはPDFの方がよいかと思います。

前職のソラミツ社ではgRPCを用いた開発は多少しましたが、Backendのサービス開発は初めてと言ってもよいです。Fortranでプログラミングを初めて学んでから40年が過ぎましたが、ソフトウェアにはエンドレスに新たな技術が登場します。そのため、学び続けるのと、実際に作り続けることが必要な領域だと思います、

コメント(0) 

悪い癖、間違った思考・行動パターン [プログラマー現役続行]

私自身は、メンバーの業績評価を伴わないリーダーとしての立場から、メンバーの業績評価を伴うマネージャとしての立場、さらに開発部の部長という立場までさまざまな経験をしながら、ソフトウェア開発組織を作り上げることをどこかで意識してきました。働いてきたソフトウェア開発組織のほとんどは、毎年、新卒新人が入社して、彼ら彼女らを育成していくことが必要な組織でした。そのような経験をまとめたのが「ソフトウェア開発組織が持つべきカルチャー」です。そうは言っても、意識していたのは30代後半以降です。20代と30代前半は、そのような意識もなくソフトウェアを開発していました。

そして、私自身、ソフトウェアエンジニアとしてのさまざまな悪い癖は、自分自身で気付いて直してきました。当たり前だと思ってやっていたことが、後に、bad practiceと分かることがありますが、その場合には意識して直してきました。

しかし、私自身が長い年月を経て習得してきたことを、新卒新人に同じ年月をかけて習得させるのは非効率ですし、ひょっとしたら全く習得しないかもしれません。そのために、新卒新人の頃から変な癖や間違った思考・行動パターンにならないように指導してきました。

ソフトウェアエンジニアの変な癖やまた違った思考・行動パターンは、いつ身に付くかというと、新卒新人で入社した最初の会社です。それと同時によい習慣や正しい思考・行動パターンが身に付くもの最初の会社です。とくに前者の場合、一度身に付いてしまうと、組織を変わってもなかなか変えることが難しくなるのではないかと思います。

コメント(0) 

訳者まえがき『Effective Java 第3版』 [訳者まえがき・あとがき]

Effective Java 第3版

Effective Java 第3版

  • 作者: Joshua Bloch
  • 出版社/メーカー: 丸善出版
  • 発売日: 2018/10/30
  • メディア: 単行本(ソフトカバー)
 プログラミング言語Java は、1995年に登場してから短い期間に広く普及し、多くのソフトウェアエンジニアがJava 言語を使ってソフトウェアの開発を行っています。広く普及したとはいえ、プログラミング言語Java を正しく理解して、簡潔で、明瞭で、正確なソフトウェアを設計する能力を身に付けるのは容易ではありません。
 この本は、著者であるJoshua Bloch 氏が、Java 言語を用いたソフトウェア開発で得た経験や知識を まとめたものです。Java 言語の生みの親であるJames Gosling でさえ、この本の初版について次のように述べています。
10 年前にこの本を持っていたかった。私には、Java に関する本は必要ないと思うかもしれないが、この本は必要だ。
—James Gosling
 私自身も、初版の英語版を読んで目から鱗が落ち、多くを学び、影響を受けました。初版の翻訳をきっかけに、第2版と、この第3版の原著の草稿のレビューおよび翻訳を行い、その過程でさらに多くを学べました。この本は12章から構成され、第2章から第12章では、テーマに沿った項目が著者の経験に基づい て書かれています。項目の多くは、何も気にしないでプログラミングをしていては修得できない事柄を解説しています。
 第2版から10年が経過しており、Java 8で新たに導入されたラムダとストリームに関する第7章「ラムダとストリーム」が新規に追加され、既存の項目もその内容が見直されています。全体の項目数も第2 版の78項目から90項目と増えており、第7章以外でも追加されている項目があります。
 この本は、初版のタイトルにあった「プログラミング言語ガイド」の名にふさわしく、James Goslingの言葉は誇張ではありません。Java でプログラミングするすべてのソフトウェアエンジニアにとって必読の書籍だと思います。ただし、この本は、初心者向けではありません。この本の内容を理解するには、私が翻訳した『プログラミング言語Java 第4版』および『Java SE 8 実践プログラミング』で解説されている内容程度は理解しておく必要があります。また、この本では、Joshua Bloch 氏とNeal Gafter氏の共著『Java Puzzlers 罠、落とし穴、コーナーケース』で解説されている内容に関して、[Bloch05]として参照されているので、併せて読まれるとよいかと思います。
 翻訳に際して、原著の誤植や内容変更等は、Joshua Bloch 氏に確認を取って、日本語版では修正されています。初版および第2版と同様に、この第3版により、日本のソフトウェアエンジニアの技術力向上に微力ながら貢献できれば幸いです。


コメント(0)