So-net無料ブログ作成
  • ブログをはじめる
  • ログイン
前の10件 | -

第5回Java・Go研修OB・OG懇親会を開催しました [研修OB・OG懇親会]

6月30日(土)に第5回Java・Go研修OB・OG懇親会を、freee株式会社の場所をお借りして開催しました。今回からは、Java研修もしくはGo研修の修了生を参加資格として開催しています。

IMG_0327.JPG

第4回と同様に2部構成にしました。私も入れて39名が参加しました。

  第1部 14:30〜17:00 技術セッション
  第2部 17:00〜19:30 懇親会

今回の技術セッションは、研修修了生から以下の発表を行ってもらいました。
  • リザストを支えるサーバー技術
  • ぐるなび紹介
  • Revisit: Groove X
  • Node.jsの最新動向
  • freee紹介

今回は、前回よりも転職しました(します)という報告する人が多く、時代の流れを感じました。技術セッションの内容は説明しませんが、Node.jsの古川陽介さんは、スライドを公開しています(こちらです)。

技術セッション後に、そのまま会場で懇親会を開催しました。

IMG_0340.JPG

IMG_0341.JPG

最後に全員で写真を撮って、懇親会は終了しました。二次会は、そのまま同じ場所で開催し、freee社を後にしたのは21時30分頃でした。

IMG_0344.JPG

IMG_0346.JPG

来年の第6回では、新たなGo研修の修了生を迎えての開催となります。


スポンサーリンク





コメント(0) 

マルチスレッドプログラミングにおける重要な4要件 [プログラマー現役続行]

JaSST Tokyo 2018の招待講演で話した資料(こちら)に書いてあることですが、今までの人生で私自身は、デジタル複合機コントローラソフトウェア開発を4回もアーキテクチャを変えて行いました。デジタル複合機の難しさは、ハードウェアからの非同期なさまざまなイベントとユーザからの様々なイベントを両方を上手く処理しなければならず、かなり複雑なソフトウェアとなります。

ソフトウェアエンジニアとして合計すると10年以上をデジタル複合機コントローラソフトウェアの開発に従事し、マルチスレッドプログラミングを行ったことになります。公開資料に詳細情報は含まれていませんが、資料にある「Take 3」と「Take 4」は、デジタル複合機コントローラソフトウェアを完全にテスト駆動開発で行うというものでした。

4回ともマルチスレッドプログラミング(厳密には、Take 4はマルチゴルーチン(goroutine)プログラミング)を行った経験から言えるのは、次の4要件です(JaSSTの公開資料に含まれています)(書かれていませんが、テスト設計も非常に重要です)。

20180308 JaSST2018Tokyo(V4).001.jpeg

この4項目がきちんと行われいるソフトウェア開発はかなり少ないと思います。最初の項目のハードルが非常に高いからです(二つ目も、かなりハードルが高いですが)。つまり、以下のことができません。
マルチコアおよびマルチスレッドプログラミングのきちんとした経験および知識を持つ人が設計やコードをレビューしていること
ある程度(手作業であっても)動作が確認されたプログラムでも、ソースコードを見ると間違っていることがあります。マルチスレッドプログラミングが厄介なのは、その間違いが原因で不具合が現象として現れる可能性が非常に低い場合があることです。

上記の項目3に書かれているように膨大な長時間ランニングテストを数十台のPCで行っていたにもかかわらず、微妙な間違いが入ってから、3か月後に1台のPCだけでその間違いが原因で止まることを経験したことがあります。朝出社したら私のPCでテストが止まっていたので、数時間かけて若手と二人でデバッグしてその間違いに気付きました。しかし、その間違いはソースコードレビューだけではおそらく気付かないようなものでした。そして、その間違いの修正が入ったのがいつかを調べたら3か月前だったのです。



スポンサーリンク





コメント(0) 

技術書の間違いに気付いたら [プログラマー現役続行]

「ぐるなび」社内の勉強会で『ベタープログラマ』を読んでおられて、今までに多くの間違いを指摘していただきました。


出版までに間違いをできるだけ少なくするように出版社も含めて努力をしていますが、どうしても誤字脱字だけでなく、技術的間違いを見落とすことがあります。

「ソフトウェアエンジニアの心得」と題した講演や教育では、「技術書には間違いがあると思って読んでください」と話しています。そして、技術的間違いだと思ったら、出版社や著者に問い合わせてくださいとも話しています。技術的間違いに関しては、大きく分けて次の二つに分類されます。
  • 確かに技術的に間違っている
  • 読者の知識不足あるいは勘違いにより間違いではない
