未経験からエンジニアになって1ヶ月での気づき
はじめに
皆さまこんにちは。
株式会社div、開発チームの浦田(@KojiUrata)と申します。
今回は「未経験からエンジニアになって1ヶ月での気づき」と題しまして、現時点で感じていることをお届けしたいと思います。これからエンジニアになろうとしている皆さんに、何か参考になれば幸いです。
エンジニアになる前の経歴
私は約1年前、2017年8月より弊社サービスTECH::EXPERT(未経験から即戦力エンジニア養成プログラム)を受講後、2018年1月に入社いたしました。その後TECH::EXPERTの受講生を教えるメンターを経て、9月から開発チームにjoinしました。なお、現在年齢は40歳台半ばです。
TECH::EXPERT受講前は商社で輸入ワインの営業をしていたので、エンジニアもIT業界も完全未経験でした。
divの開発について
TECH::EXPERTのカリキュラムを終了しているレベルであれば、スムーズにjoin出来る仕組みが整えられています。
1on1での面談が組まれており、最初の一ヶ月は週一回の技術的な学びの確認だけでなく、隔週で仕事をする上で何か困っていることがないか?のヒアリングや、解決に向けた相談のための面談が行われました。
アジャイル開発のためチームの一員として動き、チームとして結果を出すというのが基本です。あくまで主観ですが、チームの全体的な雰囲気は大変良いと思っています。
未経験からエンジニアになって気づいたこと
こうした環境で、エンジニアとしての私の人生が始まりました。そしてこの経験から、これからエンジニアになる方が最初に知っておくべきことはこの3つだと気づきました。
・ゴールや手順を整理してから仕事をすること
・仕事を選ばないこと
・アウトプットの習慣をつけること
ゴールや手順を整理すること
これはエンジニアとして働き始めたことで以前よりも意識するようになったことですが、タスクは一度に全部行おうとせず、特にエンジニアの場合は実現すべきことを明らかにしてから行わないと生産性が上がらないことです。
私の場合は、ゴールや手順を紙に書いて整理してから仕事に取り組むようになりました。
その上で分からないことは、まずググるよりも問題の切り分けのために細かいデバックをしたりログを見て検証します。またググるよりも、Ruby on Rails ガイドやgemのgithubレポジトリのような一次情報を活用した方が結果的に早く解決することも多い事にも気づきました。
質問する場合であっても、そうしたことをやってから行った方が自分のためにも周囲のためにも良いと思いました。
また、エンジニアとしての経験が浅いとつい既存のソースコードに引っ張られ過ぎてしまうのですが、経験年数に関わらず必要であれば既存のコードを修正したり、不要と思われるコードは思い切って削除するという姿勢は大切だと思います。
その上でコードの変更の影響範囲を限定させるために、命名規則やscopeは常に意識しています。実装が終わった後は、依頼した他チームのスタッフと動作確認しながら細かい仕様のチェックを行い、追加調整が必要かどうか確認を取るようになりました。
このような働き方について、エンジニアになる前はあまり気にしませんでした。しかしエンジニアとして働く場合は、ゴールや手順を整理してから働くことがとても重要なことに気づきました。
仕事を選ばないこと
弊社はまだまだ小さい会社なこともあって、フルスタックなスキルが求められます。しかし現在はエンジニア不足のため、実は多くの開発現場で同じような状況になっているのではないでしょうか。
そのため、最初のうちは仕事を選ばない方が良いことに気づきました。
それを踏まえた上で、経験が少ないせいでつまづくことは当然なので「出来ない・分からないことを恥じない。分からなければやってみる・試してみる」ということを意識して仕事をすると短期間でスキルアップするなど、メリットが多いことがわかりました。
アウトプットの習慣をつけること
ライブラリに頼らない、例えばRubyそのもの、JavaScriptそのものの言語仕様のスキルは、特に複雑な実装の場合は必ず求められるので「プロを目指す人のためのRuby入門」、「初めてのJavaScript」といった書籍で体系的に学習した方が良いと思いました。
加えてコードを書く以前の話となる設計やHTTP/HTTPS通信のことなども可能な限り自習しておくと良いです。
ただしそのようにして学んだことは自分で知識を整理しなければ忘れてしまって意味がないので、SNSやブログでアウトプットの習慣をつけておくと良いことに気づきました。
まとめ
いかがでしたでしょうか?
エンジニアという未経験の業務、最初はとにかく疲れると思います。慣れないうちは、週末は休養日にしても良いと思います。
とはいえそこはプロの世界、個人で開発するのとは違い、入ってくる情報の質・量共に格段にレベルが上がります。慣れない業務で大変な一方で、毎日学びがあるため日々自分の成長を実感できます。自分の行った実装が目に見えて成果として現れるので、感謝もされますし非常に楽しく過ごしています。
そのような理由で、私はエンジニアという業務にとてもやりがいを感じてますし、未経験の方でもご興味あれば是非挑戦されると良いと思います。
またこの記事を読んで、株式会社divやTECH::EXPERTというサービスに興味を持っていただければ幸いです。
そして、現在エンジニアを絶賛募集中です。
Ruby on RailsやWebRTC/WebSocketといった技術だけでなく、テクノロジーやプログラミング教育に興味がある方と是非一度お話ししたいです。Wantedlyで募集しておりますので、ご連絡をお待ちしております。私たちと一緒に人生にサプライズを与えていきましょう!