『プログラマー現役続行』から12年 [プログラマー現役続行]
雑誌に執筆した記事をまとめて書籍にした『プログラマー現役続行』から12年が過ぎ(改訂版である『プログラマー”まだまだ”現役続行』からは9年)、60歳になりました。
この本で現役続行に必要な7つの力として、「論理思考力」、「読みやすいコードを書く力」、「継続学習力」、「コンピュータサイエンスの基礎」、「朝型力」、「コミュニケーション力」、「英語力」を説明しています。それらに関して、この12年間私自身がどうであったかを簡単に振り返ってみたいと思います。
ソフトウェア開発では、デバッグや問題調査は避けて通れないため、論理的に説明できなければ納得しないという態度は常に必要です。
現在も行っているGo言語研修やJava言語研修では、必ずと言ってよいぐらいハッシュテーブルを説明することが多いです。逆にきちんと説明できる受講生はほとんどいないです。
最近では、復習を兼ねて、『Introduction to Computing Systems: From Bits & Gates to C & Beyond』を読んでいますが、忘れていることも多いです。P型トランジスタとN型トランジスタから始まりますが、コンピュータがどのように構築されているかを知るにはお勧めの本です。
この本で現役続行に必要な7つの力として、「論理思考力」、「読みやすいコードを書く力」、「継続学習力」、「コンピュータサイエンスの基礎」、「朝型力」、「コミュニケーション力」、「英語力」を説明しています。それらに関して、この12年間私自身がどうであったかを簡単に振り返ってみたいと思います。
論理思考力
現在、メルペイでbackendのソフトウェアエンジニアとしてソフトウェア開発を行っていますが、何か問題が発生した場合に、仮説によって推定された原因から、発生している問題が論理的に説明できるかという問いは常に行っています。一方で、間違った仮説を立ててしまい、問題が説明できずに、さらなる調査にさらに時間を要してしまうこともあります。ソフトウェア開発では、デバッグや問題調査は避けて通れないため、論理的に説明できなければ納得しないという態度は常に必要です。
読みやすいコードを書く力
長年ソフトウェアを開発していても、他人が読んだときに読みやすいかと振り返りながらコードを書くのは簡単ではないです。自分ではよいと思っても、レビューで指摘されることもあり、まだまだなと思うことがあります。継続学習力
継続的に学習することに関しては、この12年間でさまざまな社内外の勉強会を開催したり、技術書を翻訳したり(この12年間で12冊)、技術書の英語の原著の草稿をレビューしたりとやってきました。ただ、それ以外の一人で学習するというのが少なかったと思います。現在は、私にとって18冊目となる技術書の翻訳(2020年春の出版予定)を通して、Java 10以降のJavaの概要を学んでいます。コンピュータサイエンスの基礎
この12年間では、リコーに勤務している頃に『Linux Kernel Development』の社内読書会をやったり、『プログラミング作法』の第1章「スタイル」と第2章「アルゴリズムとデータ構造」の指導を新卒新入社員に行ったりしました。現在も行っているGo言語研修やJava言語研修では、必ずと言ってよいぐらいハッシュテーブルを説明することが多いです。逆にきちんと説明できる受講生はほとんどいないです。
最近では、復習を兼ねて、『Introduction to Computing Systems: From Bits & Gates to C & Beyond』を読んでいますが、忘れていることも多いです。P型トランジスタとN型トランジスタから始まりますが、コンピュータがどのように構築されているかを知るにはお勧めの本です。
朝型力
早朝に何らかの活動を行うことは、ずっと続いています。特に、技術書の翻訳作業は基本は朝です。出社前のスターバックスだったり、通勤電車内だったりします。メルペイで働き始めてからは、出社前にスターバックスへ行くとことはなく、もっぱら通勤電車内で翻訳作業をしています。コミュニケーション力
相手に分かるように説明することに関して、自分自身が向上しているかについては、何とも言えないかなと思っています。ただ、Java言語研修やGo言語研修では、できるだけ受講生の理解レベルに合わせて質問に回答するように努めてはいますが、なかなか難しいです。英語力
英語に関しては、ほとんど進歩していないと思います(「英語とTOEIC」)。普段は、ポッドキャストでBBC、NBC、CBSといったニュースを聞いてはいますが、日本語のニュースを何かしながらながらで聞いていても理解できるように、何かしながらながらでも英語のニュースを聞いて理解できるレベルには到達しそうにないです。おそらく、多くの英語を速く読む努力が足りないのだと思います。話す方に関しても、普段英語で話す機会もこの12年間はほとんどないので、後退しているのではないかと思います。まとめ
何歳までソフトウェア開発を仕事として続けられるかは分かりませんが、スマフォ決済の始まりの時代にそのシステム開発に従事でき、一方でGo言語研修やJava言語研修を通して言語の知識だけでなく、私自身の経験を伝えていくことができるのは、幸運なのかもしれません。2019-11-29 07:10
コメント(0)