【必見】元公務員が語る!未経験からITエンジニア転職の全手順
更新: 2024.12.11
こんにちは。テックキャンプのイシダです。
「公務員を辞めて本当に大丈夫かな…」
「公務員を辞めて転職するなんて…」
私も3年前、まさに同じ不安を抱えていました。
地元の地方市役所で働きながら、夜な夜なプログラミングを独学で勉強していた日々が、今では懐かしく感じます。
私の経験を通して、この記事では、公務員からIT業界に転職して、テックキャンプでプログラミングを教える元公務員メンターが、未経験からエンジニアになれる具体的な手順を解説します。
テックキャンプメンター イシダ
私は18歳で公務員になり、業務でDX推進に携わったことをきっかけに、エンジニアを目指すことを決意しました。 最初は何から始めたら良いかわからない状態で独学で勉強をしましたが、挫折を経験して、テックキャンプを受講しその後エンジニアの仕事ができるようになりました。 そんな私が「未経験からエンジニアに転職する方法・全手順」をお話しします。 |
この記事の目次
公務員からエンジニアって、本当に転職できるの?
一般的にエンジニア職問わず、公務員から未経験で民間企業への転職は、思ったより評価されないことの方が多いです。
しかし、それはアピール次第です。
実際エンジニア職で発揮できる、公務員経験から活かせる力は以下のように3つあります。
公務員経験から活かせる力
- 難解な文書もお手のもの!読解力の高さ
市役所で複雑な文書(お堅い文書)を読み解いてきた経験、分からないことがあったら条例や法律を確認する経験が、プログラムを読む力やドキュメントの理解力に直結します。
実は開発中に分からないことがあった時、公式ドキュメントを読むことが大事なのですが、情報量が多くて読みづらいこともあり、エンジニアになりたての人は読まないことが多いのです。
私の場合、公務員時代に法規文書を読み慣れていたおかげで、公式ドキュメントをしっかり読んで調査する習慣が自然と身についていました。この「ちゃんとドキュメントを読める人」という評価は、未経験でも即戦力として認めてもらえる大きな強みとなりました。
- チームワークが得意
基本エンジニアはチームで仕事をします。 公務員は基本的に組織で仕事をするため、組織での仕事に慣れており、チーム開発においてスムーズに適応することができます。 報告・連絡・相談の習慣が、開発現場でも重宝されます。
- プロジェクトの管理が上手い
予算管理、進行管理などの経験は、数年後のキャリアで大きな強みとなります。 エンジニアとして実務経験を積んだ後、テックリードやプロジェクトマネージャーとしてステップアップする際に、公務員時代の経験が活きてきます。 「ちゃんと段取りを考えて動ける」という評価は、チームを率いる立場になったときの大きな武器となります。
これらの強みは、面接でも高く評価されています。
実際私の転職活動でも、面接官から「確かにそれらの公務員経験は強みになると思います」と評価されることが多かったです。
大切なのは、これらの経験をどう活かせるか、具体的に説明できること。
その準備さえできていれば、公務員経験は十分武器になります。
未経験からエンジニア転職するために最初にやること
なぜエンジニアなのか、自分なりの理由を見つける
プログラミング学習は、正直言ってとてもキツイです。
一つのプログラミング言語を習得すれば良いわけではなく、データベースやGitなど、広範囲の学習が必要だからです。
未経験からエンジニア転職を目指すとなると、それなりの覚悟が必要だということです。
だから挫折する人が多いのです。
しかしその分、ちゃんと学習をすれば相乗効果でチャンスは広がっていきます!
そのため、学習を継続するために、そもそもなぜエンジニアを目指すのか、目標を明確に持っておくことが重要となります。
具体的には、、
「年収アップと働き方の自由度を手に入れること」
「自分のアイデアを形にできる人間になること」
「時代の最先端で活躍する人間になること」
私の場合は「誰かの『できた!』を増やせる人になりたい」という目標でした。
公務員として働く中で、「こうなったらいいのに」という声をよく耳にしたし、実感することがありました。
エンジニアになれば、アイデアを形にする力を手に入れられる。
その可能性に魅力を感じて、未経験からエンジニアになることを決意しました。
公務員経験者の転職成功事例
実際にテックキャンプでは、公務員からエンジニア転職に成功した元受講生もいます。 M・Nさんの場合(社会人4年目、地方公務員→ITエンジニア)
詳細な体験談は、「社会人4年目の覚悟!地方公務員から安定を捨てITエンジニアへ」をご参照ください。 |
エンジニア転職を成功させる具体的なステップ
「プログラミング学習を始めようと思ったけど、何から始めたらいいのかわからない…」
きっと多くの方がこのように悩みを抱えると思います。
私自身、エンジニアを目指した3年前、全く同じ悩みを抱えていました。
ここでは、私の経験と、これまで多くの受講生をサポートしてきた経験を基に、具体的な学習ステップをお伝えします。
Step1: プログラミング基礎学習(期間:1ヶ月)
まず、プログラミングの入り口として王道なのが、HTML/CSSとJavaScriptです。
そしてこの王道の通りに学んでいくことをオススメします。
なぜこの順番なのかというと、「直感的に分かりやすいから」です。
HTMLとCSSは、Webサイトの「見た目」を作る技術です。テキストを書き換えたり、ボタンの色を変えたりすると、すぐに結果が目に見える形で表示されます。いきなりプログラミング言語に触れても複雑で「何がどうなってこうなったのか分からない」となりやすいため、独学ならまず「直感的な分かりやすさ」を重視してHTML/CSS、JavaScriptから始めます。
私の場合も、まずHTMLとCSSで簡単なWebページを作ることから始めました。その後、JavaScriptでボタンをクリックしたときの動きを追加したり、フォームの入力チェックを実装したり…。少しずつですが、プログラミングの面白さを実感できました。
また、私の場合は最初ProgateでHTML/CSS、JavaScriptの基礎を習得し、その後、自分が作ってみたいと思うWebページを作りました。
もし作ってみたいと思うWebページがなければ、SANKOUで好きなデザインのwebページを探してそれを最初は「模倣する」でも良いと思います。
また、Progateではうまく勉強できないという人には、Udemyをオススメします。教材の購入費はかかってしまいますが、動画で詳しい解説を聞きながら学習できます。
具体的な学習内容
- HTML/CSS:Webページの構造とデザインの基礎
- JavaScript:Webページに動きを追加する基本
おすすめの学習方法
Step2: Web開発の実践学習(期間:1~2ヶ月)
HTML/CSSとJavaScriptが理解できたら、次は裏側の処理、「サーバーサイド(バックエンド)」の開発を学習します。
多くの現場で求められるのは「Webアプリケーション」の開発能力です。
ユーザーがサイトから情報を入力し、それをサーバーで処理して、データベースに保存する…といった一連の流れを作れる技術力が必要になります。
学習の流れとしては、以下のような流れです。
①サーバーサイドで使われる言語を学ぶ
例)Ruby、Python、PHP
②フレームワークを学ぶ
フレームワークとは、①で学んだ言語を用いて、より効率的にwebアプリを開発するものです。データの保存、更新、削除といった基本的な機能をカンタンに実装できます。
例)
Ruby→Ruby on rails
Python→Django
PHP→Laravel
③データベースを学ぶ
データベースとは、Webアプリケーションで扱うデータを保存する場所です。例えば、ユーザー情報や投稿内容など、アプリケーションで使用するデータを安全に保管し、必要な時に取り出せるようにします。
SQLという言語を使って、データの保存や取り出しを行います。
所感ですが、多くの人は②の段階で挫折する印象です。
なぜなら、
- 学ぶべき範囲が急激に広がる
- エラーが多く発生する
- 進んでいることを感じにくい
- Googleアカウントでログインできる機能
といった、「思ったように進まず学ぶ量がとにかく膨大」という問題に直面するからです。
しかし実際の開発現場では、これらの技術を組み合わせて開発をするため、知っておかなければいけない内容です。
私の場合も、エンジニアとして初めて開発に携わったNFTを活用したふるさと納税システムの開発では、Ruby on railsとその他言語を用いて実装しました。
ここで挫折しないためのコツは、「小さな目標を設定する」ことです。
例えば、
- まずはログイン機能だけ作ってみる
- 次は投稿機能を追加する
- その後、投稿を編集できるようにする
というように、機能を小分けにして1つずつ実装していきます。
このステップでのゴールは、「簡単なCRUD機能を持つWebアプリケーションが作れること」です。
CRUD(クラッド)とは、Create(作成)、Read(読み取り)、Update(更新)、Delete(削除)の頭文字を取ったもので、ほとんどのWebアプリケーションの基本となる機能です。
特に作ってみたいアプリが定まっていない人であれば、TODOリストアプリを作るのがオススメです。TODOリストアプリにはCRUDの基本が詰まっているからです。
- タスクを追加できる(Create)
- タスクの一覧を表示できる(Read)
- タスクの内容を編集できる(Update)
- タスクを削除できる(Delete)
この4つの機能を実装できれば、Step2は完了です!
Step3: ポートフォリオの作成(期間:2~3ヶ月)
いよいよStep3では、今まで学んできた技術を活かして、ポートフォリオ(オリジナルのWebアプリケーション)を作成します。
ポートフォリオとは、あなたのプログラミングスキルを証明するための作品のことです。
特に未経験からエンジニア転職を目指す場合、このポートフォリオが極めて重要になります。
応募条件として「ポートフォリオ必須」としている企業もあります。
基本的には作りたいアプリを開発しましょう。
作りたいアプリがない場合は、以下の2点を意識して作ることをオススメします。
- 過去の経験より感じていた課題を解決するアプリ
公務員として働いていた経験から、「業務で感じた課題をアプリで解決する」というのが理想的です。「なぜこのアプリを作ったのか」をちゃんと自分の言葉で説明できるからです。何より、その視点を持つあなたにしか作れないアプリだからです。
私の場合は、新型コロナウイルスの流行により、ふるさと納税の返礼を送付することが一時的だができなくなったという経験から、「物以外の価値を返礼できるようにしたい」と考え、NFTを活用したふるさと納税システムを開発しました。
- 基本機能(CRUD)が実装されているアプリ
Step2で作成したTODOアプリのような基本機能は必須です。それに加えて、以下のような機能があると良いでしょう。
- ユーザー登録/ログイン機能
- 画像などのファイル投稿機能
- メッセージ/コメント機能
- いいね機能
また、API連携もできていると尚良いと思います。
API連携とは
外部サービスの機能をあなたのアプリで利用できるようにすること 例)
|
近年、教育機関でも生徒にGoogleアカウントが付与されています。
ユーザーがより使いやすいよう、簡単にアプリを利用できるようにGoogleアカウントでログインできるようにしておくなど、簡単なAPI連携が実装されていると尚良いです。
このポートフォリオ作成を通じて、実践的な開発の流れも学べます。
- 企画(アプリの目的、機能の洗い出し)
- 設計(データベース設計、画面設計)
- 実装(コーディング)
- テスト(動作確認)
- デプロイ(公開)
これらは、実際の開発現場でも必要となる一連の流れです。
開発で使う重要なツールなどポートフォリオ作成では、以下のようなツールや技術を使うことで、より実践的な開発経験を積むことができます。これらは実際の開発現場でもよく使われるものばかりです。ゆえに使用していると応募時に評価ポイントになります。
Visual Studio Code(VS Code)が特に人気があり、多くの開発現場で使われています。
書いたコードを管理するためのツールです。
TrelloやNotion、backlogといったツールで「次は何を作るか」「今どこまでできているか」を整理します。実務を意識した開発プロセスを身につけられるため、面接でアピールできるポイントになります。
単体テストで個々の機能を、結合テストで機能同士の連携をプログラムでテストすることができます。。最初は難しく感じるかもしれませんが、開発現場では当たり前のように行われている作業なので、基本的な考え方は押さえておくと良いでしょう。
アプリを実際にインターネット上で公開するために必要な技術です。例えば、AWSやGCPでアプリを公開したり、Dockerで開発環境を簡単に準備したりします。難しく感じるかもしれませんが、現場では当たり前のように使われますし、「使ってみた経験がある」というだけでも評価ポイントになります。
これらのツールは一度に全部覚える必要はありません。まずはエディタとGit/GitHubから始めて、徐々に他のツールも使っていくのがおすすめです。「使ったことがある」というだけでも、面接では評価されやすい項目です。 |
ポートフォリオ作成のポイントは「小さく始めて、少しずつ機能を追加していく」ことです。
完璧なアプリを作ろうとするのではなく、まずは基本機能を実装し、そこから少しずつ発展させていくのがコツです。
公務員から未経験でエンジニアに転職して良かったこと
私がエンジニアになって特に魅力的だと感じるのは、「学びと出会いの機会の多さ」です。
豊富な勉強会・イベント
東京では3日に1回は何かしらの勉強会やイベントが開催されています。
私も何度か参加しましたが、そこでは普通出会えない人に会うことができます。
例えば、同志だと思い何気なく会話をしていたら、相手がGAFA(Google、Apple、Facebook、Amazonの頭文字を綴った総称)のエンジニアだと分かったり、大規模なプロジェクトを手がけるプロダクトマネージャーだったり。普通では出会えないような方々と、エンジニアというつながりで知り合えるのです。
働き方の自由度
私が初めて関わった開発プロジェクトは、オフィスがないフルリモートの環境でした。
しかし、経験が浅かった私は、あえてチームメンバーがよく利用するコワーキングスペースで作業することを選びました。
結果として、これが非常に良い選択だったと思います。
分からないことがあればすぐに質問できる環境があり、時にはカフェでメンバーと休憩しながら雑談するなど、充実した時間を過ごすことができました。
キャリアの可能性の広がり
前述の通りエンジニアは頻繁に勉強会・イベントなどで他者と交流する機会があります。そこから仕事の受注や、キャリアステップのチャンスを手に入れることもできます。
このように、自分に合った働き方を選択できる自由があるのも、エンジニアの魅力の一つだと感じています。
まとめ:公務員からエンジニア転職は、実現できます!
ここまで、私の経験をもとに公務員からエンジニアへの転職ステップをご紹介してきました。最初は不安だらけだった私も、今ではメンターとして働きながら副業でエンジニアとして活動しています。忙しさはありつつも、日々充実していると実感しています。
確かに、近年はエンジニアに求められるスキルも高度化しています。プログラミング学習の教材は充実し、スクールの選択肢も増えてきましたが、その分、転職時に求められる技術力も上がってきているのが現状です。
しかし、適切な準備と戦略があれば、公務員からエンジニアへの転職は十分に実現可能です。特に、文書読解力やチームでの働き方など、公務員経験で培ったスキルは、エンジニアとしても大きな強みとなります。
テックキャンプには、あなたの状況に合わせて選べる2つのコースがあります。
- 『短期集中コース』:より短期間で確実にエンジニア転職を実現
- 『夜間休日コース』:仕事と両立しながら着実にスキルを身につける
あなたに合ったコース選択や学習プラン、気になる費用など、まずは無料カウンセリングでご相談ください。
プログラミングスクール「テックキャンプ」無料カウンセリングはこちら
はじめての転職、何から始めればいいか分からないなら
「そろそろ転職したいけれど、失敗はしたくない……」そんな方へ、テックキャンプでは読むだけでIT転職が有利になる限定資料を無料プレゼント中!
例えばこのような疑問はありませんか。
・未経験OKの求人へ応募するのは危ない?
・IT業界転職における“35歳限界説”は本当?
・手に職をつけて収入を安定させられる職種は?
資料では、転職でよくある疑問について丁寧に解説します。IT業界だけでなく、転職を考えている全ての方におすすめです。
「自分がIT業界に向いているかどうか」など、IT転職に興味がある方は無料カウンセリングにもお気軽にお申し込みください。