成長の場を求めないソフトウェアエンジニア?
「ソフトウェア開発組織が持つべきカルチャー」と題して、過去に以下の記事を書いています。
これらの基準は、厳しすぎると言われることがあります。基準を下げないとエンジニアが集まらないとも言われたりします。そもそも、要求されるレベルが高い、あるいは、厳しく指導されるということを、ソフトウェアエンジニアとして希望しないというのはどういうことでしょうか。
ソフトウェア開発で一人前になるには10年以上を要します。会社でのソフトウェア開発では、何も学ぶこともなくスキルも向上しない開発よりは、自分自身が成長する場となっている開発ががよいわけです。
しかし、現実には、「ソフトウェアエンジニアの成長カーブ(再掲載)」で述べている継続的学習をする習慣を失った人が多いのか、「ソフトウェア開発が好きでないサラリーマンエンジニア」が多いのだと思います。
そのため、中堅と呼ばれる年代のエンジニアにとっては、今までの自分のスキルでこなせるソフトウェア開発に従事していた方が楽であるのかもしれません。あるいは、今さら、高いレベルが要求されるソフトウェア開発に従事するために勉強したりする気にはなれないのかもしれません。
スポンサーリンク
また、「コードレビューの視点」として、以下の記事を書いていいます。
- 継続した学習習慣
- コンピュータの基礎を教える
- 共に学ぶ
- マネージャが勉強会を主催する
- プロセス中心ではなく、スキル中心
- スキル向上に真剣に長期的に取り組む
- カンファレンスへ積極的に参加させる
- コードをレビューする
- Source Code Controlへ最低でも毎日コミットする
- ビッグバン・インテグレーションを避ける
- テストを自動化する
- ソースコードを調べる
- 自分で書いたコードを自分で見直す
- 知識教育だけではなく、良い行動パターンを促進する
当然のことながら、これらの記事に書いている内容や、ブログに書いている記事は、ソフトウェアエンジニアリングに対する私の基準を反映しているわけです。もちろん、1984年に社会人になった時から、これらの基準を持っていたわけではありません。長年のソフトウェア開発経験を通して得られたものです。
- Copyrightを書く
- 必要なエラー情報を付加する
- マルチスレッドプログラミングに注意する
- 言語仕様を確認する
- 独り言コメントは書かない
- 説明とコードが違っていないか注意する
- 知識の伝達の場
- エンジニアのレベルが分かる
- 修正後も自分で見直す
- コメントアウトされたコードは削除する
- 英語の綴りには注意する
- 言語固有の命名規約に従う
これらの基準は、厳しすぎると言われることがあります。基準を下げないとエンジニアが集まらないとも言われたりします。そもそも、要求されるレベルが高い、あるいは、厳しく指導されるということを、ソフトウェアエンジニアとして希望しないというのはどういうことでしょうか。
ソフトウェア開発で一人前になるには10年以上を要します。会社でのソフトウェア開発では、何も学ぶこともなくスキルも向上しない開発よりは、自分自身が成長する場となっている開発ががよいわけです。
しかし、現実には、「ソフトウェアエンジニアの成長カーブ(再掲載)」で述べている継続的学習をする習慣を失った人が多いのか、「ソフトウェア開発が好きでないサラリーマンエンジニア」が多いのだと思います。
そのため、中堅と呼ばれる年代のエンジニアにとっては、今までの自分のスキルでこなせるソフトウェア開発に従事していた方が楽であるのかもしれません。あるいは、今さら、高いレベルが要求されるソフトウェア開発に従事するために勉強したりする気にはなれないのかもしれません。
スポンサーリンク
この記事へのコメント
ありがとうございます。