こんにちは、ゆうきです。
今日は
綺麗なコードをどうやったら書けるようになるのか?
についてお話しします。
結論
汚くてもいいからコードを書きまくること
です。
不完全でもいいからコードを書いて
他の人のコード見て
良いところを取り入れていく
この繰り返しでどんどん上達します。
完璧主義はなくせということです。
僕自身、今ではReactやTypeScript、Go言語など
様々なプログラミング言語を使って仕事をしています。
僕のコードを企業に見せるのですが
「ゆうきさんのコード超綺麗です!」
「わかりやすいし整理されててめっちゃ参考になります!」
などよく言われます。
僕が書いたコードはこちら
ただ最初からここまで書ける人間ではありませんでした。
最初の企業では
ゴミみたいなコードを量産していました。
元々IT未経験で入ったので
プログラミング全然できない状態でした。
最初はいった会社でJavaを書いていたけど
クソコードばかり書いてました。
for文の中にfor文を書いたり
If文の中にif文、if文
など
ネストという良くない書き方やりまくって
今後修正する人の手間になるようなゴミコードを大量に書いてました。
それでも
当時の自分には精一杯
なんとかタスクをこなすことで手一杯で
コードを綺麗に書くなんて余裕はありませんでした。
毎日終電まで頑張って考えて書いて
でもクソコードだから
「なんでこんなみんなの迷惑になるコード書けるの?」
とか散々言われました。
本当にメンバーの負担にしかならないコードばっか書いてました。
このままじゃまずいと思って
僕は帰宅後もJavaのコード書いて
少しでも上手くなろうとしました。
でも独学じゃ全然上達しませんでした。
自己流でやりまくっても
クソコードは一向に良くなりませんでした。
そこで僕は
プログラミングスクールで成功者から学ぶ道を選びました。
50万円の受講料で
当時月収20万円の僕からしたらかなり高い金額でした。
それでも少しでも
迷惑をかけないエンジニアになるために
お金と時間を投資しました。
html, cssから始めて
最終的にLaravelやVue.jsといった
本格的なサービスで使われている技術を学ぶようになりました。
新しい技術ばかりなので
当然最初から綺麗なコードを書けるわけではありません。
他の受講生のコードと比較しても
「俺、全然見にくいコードになってるな。。」
「毎月100時間もやって全然上手くならないな。。」
と落ち込んでました。
でも
落ち込んだからといって
コードがうまく書けるようにはなりません。
だから、人のコードを見て
いいな!と思ったところは
その瞬間にパクって自分のものにして、少しでも成長できるようにしました。
自分のコードがクソであればあるほど
他の人のコードを見ると
自分の課題点や見えてきたので
どんどん成長していきました。
結果、スクールを卒業する頃には
月収83万円の企業の仕事でも恥ずかしくないレベルのコードを書けるレベルになりました。
そこから学んだことをもとに自分で成長していきました。
レベルの高い現場のコードを見て真似していきました。
その現場のコードは
保守性、可読性、再利用性など
サービスを長く運用することを見越した綺麗なコードでした。
他のエンジニアが見ても一発でわかるコードを書ける人が多かったです。
そういう人たちの良い部分をどんどんパクって
自分の力にしていきました。
結果、僕は自分がプライベートで開発したシステムでも
企業のサービスで使えるレベルのコードの品質で書けるようになりました。
そのコードを見せるだけでどんな企業からも
「ぜひウチで働いてください!」
とオファーがもらえるようになりました。
中には
「技術顧問として入っていただきたく!」
なんて企業もありました。
ここまで成長できたのも完璧主義を捨てたからだと思っています。
最初から完璧で綺麗なコードを書こうとしていたら
動きが遅く成長は遅かったでしょう。
今ほどのスキルレベルになっていたとは
到底思えません。
自分が今汚いコードを書いても
不完全でダメ出しの多いコードを書いたとしても
今できる全力をどんどん書いていって
それを修正しながら実践したからこそ
圧倒的なスピードで成長できたのだと思います。
完璧主義は特に実力がない時ほど発生しやすいです。
自分が新しい分野に挑戦するときなど
未経験の領域を進む時ほど
最初から完璧にやろう
無駄なことはしないで効率的にやろう
と考えてしまう。
最初からクオリティの高いものを求めがちです。
でもそれだと成長は遅いんですよね。
未経験の方が
最初からモダンなWEB系自社開発企業に転職しようとするのも
そういった完璧主義が発動しているのかなと思います。
別にSESから入っても
高額なフリーランスは目指せます。
実際僕はSESしか経験せずに
フリーランスになって月収83万円を獲得しました。
しかも全くの未経験から2年後に83万円です。
その方法を教え子に教えたら
経験1年で月収80万円を超える方も現れました。
SES出身でも稼いだエピソードはこちら
完璧主義
最初から綺麗にやろうとすると
結局遠回りになってしまって
予想以上に時間がかかってしまいます。
コードもエンジニアのキャリアも
汚くてもいいから素早く行動すること
これが最速で成り上がっていくための
必勝法です。
コメント