プログラミングスクールを卒業し、なんとかエンジニアに転職して1年が経ちました。
今現在プログラミングスクールに通っている人や、IT業界に転職したいと思っている方に向けて、エンジニア歴1年の僕が、感じた事を共有したいなと思い、この記事を書いています。言いたいことをまとめると次のようになります。
- プログラミングスクールの知識だけでは当然通用しない世界
- 運用保守では開発能力はほぼ身につかない
- 「工数」についてのプレッシャー
プログラミングスクールの知識だけでは通用しない世界
はじめに断っておきますが、プログラミングスクールの知識は無駄ではなく、むしろやっておいて良かったと思っています。
ただ、残念ながら私が配属されたプロジェクトでは、事実としてプログラミングスクールの知識はほとんどに立たず、新たに学ぶ必要がありました。
例えば言語はJavaを使っていましたが、実際のロジックは別の言語で記述されていましたし、スクールで学んだRuby、Python、HTML、CSS、Javascriptを使ってプログラム修正を行うことはありませんでした。
新しい言語を学び、商品となるシステムを学び、顧客のシステム利用シーンを学び、顧客やチームとのコミュニケーションを学び、修正プロセス(作業許可申請、変更仕様書作成、テスト仕様書作成、テスト実施、内部レビュー、顧客レビュー、実装)を学び。。。と、学びの連続です。
ここで大事だと感じたことは、忍耐力です。
覚えることが膨大なので、1ヶ月でも、半年でも、なかなか全てを覚えることはできないと思います。
私の場合、10ヶ月目にシステムテストでテスターとしてバグの原因を一人で特定できたときに、ようやく少しだけ自信が持てるようになりました。
大変だと思いますが、人間が何かを覚えるためには物理的に時間が必要であることを受け入れて、何ヶ月も忍耐強く学習を行うことが大事です。
逆に言うと、新人を教育する立場になった時には、単にマニュアルを渡すだけでなく、しっかりとした説明が必要ですし、何度も繰り返し根気強く付き合ってあげることが大事だと考えます。特にシステムの規模が大きければ大きいほど、サボっては行けないところだと思います。
運用保守では開発能力はほぼ身につかない
運用保守SEは、既に顧客へ提供したシステムを、顧客が問題なく運用できるようにサポートする仕事です。
つまり、運用保守業務を通じて、システムを一から作って実装することはありません。せいぜい顧客の要望に応じて追加機能を作る程度です。
顧客の業務やシステムについての理解は深まるかもしれませんが、技術面では、開発を経験したエンジニアと比較して大きく劣ることになると思います。(と、私の同僚も漏らしていました。)
したがって、もし可能であれば、開発に携われるプロジェクトに参画することが、成長への近道だと思います。
なお、運用保守にも良い点があり、それは決まった時間に帰りやすいということです。顧客の定時以降は、基本的には問い合わせ対応などはないため、繁忙期を除けば、比較的自由な時間が確保しやすいです。こうした時間を使って、別のスキルを磨くのであれば、運用保守SEもありかもしれませんね。
「工数」についてのプレッシャー
新人エンジニア出会った僕にとってもっともプレッシャーだったのが、工数についてです。
「それ、いつに終わりそうですか?」という、質問は、プロジェクトの管理者からは確実に問われる部分だと思いますが、新人でへっぽこエンジニアだった私は、自分がどの程度のスピードで仕事ができるかわらなかったため、なかなか工数の計画と実績がうまく噛み合いませんでした。
仕事になれば、当然「納期」が存在するため、それを守れるかどうかを常に把握しておく必要があります。
そこで、これからエンジニアを目指す人にオススメしたいのが、自己学習においても時間を記録しておくことです。
例えば、勉強のためにあるWebサイトを作りたいと思ったときに、デザイン作成やコーディングに何時間かかったのか記録しておけば、LP(ランディングページ)制作の仕事を受ける時に、納期の妥当性を確認できます。
以上、1年目エンジニアの僕の所感を思うがままに綴ってみました。
Techacademyについてはこちらに書いています。