ITエンジニア日記 #1 30歳を目前にしたエンジニアの再生計画

再生計画というとなんか大袈裟だけど、まあタイトルはそんなぐらいがいいかなと。

自己紹介


自己紹介をすると、大学中退後少しの無職期間を経てアルバイトからWeb系エンジニアとして就職(後に正社員)。転職を経て現在あるベンチャー企業でバックエンドメインのエンジニアとして働いている。
現在29歳。30歳までのタイムリミットが1年弱であり、ここらで焦ってきたというか、なんとか自分を立て直したくなったというような感じ。

これまで仕事ではRails, Go, React, Node.js, Android(Kotlin)などを経験してきた。
全部ではないが設計を担当したことも少しある。AWSはまだまだ勉強が足りてないが、現在の会社ではAWSを一任出来るレベルのエンジニアになってほしいと言われている。  

就職後の後悔と撤退について


1.言語処理系学習からの撤退


自分のキャリア形成における後悔は色々あるが、プライベートでの学習を「言語処理系学習」というWebエンジニアにおいて比較的どうでもいいことに費やしたところにあると認識している。(1年目から5年目まで、プライベート学習の何割かをこれに費やしてきた…。)
と言っても簡単な本を読んで簡単な実装をする、という事を繰り返したぐらいで自作言語があるとかではないのだが…。
とにかく手を動かしまくったので多少コーディングの基礎力は付いたかなと思うものの、Webの世界への広がりが無い上に時間が無限にかかり、無駄を感じた。
興味はあったし情熱はまだ消えてないが、時間を掛けるには人生が足りないと思った。

2.機械学習からの撤退


また、個人的に機械学習についても少し興味があり、去年1月から断続的に本を読んでいたのだが…結論、この領域は自分には向いてないと確信し、撤退を決意した。  
線形代数・統計学から機械学習・深層学習の基礎は一通り数式を追いかけたが、シンプルにワクワクしなかった。ここが最大の撤退理由。
また恐ろしいことに、大学で数学や情報科学を修めた人が数ヶ月で論文に到達して独自のAIを実装し始めるのを見たことがある。ここまで顕著な向き・不向きを感じると、自分が戦うべき場所はここではないな、と感じた。

再生に向けてこれからやること

そんな感じに無駄なことをしてきたし、基礎知識に色々抜け漏れを感じてきている。

その後悔を踏まえてこれからどうするか、という話。

1.知識の甘い領域の技術書を多く読み、理解し、アウトプットもする


今の会社では先も書いた通り、これからAWS/インフラについて自分が一任する事になりそうである。(オンプレも扱う事になるので、ますます基礎理解が重要。)
そうすると当然勉強しなきゃならない事が多々ある。
OS, Linux, TCP/IP, ルーティング, DNS, AWS…。ざっと挙げてインフラ周りの大分類としてはこんなものかと思うが、このうちまだTCP/IPとAWSの基礎しか抑えておらず、ほかは疎か、という現状である。なのでこれらの本を1~2冊程度ずつ読んで行く事を先ず考えている。

これまでの経験上、とにかく「手を動かさないと分かった気になるだけ」と感じているので、TCP/IPにしろLinuxにしろ、手を動かす系の本で手を動かしながら読んでいく、というのを念頭に置きたい。サンプルコードや実験のない本を読む場合にしても、本の要約をどこかにまとめて発信するというやり方で積極的にアクティブ・ラーニングしていきたい。

2.コードリーディングをする


かつての上司であり自分が共に働いた人たちの中でも特に優秀だったあるエンジニアの方に「コードを書く量の10倍コードを読むべき」と言われたことがある。それぐらい読まなくてはちゃんとしたコードが書けるようにはならないらしい。あまり広く技術記事などで言われていることではないが、現にその方はそうしてきた、と言っていた。言われてから何年も経つが未だに出来ていないので、今年の内に普段お世話になっているOSSアプリのソースコードリーディングを頑張ってみようと考えている。中々骨が折れそうだが、個人的にはとてもエンジニアっぽくてワクワクしている。

