初めまして
こんにちは。油そばと申します。
東南アジア発のスタートアップスタジオ「GAOGAO」に所属させていただいています。
言語はPHP、フレームワークはLaravelを主に使用。
ベトナムのホーチミンにて、日本のスタートアップ企業様からお仕事をいただき、日々勉強をさせていただいております。
簡単に経歴ですが、2018年3月に大学を卒業し政府系金融機関に就職。
約1年半勤めたのちに、退職。紆余曲折を経、2019年9月にプログラミングスクールGAOGAOゲートに参加。
つまり、プログラミングを初めてまだ4ヶ月の未熟者です。
今回はプログラミング初学者(駆け出しエンジニアにもなれていない)視点で今後エンジニアになるために必要だと思うことを思いつく限り羅列していきたいと思います。
現状心掛けていること
1. 情報収集
毎日情報を「Feedly」というアプリケーション各種ブログで収集しています。
このアプリはRSSリーダーであり、様々なサイトをこのアプリで閲覧することができます。
タイトルと数行をアプリで読むことができ、気になればそのサイトに飛ぶことができます。非常に効率的に情報を収集できるのではないかと思います。
私が毎日確認しているのは以下です。
- ギズモード・ジャパン
- Techable(テッカブル)
- Qiita
- IPhone Mania
- MACお宝鑑定団 Blog
- monograph
完全に趣味で好きなブログも登録することで、楽しく情報収集をすることができます。
アプリのリンクは以下。
https://play.google.com/store/apps/details?id=com.devhd.feedly&hl=ja
また「Feedly」とは別にProduct Hunt で便利なツールはないかどうかを朝の習慣にしております。
かの有名な「Stack」もProduct Hunt で世に見つかったように、様々なアプリケーションが日々生まれていることを身にしみて感じることができます。
以上のこと(少ないですが)を私は毎日の日課としています。
2. インプットアウトプット
プログラミングの勉強だけでなく受験勉強と同じですが、インプットとアウトプットをする割合が大切だと教わりました。
現在私は実案件に関わることで、インプットとアウトプットを同時に行いつつ、Gaogaogateのメンターとしてさらにアウトプットをしております。
昔からアウトプットをしている時の方が脳味噌を使う気がしているので、どちらかというとアウトプットに力を入れております。
個人個人でそのベストな割合は変わると思いますが、基本的にインプットしたことは全てアウトプットして自分のものにする必要があると思います。
(記事を書いているとアウトプットが全然足りていない気がしてきました。)
私がプログラミング2ヶ月目でアウトプットとして作成したサイトは以下。
http://toileatter.herokuapp.com/
今思うとまだまだ改良の余地しかないので、1月にまたいじいじしようと思います。
3. 毎日コードを触る
バスケットボールと同じです。毎日触った方が身体の一部になります(PCが)。
1日でも触らないと忘れてしまうと、私のメンターの方に教えていただいたので毎日触るようにしています。
4. PCの性能をあげる
MacBook Pro13インチモデル 買いました👏👏
実はずっと大学1年のときに購入したMacBook Airを使っていました。
slackを起動、Dockerを起動、カーソルがグルグルでした。
エンジニアにとってPCは、銀行員にとっての印鑑です。シャチハタはやめましょうということですね。
エンジニアになるための今後の課題
1. 技術書を読む
エンジニアになるためにはまだまだ知識が足りないと、実案件に従事することで感じました。
そこで今までの勉強法を振り返ると、
今までの勉強法は
- progate
- ドットインストール
- ネットにあるLaravel教材ブログ
- Gaogaoメンバーのyoutube
- 自分のアプリケーション作成
これを2ヶ月間で行ったのちに、すぐ実案件に入らせていただいた為、正直腰を据えて勉強法を振り返ることがありませんでした(言い訳)
実案件も少し落ち着き(みなさんありがとうございました。)振り返ると、動画教材や昨今流行っているアプリのような教材で学習をしてきており、技術書を読むということをしていないことに気付きました。
もちろん、今まで学習してきた教材はどれも良質で、非常にわかりやすいものばかりでした。
しかし、その分かりやすさが能力の向上に歯止めをかけている可能性もあるのではないかと思います。
つまり
ネットにある良質な教材は、学習の初学者としては非常に有益であるが、
技術書のように難解な物を読むことで得られる知識は得られないという仮説です。
ということで、来月から技術書読みます。
仮説の検証は自分で行ますが、すでに回答をお持ちの方は教えてください。
2. 案件の全体を見渡す
現在の案件が初案件でしたので、ひたすらコードを書くことしかできなかった私です、、。
PMの方からタスクを振っていただいて、脳死でコードを書いていたわけですが、今後は案件全体を見渡すことも必要だと感じています。
理由は以下
- 現在のタスクに自分なりの価値を付けられる(全体をみて不要な機能、必要な機能を言われる前に提案できる)
これにつきます。どの会社でもそうかもしれませんが「誰でもできる仕事」をこなすだけでは自分の存在価値がありません。
全体を見回しす癖を今後つけていかなければなりません。
まとめ
プログラミング初心者がエンジニアになる道のりはまだまだ遠い。