概要
忙しい人用に要点だけ書いておきます。尚、あくまで個人の感想、気づきにしかすぎないので、それを踏まえた上で、お読みください。
- コピペコードは最終的に誰も救わない。
- 同時並行して学べるのは一つまで。
- 技術発信は定期的にやることによって、自分のモチベーションが上がる。
でもQiitaとか、ブログとか書く時間がない。そんな時はTwitteとかでもつぶやくとモチベかなり上がります。 - モチベーションが上がらない時や、行き詰った時は環境を変えるというのも一つの手段。
- 聞ける先輩、師匠を作る。
- あと地味にモニターdisplay今月初めて使ってみたんですが、最高です。作業スピードとモチベ上がります。
コピペコードは誰も救わない。
1年半やってきたからこそ理解できることですが、コピペコードは最終的に自分を傷つけます。
コピペコードで動いた時、達成感はすごくありますが、そのコードがなんで動いているのか、どうして、1行消すだけで止まるのか、そこの理解が曖昧なままだと最終的に、見返した時に0から書き直すということを嫌というほどやってきました。。
特に状態管理・データベース周りの処理をする際には、コピペコードは絶対に使わないほうがいいと感じました。
UdemyやQiitaなどの教材のコードをコピペしただけではダメで、コードを理解する必要があると強く感じました。なんでもググればいいというわけではないんです。
通常であれば、自分の頭でなぜ動くのか、動かないのかを考える必要があるんですが、コピペコードは、この手間を一時期は皆無にしてくれますが、最終的にどかっと一気に問題を吐いてきます。そして、途中から訳が分からなくなり、挫折するんです。
これを読んでるみなさんはとりあえず動けばいいやという感じで、コードを書いていないとは思いますが一応念のために書いてみました。
半年間Flutterを触らないでいたことをすごく後悔したこと
Flutterを触らず、他の言語を半年間試してみて、忘れたこと、やらかしてしまったことを、ひたすら話します。
半年前まではFlutterによる就職を目指していたので、Flutterしか勉強をしていなかった自分ですが、当時、Flutterエンジニアに求められるレベルが高く、個人開発で実績を作っていない自分にとっては、Flutterだけ書いててもなー、別にflutterのスペシャリストになりたいわけでもないしなーと逃げの考えをしていまい、他の言語に逃げてしまいました。別に、アーキテクチャや、状態管理の理解ができているならば、問題ないんでしょうが、そこの理解が曖昧なまま、でもなんとかRiverpodを用いた開発ななんとなくできるよー状態だったので、具体的な構造を理解できておらず、なんとなくのコピペコードばかりで対処していたレベルでした。
なので、久々にflutterを触ると、何がなんだかちんぷんかんぷん
本当にこれまで自分は何をやっていたんだと、後悔しました。
Firebaseの使い方も、忘れてしまっていて、ありとあらゆる記事や、公式ドキュメントを読むことで、なんとか当時の理解に戻すことができました。
本当にあの頃の自分に言いたいことが多くて、まず、動けばいいやのコードは絶対書くな!と一言言いたいです。
後々、自分がなんでこのコード書いてるんだと本当に悩んで、最終的に全消しして、書き直すなんてこともザラにあるからです。
次に、自分のキャパを考えろとも言いたいです。
複数の言語を同時進行して、学べるほど僕の頭は良くないのにも関わらず、Python、React、Java、JavaScript こんなに学んでも身についたものは
ほぼ皆無でした。
なんとなく、書き方の違いとか、Hello Worldレベルのものを作る方法は理解できたんですが、それ以上先は理解できておりませんでした。
そんなこんなで、flutterしか勝たん状態になり、今急いで、勉強し直しています。
就活もやっぱflutterがええとなって就活し直してるんですが、今の時期新卒採用をしてくれている会社は少なく、大体が、技術力重視の企業のため、半年前に戻りたいと後悔しております。
とりあえず、今の目標はflutterで個人アプリのリリースを目指して、頑張ります!!
みなさんも中途半端で、flutterをやめるのは勿体無いと思うので、1年くらいやって自分にあってないと思っても、意外と続けてみる方が、得策だったりするかも知れませんよ。
初学者におすすめな勉強方法(体験談をもとに)
身銭を切る
* Udemyやzenなどの教材を購入してやる。
身銭を切ってやらなければという意識を強くすることで、多少やる気がなくてもやるようになります。
エンジニアの環境に自分を置く
- エンジニアコミュニティーに所属する。
- エンジニアの友達・エンジニアを目指している友達を作る。
- 勉強会に参加する。
- 学生であれば、長期インターンに参加する など
聞けるエンジニアの師匠を作る。
一番はこれなのかもしれません。コミュニティーに所属したり、勉強会に参加したり、Twitterで質問したりして、周囲にエンジニアを置き、いつでも聞ける環境を作ることが大切だと感じています。
今はオンラインでも色々聞く手段はありますが、やはり対面で聞ける方が圧倒的に聞きやすく解決しやすいと感じました。すでに就職済みの方はシェアハウスなどに入って、他のエンジニアに聞ける環境を作るというのも一つの手かもしれません。
終わりに
色々勉強してきて言えることをこれまで話してきましたが、僕はまだエンジニアとしてひよっこです。今でも息詰まること、エンジニアになりたくないと思うことは多々あります。だからこそ、常に勉強をするために、安定を求めてはいけないと思いました。
行き詰まって、もうやりたくない状態に陥っているのであれば、作業環境を変えるとか、コミュニティに参加するとか、自分の置かれている環境を変えるといいですよ。周りが同じ言語をやっている環境にいくことによって、少しでもやらなきゃとか、詰まった時とかに聞ける状態が作れるので、おすすめです。