この記事は、株式会社FLINTERS10周年記念ブログリレーの126日目の投稿です。果てしないなと思っていた133日のブログリレーも残り1週間ということで、感慨深いです。継続は力なり。
何の記事?
プログラミングを独学の趣味から仕事にしてみて、何が得られたかという話
こんにちは。株式会社FLINTERSに新卒入社して2年目のエンジニアです。普段の業務では、データベース周りのワークフローの開発や運用を担当しています。
入社前の学生時代にはプログラミングは趣味として軽く独学していただけで、情報系の専攻でもなく、プログラミング関係のインターンなどをしていた経験もありません。
そのため、私がFLINTERSに入社を決めた理由の一つが「独学ではなく仕事としてプログラミングを学んでみたかった」ことでした(もちろん理由は他にもたくさんあります!)。独学だと得にくい知識があるんじゃないかなー、ということをうっすら感じていて、それを探しにエンジニアとしてのキャリアに飛び込んでみました。入社から2年弱経ち、現時点での感想として、その結果を書いてみたいと思います。
「プログラミングを仕事にしようか、趣味のままにしておこうか」と悩んでいる方に参考になったら嬉しいです。
学生時代何をやっていたか
工業デザイン専攻で、プロトタイプ制作でプログラミングしてました
この記事では、「プログラミングを独学の趣味から仕事にしてみて、何が得られたか」「得られたものによって、そのまま趣味にしていた場合と何が変わったか」ということを書きます。なので、趣味にしていた学生時代は何をしていたかについて少し触れたいと思います。デザイン専攻だったのでデザインの話が多くなりますが、今はちゃんと心から張り切ってピカピカエンジニア目指しているのでご安心ください!!!
デザインにもいろいろ種類がありますが、私は工業デザインを専攻していました。工業デザインでは、プロトタイプ作成のため軽くプログラミングをすることがあります(必修ではありませんが、カリキュラムにも入っています)。それをきっかけに動くものが作れる楽しさにハマり、ちょっとだけ自主的に勉強して、ごく小さい規模の作品を作って遊ぶ日々を過ごしました。
同じ専攻でエンジニア職を選ぶ人は稀ですが、プログラミングに触れる機会は多いのと、作りたがりな人間が多いため、プログラミング学習に意欲的な人は多いと思います。私のようにエンジニアになる道を選ばなかった人でも、「プログラミングつよつよになったら楽しいだろうな!」と考えてたデザイン学生はけっこういるのではないでしょうか。
私の学生時代の「プログラミングかじってた」度合いのイメージがついたところで、本題に移ります。
本題 独学ではなく仕事にして何が得られたか
「動くかどうか」以外の観点と、組織で開発するためのノウハウ
今のところ、主にこの二つかなと思っています。
- 「動くかどうか」以外の観点
1人で好きなものを作って楽しんでいた頃は、プログラミングのゴールは「動くかどうか」しかありませんでした。したがって、独学で集める知識も「動かすため」に必要なものに限られます。
もちろんエンジニアになってからはそうはいかず、読みやすいか、保守しやすいか、システム全体のセキュリティはどうか、コストはどうか、、、と、「動くかどうか」以外のことも考慮に入るようになりました。
デザインで行うプロトタイピングでは、とにかく動くものを早く作るのが正義なので、これらを考える必要はほぼないです。ただプロトタイピングの枠を超えて、自分の作ったものをたくさんの人に使ってほしくなった時、絶対に必要になる領域だなと思っています。例えば、自分で作ってみたアプリを公開してたくさんの人に遊んでもらいたい!とか、そういうことにチャレンジできるようになるのではないでしょうか。
- 組織で開発するためのノウハウ
趣味の作品制作では、もちろんひとりで私による私のための私のコードを書いていました。たまにグループワークのプロトタイピングでコードを書きたい場面も訪れるのですが、分担作業するのが難しく、結局得意もしくはプログラミングを苦としないメンバーが1人で書き上げることが多かったです。(多分デザイン学生あるある)
エンジニアになってからは、組織の一員としてチームでコードを書きます。コミットしてプルリクエスト作ってレビューをもらって…という流れだったり、自分以外の人にも理解してもらいやすい書き方だったり、自分1人で作業していた時には考えなかった概念を学びました。
これに関しても、1人で開発するなら極論なくてもなんとかなるスキルだと思います。しかし、1人で作っていたもののスケールを大きくしたくなったとき、誰かの手を借りる場合にはとても役に立つのではないでしょうか。
--
以下、その他に私がエンジニアになってよかったなと思うことを書きました。
実際に運用されているシステムのコードを見られる。
- チュートリアルのサンプルコードを見るより、実際にたくさんの方に利用されてるシステムのコードを見る方が楽しいし勉強になるなと感じています。
でっかいデータが入ったデータベースも見られる。
- データベースも、やっぱりサンプルデータよりたくさんデータが入っている方が楽しいです。
当たり前だけどアンテナ張ってる人が周りにいる方が勉強になる
これも当たり前だけど、平日の一日の中で一番長いのは仕事をしている時間なので、強制的に勉強時間が確保される
まとめ
こうして振り返ってみると、エンジニアになる選択をしてよかったなと感じます。こう思えるのも、日々FLINTERSの皆さんに支えていただいているおかげです。FLINTERSのどんなところが素敵なのかについては、他の方のブログで書かれているのでぜひ読んでみてください。
実は新年一日目の初仕事がこのブログ執筆で身が引き締まりました!今年も頑張ります!よろしくお願いしまーす!