未経験からエンジニアになったけど思うように開発に携わることができない、実装経験が積めないという人は多いと思います。
筆者も未経験からエンジニアになった当初は開発経験が積めず大変苦労しました。
それでも試行錯誤の末に開発経験を積んで、結果的に2年半後にメガベンチャーに転職することもできました。
この記事では筆者のリアルな体験談を共有させていただき、実務の中で開発できない悩みを抱えているエンジニアの参考になる情報を共有させていただければと思います。
筆者の主なプロフィール
- 26歳で未経験からエンジニアになって実務経験2年半で年収300万円アップでメガベンチャーへ転職
- 現在はtoC向けのWebアプリ開発に従事
- 言語はPHP,Pythonを使ったサーバーサイドの開発を担当
- 実際に開発経験を得るために実施したこと
- 開発経験を得る方法
- 開発経験が積めずに悩んでいる人へのアドバイス
未経験からエンジニアになって味わった開発ができない現実
私は20代中盤の時にプログラミングスクールを経て未経験からエンジニアになりました。
未経験から最初に入った会社は、自社プロダクトも持っており受託開発やSESと幅広く事業を行なっていたので、エンジニアとして幅広い経験を積めると思い入社しました。
最初の1年程度は自社プロダクトや受託開発を担当することになったのですが、実際の開発はほとんどオフショア拠点でやっており日本側で実装を行うことはほぼありませんでした。
私のエンジニア1年目の当初の業務は、以下のような内容です。
- 自社プロダクトの改善要望をまとめてオフショア拠点に指示を出す
- 保守プロジェクトの改善・不具合の内容をまとめてオフショア拠点に指示を出す
- テスター
- Microsoft365系の導入支援やサポート
- その他不具合調査や雑務
要件定義や設計、テスター等は経験していたのですが、肝心の実装は基本的に全てオフショア拠点に流すため、実装経験が全く積めませんでした。
その他にも様々な業務を担当していたのでいわゆる何でも屋的な立ち位置でした。
状況を改善するために日本側でもやれる部分は巻き取ってやったり、実装に携われるように提案したりもしましたが中々ガッツリと日本側でも実装工程に携わることは難しかったです。
この時期は、実装経験が積めない、実務の中でコーディングスキルが身に付かない、コードレビューを受けることもできない、技術者としてのスキルアップを実感できないといった様々な悩みを抱えていました。
SES事業もやっていたのでSESとして外部案件に入ることも検討しましたが、やはり未経験だと実装経験を積める現場に入れている人は少なかったですし、何とか今いる環境で実装経験も積めるようにしたいと当初は考えていました。
未経験から意気揚々とエンジニアとしてのキャリアを歩んでいくつもりでスタートしましたが、最初のスタートは開発ができず先が見えないという状況でした。
この状況を改善するために実施したのがこれから説明する内容です。
こうした行動をした結果開発経験を積むことができ、結果的に自社開発系の企業に好条件で転職することもできました。
現在開発経験が積めずに悩んでいるエンジニアの参考になれば幸いです。
開発経験を得るために実施したこと
私が実際に開発経験を得るために実施したことをご紹介します。
- 新規開発案件を真似して個人開発
- プロジェクトのプルリクを全て確認
- 開発案件に入りたいという意思表示
新規開発案件を真似して個人開発
私はオフショア開発を管理するような立場のため、幸いにも色々な開発案件に携わることはできていました。
そのため、いくつかのプロジェクトのコードを見ることはできていましたし仕様も理解していました。
ただし肝心の実装経験が積めなかったので、業務時間外で実装経験を積むしかないと考えました。
そしてちょうどその時新規開発の案件があり、この案件と似た内容の(機能は少し絞った)物を業務時間外で作って自分の実務経験にしたいと考えました。
このように考えた理由としては以下です。
- 実際のプロジェクトの要件は理解していたので丁度良い実装経験になると思った
- 経験年数のあるエンジニアが作成するプロジェクトコードもあるため、もし考え方に詰まった時に参考にできるコードがある
- 開発の際の会話やプルリクの指摘等を全て見ることができるので参考にできる
私に足りないのは実装経験だったので、実務で実装経験が積めないのであれば自分で作り出すしかないと思い業務時間外で似たようなWebアプリの作成を行いました。
実際に作成したことで、様々な発見があったし先輩エンジニアのプルリクやコードは実際に実装したことでより理解できて参考になりました。
こうした経験を社内で発信したことで、次の新規開発の案件にフルタイムではないですが参画することができるようになりました。
こうして実務経験を積んだことで2年目以降はSESとして大手キャリアの案件に参画したりすることができました。
実装経験が積めないという人はこのようにプロジェクトコードを業務時間外で触ってみたりそれを真似て作るだけでもかなりためになるのでやってみると良いかなと思います。
プロジェクトのプルリクを全て確認
プロジェクトのプルリクは経験年数の少ないエンジニアにとっては宝です。
私は携わっているプロジェクトのプルリクは業務時間外も利用して全て確認することを意識していました。
過去のプルリクを遡ってどんな指摘をされているのかを見たりもしていました。
経験のあるエンジニアがどんな実装をしていて、その実装に対してどんな指摘をされているのかを見るのは非常にためになります。
こんな考え方や書き方があるのかという新しい発見が沢山あります。
エンジニアとして成長するため要素の一つとして、優秀なエンジニアから沢山のレビューを受けるというのがあると思います。
レビューは自分のものでなくても参考になるものが沢山あります。
もちろん自分が行った実装に対してレビューしてもらえるのであればそれに越したことはないですが、それはできないがプルリクを確認できる状況の人は積極的にプロジェクトのプルリクやそのコメントを見てみると非常に勉強になるのでおすすめです。
開発案件に入りたいという意思表示
意外と重要だなと思ったのが、自分がどうなりたいかという意思表示をすることです。
私は、開発案件に入って実装経験を積みたいというのは上司や営業の方には伝えていました。
もちろん言うだけではダメで、そのためにどんなことをしていると言うのも含めて発信をしていました。
その時の営業の方は凄く親身になってキャリアに向き合ってくれる方だったのもあり、自分の希望に近い案件をとって来てくれました。
自分がどうなりたいか、そのために何をしているのかということは伝えないと相手には伝わりません。
密にコミュニケーションをとって自分はこうなりたいという意思表示をすることで、そういった案件が回って来た時にチャンスを貰えるのではないかと思います。
開発案件に入りたいのであればしっかりと意思表示をしてそのための努力をすることが重要だと思います。
未経験エンジニアが開発経験を得る方法
未経験エンジニアが開発経験を得る方法について解説します。
- 実務の中でできることを見つけてチャレンジする
- 有志のチーム開発に参加する
- OSS開発に参加する
- 自社開発系企業に転職する
実務の中でできることを見つけてチャレンジする
まずはやはり実務の中でできることを見つけてチャレンジするのが一番良いと思います。
開発案件に携われているのであれば、その中の機能を担当できるように日々の仕事で実績を残し、キャッチアップしていることをアピールするべきだと思います。
それでも中々実務の中で開発経験が得られないのであれば、業務時間外でプロジェクトコードを触ってみたり、私のように似たようなものを開発してみるのが良いと思います。
エンジニアとして一番は実務の中で開発経験を積んで実績を残すことなので、まずは今いる環境でどうすれば開発経験を積むことができるかを考えて行動することが大切だと思います。
有志のチーム開発に参加する
最近は有志のチーム開発とかもあるのでそういったものに参加してみるのも開発経験を得る上では良い選択肢だと思います。
主にはプログラミングスクールが卒業生を対象に募集を募ってやっているようなケースが多いですが、SNSの繋がりなどからプロジェクト結成してやっているケースもあるみたいなので調べてみると良いと思います。
チーム開発に参加してレビューを受けたりできる環境であれば、スキルアップが見込めるのでそういったチーム開発があれば参加してみると良いと思います。
OSS開発に参加する
OSS開発に参加するのも開発経験を得ると言う意味では良いと思います。
少し難易度が高いですが、OSSにコミットした経験があるエンジニアは転職活動でも結構評価されます。
OSS開発に参加すると、世界中の優秀なエンジニアが書いたコードが見れますし開発する中で技術力アップに繋がります。
開発経験を積むためにOSSにチャレンジしてみるのは良い選択肢だと思います。
自社開発系企業に転職する
私のように実装はできないが開発の案件には携われているケースはまだ良いケースだと思っていて、未経験からエンジニアになったのに実際任されている仕事はプログラミングスキルなど全然必要ないような業務というケースも結構あります。
特にSESに未経験から入った場合だとこういったロースキル案件に参画させられてしまうケースは良く聞きます。
こういった現場では、エンジニアとしてのスキルを伸ばすことは難しいですし、エンジニアとしての経験にもならない場合が多いです。
こういったケースでは現場を変える、もしくは自社開発系企業への転職を検討するのが良いと思います。
SESや受託開発だとどうしてもまた同じように案件によって左右されてしまう可能性が高いので、確実にエンジニアとしてのキャリアを積むことができそうな自社開発系企業への転職を目指すのも考えるべきだと思います。
もちろんSESや受託開発でも素晴らしい企業はあるので、そういった企業を見極めることができるのであればそういったSESや受託開発の企業でも良いと思います。
自社開発系企業への転職はSESなどより難易度は高いですので、今の現場で働きながらもキャッチアップを続けて技術力を上げる必要はあります。
今の現場ではエンジニアとしてのスキルを伸ばすことが難しく、現場を変えることも難しいのであれば転職を検討するのも選択肢に入れるべきでしょう。
開発経験が積めずに悩んでいる人へのアドバイス

