SSブログ

考えないエンジニア(2) [プログラマー現役続行]

まずは、昨年の夏に書いた「考えないエンジニア」を読んでください。

考えないソフトウェアエンジニアは、当たり前ですが、若手のソフトウェアエンジニアを「考えるエンジニア」へと指導・育成することはできません。つまり、きちんとしたデバッグ方法(「デバッグの科学的手法」「検死デバッグ」)を自分が行わない訳ですから、当然指導もできない訳です。

論理的にデバッグができないソフトウェアエンジニアは、何年経過しても、成長しない訳ですから、本人がいくら「経験がXX年あります」とか「YYの経験があります」とか主張しても、実際のデバッグを観察すると、論理的に考えるスキルが低いのが分かってしまいます。

論理的にデバッグができない、論理的なデバッグが指導できないというのは、ソフトウェアエンジニアとしてはかなり重要なスキルが欠如していると言えます。

幸い、論理的にデバッグすることは、日々の開発を通して訓練できます。今まで指導されなかったとか、今までそのようにデバッグしてこなかったという言い訳をしても訓練にはなりません。誰かに指導されるのを待っていれば良いというものでもありません。普段からかなり意識して「自分で」訓練するようにする必要があります。

論理的にデバッグができなければ、いつまでも「初級職人」の域を出ないことになります。

第1回Jolt Awards読書会 再募集 [Jolt Awards読書会]

大雪で中止となった「第1回Jolt Awards読書会」を再募集します。参加申し込みはこちらです。

第2回Java研修OB・OG懇親会を開催します [プログラミング言語Java教育]

2013年8月13日に第1回を開催しました。第2回を予定通り4月5日(土)に開催します。詳細な案内は、Facebookの「Java 研修OB・OG」グループに幹事から投稿されています。Facebookのグループへ参加していない人は、直接私へ連絡をください。

オブジェクト指向プログラミング言語 [プログラマー現役続行]

大学ではFortran、PL/I、Z80アセンブリ言語などでプログラミングして、社会人となってからC言語で開発し、Mesaも2年ほどやりました。しかし、いわゆるオブジェクト指向プログラミング言語として初めて使用するようになったのはC++であり、それは、1993年でした。

実は、仕事としてのソフトウェア開発で私が書いたコードが圧倒的に多いのは、C++です。それも、単なるC++ではなく、マルチスレッドプログラミングを長年やっていました。2008年末ぐらいまで書いていました。Javaを独学し始めたのは、1996年です。残念ながらJavaでプログラミングする仕事に従事したことがある期間は非常に短いです。そうは言っても、Javaで学んだことは、そのままそっくりC++で応用していました。今は、小規模ながらGoで開発している開発グループ(採用情報)をリーディングしています。

今の若い人達は、プログラミング言語の選択肢が非常に多い時代となっていますし、最初からオブジェクト指向プログラミング言語を学んだりします。しかし、(私の周りだけなのかもしれませんが)その若手をきちんと指導できる中堅のソフトウェアエンジニアが非常に少ない気がします。

特に給与面では、管理職扱いなために若い人達より高給にもかかわらず、「オブジェクト指向は経験ないので、業務で指導してもらう」という認識程度でプライベートでは勉強もしない50歳前後のソフトウェアエンジニアいたりするのには正直驚きます。

1996年のJava言語の登場は、言語処理系が無料で配布されるという意味で、それ以前と比べて衝撃でした。つまり、それ以降は、様々なソフトウェアが無料で提供され始め、自分で学ぶ意志があれば、何でも学べる時代になったのです。そして、仮に仕事ではC言語しか使用していなくても、「オブジェクト指向」は学んだことがありませんと言える時代ではなくなっています。