書籍『The Developer's Code』 [プログラマー現役続行]
電子版をhttp://pragprog.comで購入して、Kindle Touchで読み始めたばかりですが、マーカーをたくさん引きそうな内容の本です。第1章「Metaphor」では、ソフトウェア開発を説明するのによく他の業界との比喩が使われることがありますが、それらの比喩がいかにソフトウェア業界に悪影響を与えているかという考察が述べられています。
目次は、こちらに掲載されています。また、一部の内容も見られるようになっています。
http://pragprog.com/book/kcdc/the-developer-s-code
Great programming is about maximizing the time you’re working at your best, not the cumulative hours you spend in front of a screen.
Ka Wai Cheung, The Developer's Code
余談ですが、http://pragprog.comで電子版を購入したら、自分が持っているKindleへAmazon経由で直接送付するという設定ができます。PCにダウンロードして自分でKindleへコピーするという手間がなくて便利です。
新聞の用語辞典 [その他]
Kindle Touchがやってきた [その他]
注文したKindle Touchが届きました。初めてKindleを購入したのが一年半前です(「Kindleがやってきた」)。これで2台目のKindleとなります。
Kindle Touch, Wi-Fi, 6" E Ink Display - for international shipment


今までのKeyboardタイプのKindleよりは、キー入力も操作しやすいです。
Time誌を試しに購読してみることにしました。


