6ヶ月あがき続けた人による初心者へのアドバイス
どうも、お初にお目にかかります。たくみと申します。
私ごとですが、自分を追い込むためにRailsエンジニアを名乗り始めて半年が経ちました。
そこで、偉そうにもプログラミングを始めようとしている人、本当に始めたばかりの人、同じぐらいの歴の人に向けてnoteを書こうと思いました。
(画面の前のそこのプログラミング歴が長い人もできたらブラウザバックしないで…)
このnoteには僕が半年を振り返って学んだことや後悔が書いてあります。
反面教師にするなり、初心者の気持ちを理解するために使うなりしていただけると泣いて喜びます。
目次
1. ゼロから始めたプログラミング生活
2. 継続は力なり
3. 第二の相棒、ノート
4. わからないことしかない
5. 作り続けた半年
1. ゼロから始めたプログラミング生活
「MVCアーキテクチャ? メソッド?なんじゃそれ?」
こんな状態から半年間とにかく動くものを作り続けて来ました。
半年間で作ってきたものリスト
◯『HERO』というSNS機能を持ったwebアプリケーションのプロトタイプ
◯『cinderella』という日記アプリケーション
◯ Reactに浮気してiTunes APIを利用した音楽シェアアプリ
◯『tremolo online』というwebサービス
結局全て動作は確認しましたが、大人の都合上この世の中にリリースされたものは1つだけでした。まぁそんなものでしょう。
勉強として作るものには学びたいテーマを決め、とにかくインプットしては作り、そして作りながらインプットしてを繰り返しました。
この開発経験を通して学んだことは
①とにかく継続することの重要さ
②物理的なノートの重要性
③わからないことしかないということ
この3点です。
2. 継続は力なり
僕はほぼ毎日コードを書き続けて、パソコンを触ってない時は実装中の機能をどう書けばいいかを考えて半年を過ごしました。
そんなことをしてるうちに簡単なwebアプリぐらいは作れるようになりました。
体感的には結局のところ上達度合いはかけた時間にある程度依存します。
しかしながら、始めのうちはわからないことだらけでなかなか上達しません。
だからこその『継続』だと思います。
気分が乗らなくても、1行でもいいのでとにかく続けることが重要です。
「学習効率うんぬんで悩んでやめるぐらいなら地道にコードをかけ!!」
「上ばっかりみて足が止まるぐらいならすごい人なんか見るな!!!」
「TL上のすごい人と比較せずに昨日の自分と比較しろ!!!」
ということですね。過去の僕に言ってあげたいです。
ちなみに僕のおすすめ継続方法は
・とにかく作りたいものをひねり出してそれを短期的に作る
・飽きたら無理に続けずに違うことをする
・あえてきりの悪いタイミングでやめる
です。参考までにどうぞ。
3. 第二の相棒、ノート
基本的に相棒はテキストエディタの入ったパソコンだと思いますが、普通のノートも大活躍します。
PCと向かい合っていると、どうしても頭の中だけで考えてしまいがちでロジックが複雑であるほどわからなくなっていく傾向があります。
そんな時にノート
手書きでコードを書いてみたり、図形を使って関係性を把握したりしてみてください。あら不思議、脳のメモリが解放されて新しい発見が生まれます。
「まずはノートに書いて整理してからコードを打ち始める」
これだけで圧倒的に作業効率が上がるので早速ノートにメモっておいてください。
4. わからないことしかない
今までわからなかったことがわかればわかるほど
わからないことが増えていく。
そんな事実に直面するんじゃないでしょうか。
それまで積み上げてきたちっぽけな自信が吹き飛ばされるような感覚に陥りました。
でもそれこそが醍醐味だと僕は捉えてます。
好奇心を原動力に突っ走るしかありません。
それはめちゃくちゃワクワクするはずです。
5. 作り続けた半年
結局僕は何が正解がわからないまま進み続けています。そのことに関して全く後悔はありませんし、むしろ知らなかったからこそここまで続けてこれたのかもしれません。
しかしながら当然道しるべがある方が上達は早いでしょう。
なので
書籍やインターンの実務経験で到達地点を知る
これもきっと大切なことなのでしょう。
今後僕は正解を知れるように機会を掴み取っていきます。
このnoteを読んでくださった同じような境遇の方も、参考にしてみてください。