こんにちは、SHOOT(@Shoot58153748)です。
2021年6月現在、プログラミング未経験からWebエンジニアになって2年と2ヶ月。
Webエンジニアになった理由
転職は成功or失敗
成長の軌跡
この辺りを中心に今までの振り返りを書こうと思います。
若手エンジニアやエンジニアに興味がある方はぜひ参考にしてください。
目次
なぜWebエンジニアになった?
ずばり、「ロマン」でしょう!
ネット上の宣伝や広告に踊らされたわけではないですが、
当時の僕からすると他の職業に比べて、自由度が高く、夢のある職業に見えました。←踊らされた
大手SIerにいた僕にとっては、働き方、仕事内容、業界の雰囲気は魅力的でしたねー。
「ロマン」の筆頭は、
パソコンひとつあれば「いつでも」「どこでも」「誰とでも」働けるという点。
プログラミング言語と英語が使いこなせれば、相手が地球の裏側にいようと一緒にシステム開発できます。
そんな職業他にありますかね?
他に類を見ないとはまさにこのこと。
満員電車がクッソ嫌いだったので、フルリモートで働けたら最高!とか思ってました。
仕事内容も悪くない。
まず純粋にプログラミング楽しいです!
また、業務を通じてプログラミングスキルやIT知識が身に付くので将来独立なんてできちゃったりして。
新しいことも多いので、常に学習欲・好奇心が満たされます。
業界としてもゆるい雰囲気好きです。(成果主義はシビアだけど)
「オープンイノベーション」という言葉に形容されるように、
業界の雰囲気もオープンで自由。
本質的に合っていれば、体裁やプロセスはあまり問われない雰囲気があります。
いくら私服がダサくても大丈夫!
キャリアチェンジは成功だった?失敗?
判断するにはまだ時期尚早かもしれませんが、
僕としては「大成功」でした。
というのも、結果として幸運にも転職前に思い描いていた働き方や仕事内容、スキルセット会得が実現できています。
正直、転職して1年ぐらいは鬼しんどかったです。
スキルないから、下手くそなサッカー部員みたいな感じでメンタル崩壊しそうだったし、
そのころは毎日満員電車にゆられ通勤してました。
それでも私服はOKでしたけどね。
ダサくてもOKなのは救われました。
迎えた2年目。
幸か不幸か「コロナ」がやってきました。
これは僕にとって転機で、
僕が望んでいた「フルリモート」生活が強制的に手に入ります。
僕は周りに人がいるだけでかなりストレスフルで疲れちゃう人間だったらしく、
フルリモート効果は絶大でした。
2年目になりスキルが段々とついてきた事も相まって、
仕事の生産性が爆上がり、ミスも減り、トランスフォームすることに。
本業以外でも副業で新規アプリ一人でまるまる作ったりもしたので、
自信もかなりつきました。
仕事内容も会議とかスピード感ある開発納期(スタートアップチームなので)に時折ストレスは感じるものの、
一人で黙々と開発している時間は嫌いじゃない。
というかむしろ好きです。
自由度を持って新規開発がどんどんできるので、
エンジニアとしてもけっこう満たされています。
職場環境も今ではかなり満足していて。
チームメンバーにもだいぶ馴染めて、僕のこと可愛がってくれてるし、
未経験の僕を育ててくれたチームに愛着が湧くぐらいになりました。
そして3年目突入した今現在。
週5が辛いとか、会社員向いてないとか感じる場面も多々ありますが、
ガンガンスキルを発揮してチームに貢献したい、開発経験を積みたいという気持ちは強いです。
ネットに流されて「石の上にも3年」を揶揄してた時もありましたが、
なんだかんだで自分にも当てはまるんだなぁ、と最近ふと思います。
まぁ自分も凡人ということです。
辛くても時が解決してくれると、辛かった1年目の自分に言ってやりたい。
成長の軌跡を振り返ってみる
〜6ヶ月
新規アプリ開発の設計からリリースまで一連の工程を一人で担当する機会が運良く与えられた事もあり、
Webアプリケーション新規開発の基礎と世で動いているプロダクトはなんたるかを一通り学びます。
Webアプリケーションの仕組みとそれの実装方法、
設計の基礎、
読みやすく、変更に強い、負荷が低いコードの書き方、
キャッシュやセッション管理、ログ、セキュリティ、
SQLチューニング
etc…
挙げるとキリがないですが、
プロの入り口を見た。というか
趣味レベルと仕事レベルの品質の差を思い知りました。
あとは開発で終わらない、運用を見据えた設計とか仕組み作りのところ。
メンターの人には設計が命と口すっぱく言われたのが懐かしいです。
その通りだな、と。
まだ周りが何も見えてない時期なので、
ある意味幸せものでした(笑)
〜1年
運用・保守の大切さ、難しさを感じた時期です。
特に運用は、たくさんやらかしました(泣)
運用が十分にシステム化されてない時にサービスにジョインしたので、
いつもと違って絶妙に少しカスタマイズしなければならない。
みたいな案件も多く、
昔から抜けやすい僕にとってはそこら中に地雷(設定ミス)が埋まってるみたいな感覚でした。
もちろん踏んだこともあります。(泣)
保守(改修)も苦しみましたね。
少しの修正がシステムの重大な欠陥を作り出すことがあるという、
これまた想像力が欠ける僕にとっては、地雷原みたいなもの。
危険なところを察知する勘所みたいなものを持っていなかったので、
テスト項目が足りなくて本番出してバグっちゃったみたいな事も。。
システムは改善命。
膨大なコードを読み、理解し、
適切な設計で改修を進めていく。
当時の僕にとってこれがどれだけ難しいことか。
開発も遅いし、運用も安定しないし、、
チームのお荷物みたいに感じちゃって半端なく辛かったですね。
〜1年半
社会人、エンジニアとしての土台がしっかりし始めました。
運用保守で苦しんでいた原因は、
単純にスキル不足もありますが、
社会人スキルというか仕事の基礎的な部分も大きいと思います。
つまり、報連相や責任感とかそこらへんのところ。
仕事を受けるということ。
問題解決が難しそうなら上司とコミュニケーションを取りながら
適切な、もしくは期待を上回るアプトプットを出すということ。
仕事の目的や本質を把握すること。
本来なら技術的なスキルの習得と順序が逆なはずですが(笑)
苦しんだ運用保守業務を通じて、このあたりが身をもって理解し始めたのがこの時期かなと思います。
技術的な部分も自己研鑽を続けていた事もあって、
段々とチームのスピードについていけるように。
そして本業の傍らで友人のシステム開発を請けて一人で開発&その後の保守運用をやり切ったのが
めっちゃ大きな経験でした。
全体のアーキテクチャや、フロントとバックエンド、自動デプロイ化(CI/CD)、セキュリティ、クラウド環境構築、
外部のAPI組み込みなど…
アプリ開発&本番運用に必要な要素を勉強し直し、
新しい技術は公式ドキュメント読んで調べ、
納期も自分で見積もって設定し、
実装、本番運用に落とし込む。
英語でもなんでもドキュメントさえあれば調べてなんでも作れるなという自信がつきました。
技術的スキルの向上よりも自信が手に入ったのが何よりも大きかったです。
〜2年
自信を深めた僕は、
本業でも徐々にバリューを出せるようになり始めます。
チームの生産性を爆上がりさせるツールを開発してから、
本当の意味でチームに入れた感覚が。。感動ですね。
またこの頃になるとビジネスからの要望や仕様変更に対しても
上司を介さず自分で打ち返せるようになりました。
今まで学んだシステムに関する包括的な知識や経験で
できる、できないや
どのくらいかかる
が自分で判断できるようになったということです。
業務領域もアプリやツール開発だけでなく
Docker/Kubenetes環境構築してアプリをデプロイしたり、
プライベートでも自前でVPSサーバー契約して、色々いじったりと、
インフラ周りやシステムへの負荷周りの知識もだいぶ強くなったと思います。
ここまでの2年間で、
Web全般やセキュリティの知識、アプリ本番運用に必要な設計開発スキル、サーバー周りやクラウドに関する知識、調べるスキル等々、
良い品質のWebアプリを世の中に出すための包括的な知識が一通りさらえたのかな
という感じです。
〜Now
自分で見積もりしたり、要件定義の時に提案したりと
純粋なWebアプリ開発以外のところも気が回るようになってきて、
文字通り一人前のWebエンジニアとしての道筋がやっと見えてきた感じがします。
極端な話、独立したり、どんな環境になってもエンジニアとしてやっていける自信というか、
もう少しのとこまで来ている感覚ですかね。
やっとここまで来た感。。
もちろん周りを動かすところだったり、
コミュニケーションのところだったり、
技術的なところだったり、
自信だったり、
足りないところや知らないことはまだまだ腐るほどあります。
ただ変に謙遜することなく、おごることなく、
ブレずに謙虚に学ぶ姿勢を忘れずに学びを継続していくだけだなと思っています。
石の上にも3年?焦らないで。
本記事の最大のメッセージ。
周りが見えて有能、仕事ができる人だったら、
未経験からでも半年とか1年でもマスターできるかもしれない。
だけど僕みたいな一般人はやはりある程度一人前になるには3年必要なんだな、というのが教訓です。
(自分はまだ3年経っていないけど)
ここでいう一人前は、
自信を持ってプロフェッショナルとしての働きぶりを発揮できるようになること。
くらいに思ってください。
本来石の上にも3年と定義すること自体ナンセンスですよね。
一人前の定義も人によってバラバラだし、
職業とは連続的なもので、
一人前になったらそこから学ぶことがなくなるわけでもありません。
そこからもっとプロの道を極めている人やマネジメントを極めている人、
色々な人がいます。
今は常時ネットに繋がっているので、
「〜している奴はダメ」とか当たり前のように他人批判を目にしたり、
周りと比較してしまったりして、
嫌な気分になったり、落ち込んでしまう人も多いのではないでしょうか。
ただ気にする必要はありません。
実際のところ、実態は本人とその周りの人しかわからないし、
そもそも情報の真偽は分からない。
「どの言語ができて、どのスキル持ってて」
みたいなものは本質的には全く意味がなくて、
基本的に公式ドキュメントがあるので誰でも学べるし、
すごいエンジニアはその技術に触れたことなくても
あっという間に習得してすぐに使いこなします。
圧倒的にシステムに関する知見、経験が豊富だからです。
そういう本質的なスキルは経験を重ねることでしか得られないのではないか。
なので僕は3年以上、5年以上、10年以上エンジニアやっている人をとても尊敬しています。
なので重要なことは結構シンプルで、
今の仕事に全力を注ぐこと。
足りないと思うところを学ぶこと。
継続すること。
みたいな基本的なところかなぁと今は思っています。
毎日働き続ける世のサラリーマンたちは本当にすごい。
辛くても焦らず、継続していれば時間が解決してくれます。
なんとかなりますよ。
それでも辛すぎるときは精神壊れても意味はないので、
家族や友人、恋人、上司に相談、甘えましょう。僕で良ければ相談にも乗ります。
それでも解決しなければ仕事辞めてもいいじゃないですか。
僕は妻が支えてくれたおかげでまだ続けられています。
周りに惑わされずマイペースにお互い頑張りましょうね。
Webエンジニアに興味が湧いた人は、
プログラミングスクールの無料体験とかおすすめです。
Webアプリ作成の入り口を知れば、
もっとやってみよう、
辞めよう
と判断できるので、まずは体験だけしてみるのも良いでしょう。
今後も細々と更新続けていくのでよろしくお願いいたします。
コメント