通勤電車の中で、カバーストーリを読んでみて、従来のKindleより良い点は、辞書を引くときに、意味を知りたい単語をちょっと長めにタップし続けるとポップアップで意味が表示される点です。
http://www.east-village.jp/KINDLE/touch/
Kindle Touch, Wi-Fi, 6" E Ink Display - for international shipment
今までのKeyboardタイプのKindleよりは、キー入力も操作しやすいです。
Time誌を試しに購読してみることにしました。
通勤電車の中で、カバーストーリを読んでみて、従来のKindleより良い点は、辞書を引くときに、意味を知りたい単語をちょっと長めにタップし続けるとポップアップで意味が表示される点です。
- Keyboardタイプと異なり、単語の選択が指で押すだけなので簡単です。
- 意味がポップアップで表示されるので、Keyboardタイプと異なり、ある程度きちんと表示されます。
http://www.east-village.jp/KINDLE/touch/
Kindle Touch [その他]
今朝Amazon.comをチェックしてみたら、Kindle Touchが購入できるようになっていましたので、注文しました。
Kindle Touch, Wi-Fi, 6" E Ink Display - for international shipment
Kindle Touch, Wi-Fi, 6" E Ink Display - for international shipment
書籍『Clean Coder プロフェッショナルプログラマへの道』 [プログラマー現役続行]
知識への投資 [プログラマー現役続行]
この書籍の18番目にベンジャミン・フランクリンの次の言葉が挙げられています。
知識への投資は、常に最高の利息がついてくる。これは、「ソフトウェアエンジニアの心得」の教育や講演で紹介している言葉です。そして、本書では著者の次の言葉掲載されています。政治家/ベンジャミン・フランクリン
典型的な一日を思い浮かべてみて。英語に関して言えば、やはり、どこかでコツコツ続けて、今まで歩いていた高原より、さらに高い高原を歩いていることに気付く日が来るのかもしれません。
その君の一日の中で、勉強にあてられている時間は、どれくらいある?
たとえば、典型的な一日の中に、英語の勉強が入っていない人は、
一生、英語をモノにできないんだよ。
毎日、少しずつなにかを進めることができるスキルほど、
重要なことはないよ。
英語ができる人が評価されるのは、
それが、コツコツやるっていうスキルの証明だからだよ。酒井 穣、『君を成長させる言葉』(p.49)
技術者として、業務に関連しないけど興味がある技術を自分の時間を使って学ぶことは、決して無駄になることはありません。そこで学んだことがどこかで役立つ日が来ます。
土曜日の勉強会 [プログラマー現役続行]
技術の勉強会としては、普段は平日の早朝に毎週行っているのが中心なのですが、土曜日に勉強会を開催したり、参加したりしています。
毎月土曜日に月1回、朝9時から5時まで開催したことがあるのが、『Understand Linux Kernel』を英語で読む勉強会でした。これは、途中で翻訳が出版されたので、日本語版を持ってくるのもOKということで続けて、結局読み終えるまでに3年を要しました。
第13期「プログラミング言語Java」コースは、私にとっては勉強会ではありませんが、土曜日に開催しました。
2010年8月か9月から月1回、午後だけなのが、プログラミング言語Goの勉強会です。プログラミング言語Goは、正式バージョンであるVersion 1がもうすぐリリースされる言語です。こちらの勉強会は特にテーマを決めていないため、毎回アドホックな内容となっています。参加者は、私を除けば、社内の若手エンジニアです。
今日では、技術者のコミュニティを中心としたオープンな様々な勉強会が開催されており、参加されている人も多いのではないでしょうか。
毎月土曜日に月1回、朝9時から5時まで開催したことがあるのが、『Understand Linux Kernel』を英語で読む勉強会でした。これは、途中で翻訳が出版されたので、日本語版を持ってくるのもOKということで続けて、結局読み終えるまでに3年を要しました。
第13期「プログラミング言語Java」コースは、私にとっては勉強会ではありませんが、土曜日に開催しました。
2010年8月か9月から月1回、午後だけなのが、プログラミング言語Goの勉強会です。プログラミング言語Goは、正式バージョンであるVersion 1がもうすぐリリースされる言語です。こちらの勉強会は特にテーマを決めていないため、毎回アドホックな内容となっています。参加者は、私を除けば、社内の若手エンジニアです。
今日では、技術者のコミュニティを中心としたオープンな様々な勉強会が開催されており、参加されている人も多いのではないでしょうか。
レビューのアウトプットは、レビューアのレベルを超えない(まとめ) [プログラマー現役続行]
コードレビューに関する記事「レビューのアウトプットは、レビューアのレベルを超えない」をまとめてみました。
- レビューのアウトプットは、レビューアのレベルを超えない
- レビューのアウトプットは、レビューアのレベルを超えない(2)
- レビューのアウトプットは、レビューアのレベルを超えない(3)
- レビューのアウトプットは、レビューアのレベルを超えない(4)
- レビューのアウトプットは、レビューアのレベルを超えない(5)
コードを理解せずにコピーしない [プログラマー現役続行]
コードレビューをしていると、ちょっとおかしな実装に対して、どうしてそのような実装になっているのですかと聞くと、「参考にした既存コードがそうなっていました」と回答する人がいたりします。それで、よく調べてみると実装が間違っていたり、運良く動作しているだけだったりすることがあります。
このように、処理内容を理解することなく既存コードをコピーする人は、スキルレベルが低い人が多いです。「ソフトウェア・スキル・インデックス」で言えば、レベル2(見習い)でしょうか。
書籍に掲載するサンプルコードの場合には、誌面の都合もあり、エラー処理などを考慮すると必ずしも適切なコードになっていないことがあります。ライブラリーやSDKなどの参考使用例として、Javadocでクラスの使用例を書いたり、あるいは、サンプルコードを添付するような場合には、それらのコードがコピーされることを念頭に置いておく必要があります。「サンプル」だからということで手抜きの悪いコードを書くのではなく、むしろ「模範コード例」というぐらいの意識を持って書く必要があります。
残念ながらスキルレベルが低い人が多いソフトウェア開発組織では、良いコードも悪いコードもコピーされてしまいます。良いコードならまだしも、悪いコードが蔓延してしまうと技術的負債が蓄積されていくことになります。
(「ソースコードに技術者のレベルが現れる」)
このように、処理内容を理解することなく既存コードをコピーする人は、スキルレベルが低い人が多いです。「ソフトウェア・スキル・インデックス」で言えば、レベル2(見習い)でしょうか。
書籍に掲載するサンプルコードの場合には、誌面の都合もあり、エラー処理などを考慮すると必ずしも適切なコードになっていないことがあります。ライブラリーやSDKなどの参考使用例として、Javadocでクラスの使用例を書いたり、あるいは、サンプルコードを添付するような場合には、それらのコードがコピーされることを念頭に置いておく必要があります。「サンプル」だからということで手抜きの悪いコードを書くのではなく、むしろ「模範コード例」というぐらいの意識を持って書く必要があります。
残念ながらスキルレベルが低い人が多いソフトウェア開発組織では、良いコードも悪いコードもコピーされてしまいます。良いコードならまだしも、悪いコードが蔓延してしまうと技術的負債が蓄積されていくことになります。
(「ソースコードに技術者のレベルが現れる」)
英語とTOEIC [英語]
会社で2年以内のTOEICの成績を登録する必要があったので、4年半振り(「TOEICを受験」「TOEICの結果」)にTOEICを受験しました。
初めてTOEICを受験したのは、1984年に社会人になった頃なので24歳か25歳の時なのですが、その時の得点は合計が600点だったことだけを覚えています。その4年後の1988年には700点台だったことしか覚えていません。それ以降は2003年からしか手元にスコアーが残っていませんので、いつ初めて800点台、900点台を取ったのかは覚えていません。
当たり前ですが、TOEICを受験したからと英語力が伸びるのではありません。普段の継続した英語への取り組みの結果として能力が伸びるのであって、その伸びをある程度客観的に知るためにTOEICを受ける訳です。私自身は、TOEICを受験するからとTOEIC対策本を勉強するなどは行ったことがありません。
言い換えると、組織のメンバーの英語力を向上させるためにTOEIC受験を必須としても英語力が伸びることはありません。前職では自分の部門のメンバーには半年に1回社内TOEICを必ず受験させて、英語力の伸びを見ていたのですが、普段ほとんど努力していない人は、やはり伸びていきません。
私自身は、1999年頃から英語の技術書を使用した勉強会をずっと開催しています。前職では部門長として強制的に新卒新人は参加させることも行ってきました。そのような勉強会で英語力が伸びる人もいますが、どちらかと言えば、「技術書を英語で読むことに躊躇しない」程度の効果しかなかったりします。
個人としては、技術書やペーパバックを英語で読んだり、聞き取れなくても多くの英語を聴いたりなどの活動を継続的に行う必要があります。組織としては個人のそのような活動を促進あるいは強制する施策を行わなければ、TOEIC点数の保持率を100%にしても、メンバーの英語力が伸びることはありません。
初めてTOEICを受験したのは、1984年に社会人になった頃なので24歳か25歳の時なのですが、その時の得点は合計が600点だったことだけを覚えています。その4年後の1988年には700点台だったことしか覚えていません。それ以降は2003年からしか手元にスコアーが残っていませんので、いつ初めて800点台、900点台を取ったのかは覚えていません。
| 受験日 | Listening | Reading | Total |
| 2003/05/25 | 490 | 475 | 965 |
| 2003/07/27 | 495 | 440 | 935 |
| 2003/10/26 | 455 | 450 | 905 |
| 2004/03/28 | 495 | 460 | 955 |
| 2007/09/30 | 465 | 450 | 915 |
| 2012/01/17 | 455 | 470 | 925 |
当たり前ですが、TOEICを受験したからと英語力が伸びるのではありません。普段の継続した英語への取り組みの結果として能力が伸びるのであって、その伸びをある程度客観的に知るためにTOEICを受ける訳です。私自身は、TOEICを受験するからとTOEIC対策本を勉強するなどは行ったことがありません。
言い換えると、組織のメンバーの英語力を向上させるためにTOEIC受験を必須としても英語力が伸びることはありません。前職では自分の部門のメンバーには半年に1回社内TOEICを必ず受験させて、英語力の伸びを見ていたのですが、普段ほとんど努力していない人は、やはり伸びていきません。
私自身は、1999年頃から英語の技術書を使用した勉強会をずっと開催しています。前職では部門長として強制的に新卒新人は参加させることも行ってきました。そのような勉強会で英語力が伸びる人もいますが、どちらかと言えば、「技術書を英語で読むことに躊躇しない」程度の効果しかなかったりします。
個人としては、技術書やペーパバックを英語で読んだり、聞き取れなくても多くの英語を聴いたりなどの活動を継続的に行う必要があります。組織としては個人のそのような活動を促進あるいは強制する施策を行わなければ、TOEIC点数の保持率を100%にしても、メンバーの英語力が伸びることはありません。

























