こんにちは。株式会社8bitの高本です。
GW中にやることがなかったので、エンジニアとしての自分の今後について考えてみました。
私自身エンジニアという肩書ではありませんが、社内ではプログラミングも仕様設計もやっているのでやっていることはエンジニアと変わりません。
20代のスタッフと働いていると、新しい技術をどんどん吸収しているのを見てすごいと思う反面、自分自身の作業スピードや技術の吸収力が落ちてきたようにも感じます。
(気持ちや根性では全然若い人には絶対負けないと思っていますが。。)
インターネットを解したサービスやアプリの技術は日進月歩で、どんどん新しいプラットホームが出て、バージョンアップされていきます。
そんな中、私と同年代の方はどう感じているのか分かりませんが、35歳以上になるとこのまま延々と開発している自分の姿が想像できなくなってきている人もいると思います。
最近感じることと、フリーランスではなく、企業の中でエンジニアとしてやっていくには今後どういう考え方をしたら良いのか自分の中でまとめてみました。
あくまで個人の考えですが、結構同じことを感じている人がいらっしゃるのではないでしょうか?
35歳になって感じること。
1. 今までの技術の貯金だけでやっていくのには限界が出てきた。35歳以上になると、大卒で10年以上働いてきたことになります。
10年以上エンジニアをやっていると、今まで蓄積してきた技術の貯金で少なからず仕事をしているかと思います。
ただプログラム言語もバージョンアップされ、新しく出来ることが多くなってきます。
新しいWebサービスは細かいところで最新の技術を取り入れていることが多く見受けられ、今までの自分の技術だけでは駄目で、色々な言語をオールマイティーに知っていないと通用しなくなってきています。
そういう意味で今まで自分のやってきた技術の中だけで解決していこうとすると、多々無理が出てきます。
iPhoneやスマホアプリなど、どんどん新しいものが出てきますので、会社のやりたいことと自分の技術貯金が釣りあわなくなってくると感じることがないでしょうか?
2. 自分の作り方や考えが定着して、今更方向転換する柔軟性が少なくなってきた。
プログラムには開発した人の個性がでてくると思っています。
好きなフレームワークを使ったり、今まで自分のつくってきたソースコードを流用したり、ほぼ自分のやり方が固定化されて、転職して会社を移っても新規システムであれば、自分のやり方で作ることの方が多いと思います。
ただ、会社に属してやっていくうえでは、その会社のやり方があったり、共通で利用する関数やフレームワークが決まっていたりするかと思います。
共同作業をしていくうえで毎回自分のやり方が通ればよいと思いますが、人のやり方にあわせるのが少々億劫になってきてはいないでしょうか?
3. やったことないことにチャンレンジするのが億劫で時間がかかる。
人にもよると思いますが、まったく新しいプログラム言語をゼロから勉強したりするのが億劫で理解するのに時間がかかるようなったと思います。
若い時は持っているものがないので、それこそ必要であれば勉強してどんどん新しい技術を吸収していくのですが、ある程度経験値がたまってくると、人間その中でなんとかしようと思います。
まったくやったことのないプログラミング言語に対峙するのがいささか億劫にはなってきてはいないでしょうか?
4. 30代を過ぎると確実に企業はマネジメント能力を求めてくる。
40代でもまだバリバリプログラミングしている人はいるかとは思いますが、企業は30代以上には確実にマネジメント能力を求めてきます。
これは企業に属するならの話しなので、フリーランスで現役でプログラミングをしていきたい人にはあまり該当しないと思いますが、プログラミング担当とはいえ、後輩も入ってくる30代には少なからず、マネジメント的なことを求められます。
自分はモノづくりに徹したいので、人の面倒までは見れない、というのはそろそろ通じなくなってくる年齢です。
スポット的な作業員や契約社員であれば良いのかも知れませんが、正社員で働く上では確実に後輩の面倒や協力会社さんの面倒を見る機会が増えてきます。
自分は開発に専念したいのに。。と思うことも多くなってきているのではないでしょうか?
5. このまま50代以上になってもプログラミングしていくのかという漠然とした不安。
開発は結構ハードな仕事です。
徹夜や残業は当たり前の世界で、50代になっても現場でバリバリプログラミングしている自分の姿が想像できません。
私の先輩は40代で、新しいプロジェクトでまったく新しい技術の仕事を任されて、ついていけずに鬱病になって休職してしまったという噂を聞きました。
現役でやっている間は気がつきませんが、技術者は技術についていけなくなったら終わりです。デザイナーや職人であれば、その人にしかない味わいや技があり、人間国宝になったりしますが、プログラムは見えない部分で動いているものであり、いくら美しいコードを書いても同業者にしか認められません。
30代はまだまだ現役でやれますが、10年後の体力や自分の理解力などがどうなっているのかが想像付きませんし、プログラミングを現役で若い人と一緒にやっているかというとちょっと不安です。
今後企業でやっていくなら。
経験値を活かした自分の役割を探す。経験値は若い人よりはありますので、自分の経験値を活かした役割を考えるのもひとつの手です。
仕様書作りなんかはその最たる仕事で、今まで様々なシステムにかかわってきた経験は絶対活きると思います。
技術だけではなく、どれだけ気を利かせるかが仕様なので、技術概念が分かっていてかつ経験値がある人が作った仕様は矛盾もないと思います。
仕事は仕事と割り切り、好きなものは余暇で作る。
企業はマネジメント能力を求めるということを書きましたが、ひとつの考えとして仕事は仕事として割り切るということも必要かと思います。
プログラミングが好きであれば、余暇の部分で個人サービスを作ってみたって良いと思います。
30代以降で家庭を持っている人は、いくら自分がやりたい!と思っても企業として必要とされていないのであれば、独立するか、企業に属していくなら求めるスキルを割り切って身につけるように考えをシフトするべきなのかもしれません。
エンジニアをマネジメントできるのはエンジニアしかいないと思います。
エンジニアに限りませんが、モノを作っている人は、スキルのない人や知らない人に一から説明したり、指示されるのをエンジニアは嫌がります。
(私だけだったらすいません。)
素人考えで色々注文されて急かされると「じゃあお前がやれよ!」と少なからず思ったことがあると思います。
(中には口に出しちゃう人も結構見ます。)
そういう意味で、今までプログラミングにかかわってきた人間がマネジメントをやるのはすごく良いことだと思います。
(話が通じるし、一緒になって技術の話しができるので。)
技術概念は分かっているので、常に最新技術にアンテナさえ張っていれば、現場のエンジニアと同等に話しはできますし、一緒に考えて指示することもできると思います。
そういう意味ではエンジニアのマネジメントはエンジニアにしかできないと思っています。
プログラミングから離れるのはちょっと寂しいですが、企業にとっては欲しい人材です。
生涯現役というのも格好良いと思いますが、企業という団体の中でやっていくには、そろそろ自分の役割も考えていかないといけないのではないかと思います。
———-
最後に、現役でプログラミングをやっていくなら、「やったことないのでわかりません!」は絶対口にしないことです。
気持ちはわかりますが、少なくとも「出来るかどうか調べてみます」など大人の対応を心がけたいものです。
感情的になって大きな声出しちゃったりするのも避けたいですね。
若い世代がどんどん吸収しているのに、いい歳のおっさんがこれを言ってると「じゃあ何ができるの?」と聞き返したくなります。