コンピュータサイエンスを学ぶ理由を述べよ
新しいサービスなので、何か書いてみようと思った。
10年ぐらいソフトウェアエンジニアやってます。そろそろ中堅ぐらいですかね。
我々、ソフトウェアエンジニアは、大きく言えば2種類存在していると言えます。
※ソフトウェアを書く人の話です。ソフトウェアを書かない人は関係がないです。
2種類のどちらも優秀なソフトウェアエンジニアで、そのどちらも様々な会社が欲しがっている人材です。双方に魅力があり、OSS活動や産業界の技術貢献それぞれ素晴らしい結果を残している事が多いです。
A
. 新しい技術のキャッチアップを継続する貪欲なタイプ
とにかく、新しい技術(ツール)が出る度にそれをキャッチアップし、プライベートで学習を重ね現場で提案するなど、いわゆるイケてるエンジニアを目指しています。
このタイプの人たちは、業界でそれなりにモダンである技術スタックの会社、あるいはモダン技術のエヴァンジェリストがいる現場に居ることを好み、自分の技術ポートフォリオもモダンの形を保持し続けることが重要になっています。
実際、新しい技術を求める姿勢は素晴らしいし、継続することは非常に難しいことだと思います。
A'
. A
タイプだったが、落ち着いたタイプ
2種類とはいえ、A
の派生系として、A'
も存在する。両社は違うが出身が同じだと思います。
割とモダン技術で生きてきたが、例えば昨今のクラウドネイティブやフロントエンドの動きなどについて行けなくなったなど、年齢が上がることで趣味、結婚や出世、あるいは健康的な事情などプライベートな理由により時間的制約が出て、技術を追う時間がなくなってきたタイプ。
そうは言いつつも、彼らが今まで培ってきた技術ポートフォリオで会社に応募すれば大体の社長はオファーを出すだろうと思います。それぐらいに需要があります。
A
とは違い現状の技術ポートフォリオで戦うことを決めていますが、時間があれば少しはブラッシュアップを図ろうとしているので、A
と考え方は同様です。
B
. コンピュータサイエンスを十分に理解して仕事をするタイプ
このタイプは、技術ツールの精通にこだわらないです。
コンピュータサイエンスに重きをおいて仕事をします。
基本的に、学生の頃からすごい人が多いです。論文を書きまくっていたり、世の中への技術貢献だったり。
趣味が全部コンピュータサイエンスなのかな?というのが自分の想像です。
B'
. コンピュータサイエンスを何となく理解して仕事をするタイプ
このタイプはB
の派生形で、情報系出身だったりするのでなんとなくわかるため、コンピュータサイエンスに重きをおいて仕事をしたり、しなかったりします。
基本的に、他のエンジニアと話す時もコンピュータサイエンスを理解しているテーを出しています。とはいえ実際はよくわかってなかったりします。その場でググりながら思い出しながら何とか頑張ってやっています。B
タイプのように、学生の頃からRedHatに貢献してた的な確実に敵わない人を目の当たりにしてきたので日常的にネガティブな発言が多いです。
Discussion