NSEG勉強会の講演「ソフトウェアエンジニアの心得」を聴講して

第44回勉強会 – 長野ソフトウェア技術者グループ NSEG」に参加しました。柴田芳樹氏の講演で「ソフトウェアエンジニアの心得」と「プログラミング言語 Java 教育」というタイトルでした。柴田先生のブログは「柴田 芳樹 (Yoshiki Shibata):So-netブログ」にあります。

この記事では、柴田先生の講演内容を聞いて自分が考えた事について記述してみます。

柴田芳樹氏が翻訳した下記の2冊には大変お世話になっていて、何か困った事があったり、知りたい事があったりすると、参考にさせてもらっています。大変良い本なのですが、ピアソン・エデュケーションの書籍は絶版となってしまったそうです。現在は入手困難な状況になってしまったそうで、非常に残念です。

とはいえ、原本は入手可能ですから、こちらを手に入れて頑張るというのも一つの方法でしょう。英語を辞書を使わずに読めるようになるということも、これからのエンジニアには必要だという話もありました。一部の企業では社内は英語で統一されているところもありますから、日頃からもっと英語の文献と接する時間を増やした方が良さそうです。

講演の中では「ソフトウェアエンジニアの心得」として「一人前になるには10年」「クリエイティブなところだけが残ってくる」という話があり、常に意識をして学んでいく必要があることを改めて意識させられました。ツールが高機能になると単純作業はツールで可能となるため、IDEなどの使い方を学習しているかいないかもエンジニアにとっては大きな差となるという話もありました。自分も、EclipseやNetBeansなどがないと本格的な開発をする気がでませんが、そもそも本格的な開発現場からは離れているという話もあって、もっぱらvi, emacs, geditでサンプルプログラムをちゃちゃっと動かしてみることが多い今日この頃です。でも、たまにはきちんとIDEも使ってキーとなる機能は使い回せるようにしたいと思いました。

こういった良い本を翻訳されている方は、どうやって翻訳対象の書籍を見つけてきているのか疑問に思っていたのですが、Jolt Award本などのアメリカで評価の高い書籍というのをチェックされていたりするようで、そういうものを早目にキャッチされているようでした。もちろん、出版社からの依頼もあるそうです。

コミュニケーション力の話も出ていました。あったらあった方がいいのですが、このあたりはバランスの問題もありそうです。スーパーエンジニアとかは興味が実装に向いている事が多いので、なかなか自分以外と話をしたり、いろいろ調整をしたりしてシステムを開発していくというのは難しいことが多いのではないかと考えています。交渉は正直面倒なので、必要な情報を渡したり、環境を整備してあげたりすることが大切なのであって、ドキュメント力とかプレゼンテーション力とか、そういったものは、得意である必要はないのだろうと個人的には考えていたりします。ソースコードとそれを実行できる環境がありさえすれば、文句を言うお客というのは少ないというのも事実で、動かないソースコードに対しては文句が多くなって、ドキュメントやプレゼンが必要になってくるのですね。ドキュメントが充実しているかいないかはメンテナンス性にはあまり大きくは影響せず、わかりやすいソースコードかどうか、デザインパターンやアルゴリズムといった技術者間で共有できるものに従ってソースコードが書かれているかということの方が影響力が大きいものです。そういう意味では、ソースコードにそれがわかるような記述をできるかどうか、ソースコードがそうなっていることを他の人が見てわかるかどうか、それを理解する人がエンジニアを評価しているか、といったところがポイントになります。

ということで、良いコードを書けるようになりたい人におすすめの一冊として下記があります。

ちなみに、コミュニケーション力が高くてエンジニアリング力も高い人もスーパーエンジニアなんですが、技術力がずば抜けて高いスーパーエンジニアはいるわけで、そういった人と組まないとビジネスとしては成功しないことが多いような気がしています。どちらも普通の人ではないので、どちらを目指したいかどうか、で自分はどうするかを決めれば良いのでしょう。コミュニケーション力を高めようとすると社内政治に時間を費やすようになってしまってエンジニアリング力を成長させる時間が減るというのが怖いですよね。エンジニアリング力を高めていれば、社会一般の中で通用する力になることが多いような気もしますから、そちらを選ぶ人の方が多いような気がします。とはいえ、GitHubやOSSの普及によりエンジニアにも高いプレゼン力があった方が評価されやすいという世界になってきていますから、これからのエンジニアのイメージは変わっていくかもしれないとも思いました。

他にも色々と学んだ事が多くありました。懇親会で教えてもらったのですが、柴田先生は翻訳は毎日少しずつ進めるスタイルでやっているそうです。また、講演にあったJavaの勉強会の内容も考え合わせると、ある期間に集中してやる方法ではなく、ある程度長い期間を使って少しずつ進めるという方法を採用して、継続できる力というのも養えるようにしていらっしゃいました。自分も毎日新しいことを学ぶ時間を取りたいと思ってはいますが、なかなか実践できない事が多く、年齢を重ねる度にできることが減っています。少し毎日の生活について見直しをして、これからも充実した毎日を送る事ができるようにしたいと思いました。

最後にこの場を借りて、柴田先生、及び運営を担当してくださったNSEGスタッフの皆さんに感謝の意を表したいと思います。ありがとうございました。

同じタグの記事: Java
同じタグの記事: NSEG
同じカテゴリの記事: Java
関連書籍: Java