※キャリアチェンジを考えている新卒2〜4年目くらいまでのエンジニア向けです
新卒入社した会社で2年ほど金融系エンジニアをやっていた私が、20代後半でふと思い立ち、全く畑の違うwebエンジニアに転身して半年くらい経ちました。
今ではフロントエンドのメインエンジニアとなり、毎日デザイナーさんと相談しつつフロントのリニューアルを進めています。
web未経験だった私が半年でメインエンジニアとなるまで、どんなことを意識して来たのかを備忘録的に書いておこうと思います。
が、その前に…
なぜwebエンジニアへ?
もともとSIerへ新卒で入社したのですが、縁あって大手証券会社のシステム開発に携わっていました。
幸運なことに新規開発プロジェクトに参画したため、コーディング機会にも恵まれ、典型的なウォーターフォール型開発を経験することができました。
現場の人たちにも恵まれ、それなりに勉強しつつ仕事をしていたのですが、ふと「お客さんって、この機能を本当に喜んでくれるんだろうか?」と言う疑問が生まれます。
だんだん「誰かが喜ぶ仕事をしたい。それを自分の目で見たい」と言う思いが強くなり、結果転職へと踏み切ったのでした。
なので、正直言うとwebエンジニアでなくてもよかったわけですが、縁あってwebサービスを開発させてもらっています。
意識したこと
web未経験からwebサービス開発へ飛び込んでからのこの半年間、何を意識してきたのかを書いてみたいと思います。
キャッチアップ期間を短く
ここをどれだけ短くできるかが鍵だなと思っています。
いかに早く仕様を理解し、コードを書けるようになれるかがその後を左右していくので、手を抜いてはいけない部分です。
具体的に何をしてキャッチアップ期間を短くしたかと言うと
コードをひたすら読む
ちょっとの空き時間でもシステムのコードをひたすら読みました。
主要画面からの処理の流れを理解するためと、現システムでのお作法を身につけるためです。
どのシステムでもコードを書く際のお作法があり、そのお作法に則ることでコードを早く書く術を身につけました。
また、似たような処理なのに微妙に違う書き方がされている部分が必ずあるので、「どっちがいいんだ?」と言語特性などを調べていくうちに自然とコーディング力も身についていくのでおすすめです。
仕様を理解する
システムを作る上で絶対必要なのですが、ここにかかる時間を短くする努力をしました。
仕様の把握ができていればコードも読めるし、コードが読めれば仕様も分かるはずです。
関連機能への影響も判断できるようになるため、手戻りや調査に割く時間が減りました。
具体的に何をしたかですが、これは開発環境で実際にサービスを触ったり、システム構成からテーブル構成まで、システムに関わる部分を調べたり質問を繰り返しました。
近道はなさそうだったので、これを毎日意識して地道に積み重ねていくしかありません。
インプット量を増やす
未経験なので、分からないことがあるのは当たり前です。
分からないことはとにかく調べたり、質問したりしました。
「なぜ?」「どうして?」と疑問を持つことがとにかく大事で、疑問に思ったことはメモして、調べて分からなければ聞く、と言うことを繰り返しました。
と言ってもなんでも聞くわけではなく、仕様についてだったり、処理の意図が分からない部分だったり、が主な質問だったと思います。
また、今まで追いかけていなかったweb界隈の動向についても目を向け、意識的にQiitaの記事などを読むよう心がけました。
フロントエンドに関する本も読むなど、とにかく自分の引き出しを多くすることが大事です。
開発スピードを上げる
とにかくトライアンドエラーを繰り返しました。
今までの金融系では精度が求められていたので、開発スピードは二の次だったのですが、移り変わりの早いweb界隈ではとにかくスピードが大事です。
ひたすらコードを読んで書いて、エラーが出たら直して、を繰り返しました。
最初はできなくて当たり前ですが、できないことを1つ1つ潰していくことが本当に大切です。
周りと比べると開発スピードが遅く劣等感を覚えがちですが、必ず同じくらい書けるようになります。
まとめ
振り返ってみると、新卒入社して初めて仕事をしたときと同じようなことをしているなぁと感じました。
結局最初に大事なのは基礎の部分で、そこが早くしっかり作れたら、あとはインプットを増やして新しいことにチャレンジしていく必要があるのかなと思います。
この記事がキャリアチェンジを考えている方の後押しになれば嬉しいです。