どちらであっても、問い合わせて損することはありません。技術的に間違っていたら、著者や出版社から感謝されますし、著者によっては正誤表に名前を掲載して、感謝してくれます。正誤表に名前を掲載してくれる例としては、『The Go Programming Language』の正誤表(こちら)があります。まれですが、増刷ごとに本の中の謝辞に追加してくれる場合もあります。『Elements of Programming』は増刷ごとに謝辞が追加されています(正誤表はこちらです)。一方、指摘事項が実は間違いではなく、読者の知識不足や勘違いの場合、なぜ間違いではないかという回答をもらえば、自分自身の知識を修正することができます。

ただ、残念ながら間違いに気付いても連絡する人はそれほど多くはないようです。問い合わせ先を調べないといけないし、特に誤字脱字だと「まあ、いいか」となりがちです。結果、私の翻訳本に関しては、間違いの指摘をしてくれる人達の多くが、私の知り合いです。知り合いではない読者からの問い合わせや連絡は、非常に少ないです。

少し面倒かもしれませんが、技術書を読まれて間違いや誤字脱字に気付かれたときは、出版社、著者、翻訳者へ連絡していただければと思います。


スポンサーリンク





コメント(0) 

第7期Go言語研修を開講します [golang]

7月13日(金)から私にとっては通算第7期になるGo言語研修を、現在開講中の第6期と同じ企業様向けに開講します(「Go言語研修実績」)。第6期は少しゆっくりと行うコースなのですが、第7期は普通の6か月コースです。第7期は、2018年度入社の新卒新人を中心に15名の受講生で開講します。

テキストは、従来通りの『プログラミング言語Go』です。

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

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

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


コメント(0) 

株式会社メルペイで働きます [転職]

一か月前に「ソラミツ株式会社を退職します」を書きました。その時点では6月からの勤務先は未定でしたが、6月1日から株式会社メルペイで「ソフトウェアエンジニア(Backend)」として働くことになりました。

通勤

勤務場所は六本木ヒルズです。今までよりも乗り換えが1回増えるために、通勤時間はおそらく片道で15分ぐらい長くなるのではないかと思います(往復で3時間を超える?)。朝は今まで通り、自宅の最寄り駅の始発(初電)に乗車して、各駅停車で行く予定です(「通勤電車の書斎化」)。フレックス勤務でコアタイムは12:00〜16:00なので、今までのように出社前にスターバックスに寄って翻訳などの作業をせずに、そのまま出社して早めに帰宅するつもりです。

7社目

1984年4月に富士ゼロックスに就職した頃には全く想像もしていませんでしたが、これで7社目となります。
  • 富士ゼロックス
  • 日本オラクル
  • ジャストシステム
  • 富士ゼロックス情報システム
  • リコー
  • ソラミツ
  • メルペイ

定年まで 18か月 6年半

日本企業なので就業規則には定年があり60歳です。私は1959年11月生まれなので、18か月勤務すれば定年となります。
定年は65歳に改訂されていたので、6年半で定年です。

個人としての活動

リコーを退職したのを機に、ソラミツ社勤務時代に始めた個人として活動(金曜日に行う、企業への技術教育、講演、コンサルティング等)は、今後も引き続き行っていきます。

コメント(0) 

ソラミツ株式会社を退職します [転職]

2017年8月末に株式会社リコーを退職し、9月よりソラミツ株式会社に勤務してきましたが、2018年5月31日をもって退職します。ちょうど9か月勤務したことになります。退職理由については述べませんが、ちょっと変則的な働き方をしてきたので紹介します。

週4日勤務

ソラミツでは週4日勤務の契約で正社員として働いてきました。2000年の頃から執筆や翻訳などの副業は行ってきましたが、あくまでも週5日勤務しながら私的な時間に行ってきました。リコーを退職したのを機に、個人で技術教育・コンサルティング・講演などの副業を行うことを想定して、週4日勤務で週休3日(金、土、日)で雇用契約を結んで働いてきました。個人の活動とはいえ相手先は一般企業であり、週末とはいきませんので、金曜日を当てています。

金曜日はすべて予定が埋まっているわけではありませんが、ある程度は個人で活動できています(「Go言語研修実績」「講演予定・実績」)

部分的な在宅勤務

基本的な勤務時間は9:00〜18:00だったのですが、ソラミツの会津支社で一緒に開発している会津大学の学生と夕方の時間を合わせるという理由と、通勤で楽をしたい(座って帰る)という理由で、16:00に退社して18:00〜20:00まで自宅で作業するようにしてきました。朝は、電車を「書斎化」するために自宅の最寄り駅で始発(初電)(5時54分)に乗車して会社の最寄り駅まで行って、出社前にスターバックスで翻訳作業をして出社するパターンでした。

体調不良とか午前中の通院のために午後は自宅で開発業務を行うということも(公式ではないですが)できました。

会津出張

会津支社へは4回出張し、合計4週間弱でしたが、ソラミツで働いている(アルバイト)している会津大学の学生達と一緒に、会津若松市サテライトオフィスや会津支社で開発も行いました。

