SSブログ

年数だけではないですが [プログラマー現役続行]

大学1年生(1978年)の時に、FORTRANでプログラミングを学んでからすでに35年が過ぎました。大学では色々な言語をちょっとずつ使用しましたが、4年生と修了の2年の合計3年間は、Z80アセンブリ言語でプログラミングしていました。

就職してからC言語でプログラミングするようになり、1993年頃までの約8年間ぐらいまで主に使用していました。途中、2年弱、Mesa言語でもプログラミングしていました。C言語で書き始めた頃はかなりひどいコードを書いていたと思います。1992年前後から抽象データ型を意識して、実装の隠蔽を行っていました。
※ 「Mesa言語」を参照してください。

1993年中から1996年中までは、C++でプログラミングしていたのですが、まだこの頃は、オブジェクト指向と言えば継承と言う時代で、継承ベースで設計していました。ただ、この時に、マルチスレッドプログラミングをかなりやりました。メモリーリークやメモリー破壊を検出するためにC++のnew演算子とdelete演算子を自分で作成したものと置き換えることもこの時に行いました。一方で、1996年夏から趣味としてJavaを学びプライベートプロジェクトでプログラミングしていました。

2000年からC++を用いたFuji Xerox社のデジタル複合機(MFP)開発のために、それまでに趣味で学んだJavaから得た設計知識を総動員して、C++でしたが、「インターフェース」に基づくメモリ管理を含むスレッドやコレクションのライブラリを整備しました。そして、2003年から2008年までは自分でもかなり(マルチスレッド)プログラミングをしていました。

ソフトウェアエンジニアのレベルを知るには、経験年数は当てになりません。プログラミング経験も長いから良いというものではなく、スキル向上を続けて、様々な知識を習得して実践してきたかが重要です。しかし、大学(あるいは大学院)を卒業し、22歳あるいは24歳で就職して、それから実質的にプログラミングを学んで開発業務を行い、30代の初めでプログラミングをしなくなって、開発組織の管理をするようになるのは、どう考えてもソフトウェア開発経験が少なすぎると思います。