3.総合的力試しとして小さなWebアプリを作る

自分の領域として弱いところをほぼ全部学べるような小さいアプリの構想がある。
フロントエンドはReact, バックエンドはGoによる、対戦ボードゲームアプリ。
新規性はなく勉強用のものだが、React, Go, ゴルーチンとチャネル, WebSocket, OAuthによるログイン等が出来て良いのでは?と考えている。
仕様を絞ればサイズは大きくならないので、上手く行けば3ヶ月程度で達成可能かもしれない…と考えている。
AWSデプロイ時にも色々知識の抜けを感じる事があるかと思うので、そういう事も学んでみたい。

4.勉強習慣をつける

駆け出し(1~2年目)の頃は毎日プライベート学習が出来ていたが、最近になるとどうも自分に甘く、出来ていない。
近所にいわゆるコワーキングスペースがあるので、休日だけでもいいのでPCを持参してとにかく定期的に技術の勉強を行うということを習慣レベルにまで落とし込みたいな、と思っている。

5.勉強会に参加する

自分の会社はどうしても小さく、また技術レベルも自分が引っ張っていかなきゃいけない感じなので、もう他社の勉強会やコミュニティに積極参加する以外にない、と確信している…。
思い立ったが吉日なので、もうDiscordに入ってみた。

6.出来ないことは諦める

自分は大学中退であり、また大学で情報科学を学んできた人の基礎力の違いというものも今まで多々感じてきたので、やはり社会人をやりながら大学に行くという選択肢を捨てきれずにいたが、少なくとも今はやめた。
単に、1.~5.が出来ていない内はキャパオーバーにしかならないだろうという判断である。

候補としては放送大学情報コース、帝京大学通信制工学部情報科学科、University of the People CSの3つだが、1年程度入学が遅れた所で今更大差ある話ではないと考えているので、まずは目前にある課題と和解していきたい、と思う。

他、資格勉強も(就職前に幾つか取ったが)自分には精神的負担が大きいし、自分の求める本分からもずれていくかなと感じているため、一旦は考えないでおこうと思う。ペーパーテストが向いてないと感じているのも大きい。

気持ち

ググっても出典不明だったが、いつかどこかで見たうろ覚えの作家さんの名言で

「創作とは「自分は面白いものを作れるはずだ」という可能性を失って「こんなものしか作れなかった」という現実と向き合う行為であり、それ故に人は創作を足踏みしてしまうが、そうやって可能性を失い、現実を確定させることの繰り返しなしでは何も手にすることができない」

というものがある。(うろ覚えにつき原文ママじゃないです。)

自分は何をするにしても足踏みしがちだけど、その本質を突かれたような言葉で印象に残ってる。

例えば「今日この技術書を読む」という事でも
「この本を読まなければ他に何かが出来る。読めば、可能性を失って現実を確定させることになる」
というような視点が頭に過ぎって、足踏みしてしまう事がある。

しかし、行動とは可能性喪失の種であると考えれば、全ての行動は必然的に「できなかった後悔」を伴うということになる。

また、これも出典不明だが一般的に言われることとして
「行動した後悔より、行動しなかった後悔の方が深く残る」
というものがある。
実際、「何もしない土日」が一番メンタルに来るので、これは本当にそうだな、と感じている。

つまりまとめると、
「何をしても後悔は必然的に付き纏うが、何もしなかった後悔が最終的に一番大きいものとして残るので、何でもいいからやるべき」
と言うことだと思う。

当たり前と言えば当たり前だが、こういう事を常に頭に置き、

「可能性を得るためではなく、むしろ可能性を失うために」
「やった後悔をしないためではなく、やらなかった後悔を残さないために」

日々、生きていこうと思った。


この記事が気に入ったらサポートをしてみませんか?