今後の予定

6月から働く次の会社は未定ですが、引き続き週4日勤務を続けられる会社を探す予定です。

コメント(0) 

第5期Go研修が終了しました [golang]

リコーを退職後に、個人の活動として始めたリクルートテクノロジーズ社向けのGo研修(2017年11月〜2018年4月)が終了しました。私にとっては通算第5期となります。第5期は8名が修了し、第1期から合計で35名が修了したことになります。

第5期.png
修了生と私

リクルートテクノロジーズ社向けには、現在第6期を開催中であり、7月からは第7期(通常の半年コース)を予定しています。

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

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

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

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

今日が最終回でしたので、その簡単な振り返りの発表をしてもらいました。その中からの抜粋です。
  • プログラミング言語をしっかり学ぶということはどういうことなのかを学べた
  • 業務や1人で本を読むだけでは学べなかったであろう知識を得ることができた
  • とにかくコードを書いた6ヶ月だった
  • 楽しかった!知らないことがいっぱいあってそれを知ることができる機会があるのは最高!
  • 基礎から学ぶことで抜けていたことを知ることができた
  • Golangへの理解が深まった
  • goに限らず低レイヤーのことを学べた
  • goに関係ないアカデミックなことも学べた
研修では、スレッドとゴルーチンの違いや、スタックが伸長することのメリット、一般的なマルチスレッドプログラミングの難しさなど、Go言語と直接関係ない基礎的な事柄も必要に応じて説明しました。時間が余れば、『Java Puzzlers』をやったり、私のJaSST Tokyo 2018での講演内容を話したりしました。

修了証書はありませんが、テキストにサインして修了証書の代わりとしました。

コメント(0) 

第5回Java・Go研修OB・OG懇親会を開催します [研修OB・OG懇親会]

昨年に引き続き、Java・Go研修OB・OG懇親会を開催します。過去の4回の開催記事は以下の通りです。
第5回からは、参加資格はJava研修およびGo研修の修了生です。

【開催日】 
  6月30日(土)

【場所】
  freee株式会社

【時間】
  • 第1部 14:30〜17:00 技術セッション
  • 第2部 17:00〜19:30 懇親会
【参加資格】
技術セッションでは修了生からの5つの発表を予定しています。また、懇親会ではLTも予定しています。

懇親会は、同じ場所で引き続き開催します。

参加を希望される修了生は、私宛にメールで問い合わせください。登録サイトの情報および詳しい案内を送ります。

コメント(0) 

第25期Java研修の補講を行います [プログラミング言語Java教育]

第25期Java研修は2017年9月に終了したのですが、『Effective Java』をやることなく終了しました(第25期Java研修についてはこちらです)。過去、第10期も『Effective Java』をやることなく終了しています。

私としては、『Effective Java』まではきちんと学んでもらいたいと思っています。『Effective Java』をきちんと理解して学ぶために、Java研修では『プログラミング言語 Java 第4版』『Java SE 8 実践プログラミング』を学んでもらった訳です。『Effective Java』をきちんと理解するには、かなりの知識が必要なので、その前提知識を学んでもらったところで研修が終了となってしまいました。

そこで、第25期に関しては、補講として第25期の修了生限定で『Effective Java』を開催することにしました。4月から月に1日のペースで無償で開催します(たぶん、4回か5回で終わると思っています)。

テキストは、『Effective Java 第3版』です。

Effective Java

Effective Java

  • 出版社/メーカー: Addison-Wesley Professional
  • 発売日: 2017/12/18
  • メディア: Kindle版

上記の英語版で行うのではなく、翻訳原稿で行います。

コメント(0) 

第6期Go言語研修を開講します [golang]

今日(2月16日)から、私にとっては通算第6期になるGo言語研修を、現在開講中の第5期と同じ企業様向けに開講します。第5期までとは異なり、第6期は少しゆっくりと行うコースです。

通常のコースは、月に1日で6回(6か月)実施して終了するコースです。第6期は、現場の若手のエンジニア向けではなく、マネージャ向けのコースです(若手のエンジニアも含まれています)。そのため、終日の研修を避けて、3時間だけの研修を12回(12か月)実施して終了する予定のコースです。

テキストは、従来通りの『プログラミング言語Go』です。

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

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

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

今回は初めての試みなので、一回あたりの予習範囲が基本的に一章単位になります。章ごとに練習問題の量と難易度がかなり異なるため、12回でうまくいくかはやってみないと分かりません。

初日の今日は、同じ企業で「『ベタープログラマ』輪読会」が夕方開催されるということで、それにも参加します。

ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック

ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック

  • 作者: Pete Goodliffe
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2017/12/15
  • メディア: 単行本(ソフトカバー)



コメント(0) 
前の10件 | -