開発経験が積めずに悩んでいる人へ実体験をもとにしたアドバイスをお送りさせていただきます。
最初の実績を作るのが一番難しい
エンジニアとして最初の実績を作るのが一番難しいと感じています。
SESなどの場合、経験年数で募集をかけているところも多いので、どうしても実務経験なしで開発案件に参画するのは難しいです。
そのため最初の実績を作るのが一番難しいです。
私も実績がない状況で最初に開発経験を積むまでが一番大変でした。
ですが一つでも開発経験を積むと、その経験をもとに次の案件も探せるのでかなり案件も探しやすくなります。
一方でずっと開発経験が積めないままだと、なかなかスキルアップに繋がる案件に入るのは難しいのも現状です。
実際に私の同僚でもエンジニア経験は3年程度あるが、テスターやプログラミングスキルの必要ない雑務ばかりしか経験のないエンジニアは開発案件に参画するのはかなり難しそうです。
最初の実績を作るのが一番難しいですが、この壁を突破して経験を積み重ねればエンジニアとしての価値もどんどん上がっていきます。
最初が一番難しいからこそ努力して実績を作ることを意識しましょう。
開発のエンジニアとして生きていきたいなら実装に携われる方法を模索すべき
私は、実装経験は無かったですが、不具合調査や設計・調査等でソフトウェア開発に必要な知識は習得できていると感じていました。
しかし、これらの経験は開発のエンジニアとしてやっていきたいのであればプラスアルファにはなるが実績としては全然物足りないということを転職活動等を通して感じました。
開発のエンジニアとしてやっていきたいのであれば、やはり実装経験は必須です。
だから「今は実装はできていないが実装以外の知識は結構得られているしなー」と考えている方に伝えたいのは、それよりも実装経験の方が100倍大事なのでいち早く実装経験が積めるようにするべきということです。
だから私のように Web系の開発エンジニアとしてのキャリアを歩みたいと考えている方は、実装経験を積むための方法を模索して行動し続けることが重要です。
これはあくまでWeb系の開発エンジニアとして生きていきたい場合の話でありあくまで私個人の考えなので、Slerなどでキャリアを積んでいきたい方などは実装経験がそこまで重要ではなかったりするのでそこはご注意下さい。
スキル向上に努め続けるべき
エンジニアとしてキャリアを積んでいきたいと考えているなら、当たり前ですがスキル向上に努め続けるのが重要です。
未経験からエンジニアとして就職できたからといって自己研鑽を怠るとエンジニアとしての価値を上げていくことは難しいのが現状です。
エンジニアになれて満足するのではなく、むしろそこからがスタートだと思って業務や学習に取り組むことが重要です。
そうすることで必要な知識や経験を得ることができ、エンジニアとしての価値を上げることもできます。
今実装経験が積めていない人も、まずは自分のスキルを向上させることに全力で向き合い、それを活かすことができる場所を探しましょう。
スキルがあればそれを求めてくれる現場も増えます。
だからこそ自身のスキル向上を怠らないようにしましょう。
開発経験を積み重ねた結果2年半後に自社開発系企業に転職
未経験からエンジニアになり、最初は実装経験を積めないところからのスタートでしたが、試行錯誤しながら何とか実装経験も積むことができ、結果的に2年半後に自分的にはかなりの好条件で自社開発企業に転職することができました。
正直エンジニアになって最初は、中々実装経験が積めずキャリアに対する不安や先が見えない不安が沢山ありました。
でも結局は行動するしかないと思い試行錯誤しながらも努力した結果、徐々に実装経験も積むことができエンジニアとしても成長できたと思います。
今考えれば実装経験が積めない時期の経験も結果的には自分にとってプラスになっているなと感じています。
ただしやはり転職活動等を通して感じるのは、Web系の開発エンジニアとしてやっていくのであれば開発での実装経験はかなり重要だということです。
だから今実装経験を積めていない人は、なるべく早く実装経験を積めるように行動するようにしましょう。
試行錯誤しながら努力して行動すれば現状を変えることもできると思うので、開発経験が積めずに悩んでいる人が少しでも早く開発経験が積めるようになることを願っています。

まとめ
未経験からエンジニアになってもSESとかだと中々開発経験を積むことができないという人も多いと思います。
そういった悩みを抱えている人達が、少しでもこの記事を読んで開発経験を得ることができるきっかけになれば良いなと思っています。
是非エンジニアとして開発経験を積んで、エンジニアとしての市場価値を上げられることを願っています。