エンジニアキャリアの歩き方
未経験から始めるエンジニアキャリアのロードマップ
教材を最後までやったのに、何も作れない
未経験から学び始めた人が最初に立ち止まるのは、たいていここです。動画や教材は全部見た。写経したコードも動いた。それなのに、白紙のエディタを開くと手が止まる。
これは理解が足りないのではなく、やった内容が「読んで分かる」の側にしか積まれていない状態です。教材は詰まらないように道が整地されているので、自分で道を選ぶ練習だけが抜け落ちます。順路を組むときは、この抜け落ちをどこで埋めるかを先に決めておきます。
方向を 1 つ、言語を 1 つに絞る
最初に決めるのは、画面を作る側に行くか、裏側のデータとロジックを作る側に行くかです。どちらが有利かではなく、どちらの成果物を見ていて楽しいかで選んで構いません。決めたら、その方向で使われている言語を 1 つだけ選び、他は一旦置きます。
方向がどちらでも、共通で効いてくる土台があります。変更履歴を扱う Git、データを取り出す SQL、サーバーを触るための Linux コマンド、そして画面とサーバーの間で何が行き来しているのかという HTTP の感覚です。これらは言語を乗り換えても捨てずに済みます。
| 時期 | 画面を作る側 | 裏側を作る側 |
|---|---|---|
| 最初の 1 か月 | HTML と CSS で 1 ページ再現する | 文法と、リストや辞書などのデータの持ち方 |
| 2 か月目 | JavaScript で画面を書き換える | 条件分岐と例外、SQL でデータを取り出す |
| 3 か月目 | フレームワークで小さなアプリを作る | 小さな API を作って動かす |
| 並行して | Git でコミットを残す | Git でコミットを残す |
学習時間の目安として 300 時間から 600 時間という数字がよく挙がりますが、前職での経験や、1 日にまとめて取れる時間で大きく変わります。到達点を測る数字ではなく、「数十時間では届かない」という桁の感覚として使うのが安全です。
作るものを決めてから、技術を足す
土台ができたら、自分用のものを 1 つ作ります。よく「Todo アプリでは弱い」と言われますが、題材そのものが悪いわけではありません。弱くなるのは、なぜそれを作ったのかを説明できないときです。
自分が実際に困っていることを題材にすると、この説明が自然に埋まります。前の仕事で毎回 Excel に手で転記していた作業、趣味の記録が続かなかった理由。そこから始めると、機能を足すか削るかの判断も自分でできるようになります。技術は、その判断に必要になった順に足していきます。
作ったものは動く状態で公開し、何を考えて作ったのかを README に残しておきます。コードそのものより、この文章のほうが読まれることも珍しくありません。
応募する前に、働き方の形を知っておく
エンジニアが所属する会社は、大きく 3 つの形に分かれます。どれが良いという話ではなく、得られる経験の種類が違うという話です。
- 自社サービス — 一つのプロダクトに長く関わる。技術の幅は自社の構成に寄る
- 受託開発 — 案件ごとに題材が変わる。納期の意識が強く求められる
- 常駐型(SES) — 入り口は広いが、配属先で経験が大きく変わる。教育の仕組みを事前に確認しておく価値が高い
未経験の入り口としてどこを選んでも、次に移るときの材料になるのは「何を任され、何を残したか」です。入った後にそれが積める環境かどうかを、選ぶときの基準にしておくと、後から効いてきます。
復習ミニクイズ
未経験エンジニアが現場でエラーに直面した際、周囲の信頼を得つつスムーズに問題を解決するために、最も適切な振る舞いはどれですか?