プログラミング・エンジニア転職

【リアルを伝えます】公務員として働く上でプログラミングを学ぶべき?資格取得の方が先?

最近、「AI」や「効率化」ってよく聞くけど、自分もプログラミングを学んだ方がいいのかな…?

こんな悩みを持つ現役の公務員に向けて、今回は「公務員がプログラミングを学ぶ上で知りたいこと」を解説するよ!

具体的には、

  • プログラミングで仕事が効率化できるのは本当か
  • 公務員がプログラミングを学ぶべき理由
  • 公務員は資格とプログラミングのいずれに取り組むべきか
  • プログラミングの勉強方法

これらを解説するよ。

具体的な解説の前に自己紹介をすると、

  • 元地方公務員(事務職)
  • その後、とある大企業に転職
  • 更にその後、プログラミングを学んで、半年で上場企業から内定

こんなかんじ!

ソウ

「公務員とプログラミング」については十分な経歴じゃないかな

そしてもう一つ、本題に入る前に伝えておきたいことがある。

それは、僕はプログラミングが本当に大好きだってこと!

自分の書いたコードがうまく機能して、画面に表示された瞬間の興奮は、そう味わえるものではないし、

初めてアプリを完成させたときの感動は今でも忘れらない。

でも最近、プログラミングのイメージが少し悪くなったように感じる

というのも、

  • 「3ヶ月で年収1,000万円も可能!」
  • 「誰でもフリーランスになれます」

こんな「誰でも簡単にスマホで稼げます」と同レベルの広告が広まったことが原因だと思ってる。

大好きなプログラミングをそういう「イロモノ」扱いされるのは本当に悔しい。

だからこの記事では、プログラミングに関するリアルを伝えたいと思う。

プログラミングは大変だけど、すごい楽しい!

この記事がプログラミングを始めるキッカケになったら嬉しいな。

プログラミング言語は主に2種類

データが書かれた資料の画像

「プログラミング」って一口で言っても、その種類はザックリと、

  • フロントエンド
  • バックエンド

この2種類に分けることができる。

この違いを知ることは、プログラミングを学ぶ上で重要だから、まずはこれについて解説するよ。

フロントエンドとは

「フロントエンド」はユーザーから見える部分を構築する言語だよ!

「フロントエンド」と呼ばれる主な言語は、

  • HTML
  • CSS
  • javascript

この3つ。

ソウ

これらの言語は初心者でも聞いたことがあるんじゃないかな

これだけだと、意味が分からないので、実際のWebページを見ながら解説するね。

HTMLやCSSは厳密にはプログラミング言語ではないけど、ひとまとめにされる場合が多いので、いったん同様に扱うよ。

まずはこのページを見てほしい。

これは僕が実際にコーディングしたページなんだけど、これには先ほど紹介した3つの言語が全て含まれている。

このページを使って、解説を進めていくね。

HTML

HTMLをザックリ言えば「コンテンツを表示するための言語」だよ!

と言ってもイメージが湧かないので、

  • CSS
  • javascript

これらを除外して、HTMLだけにした場合、どんなふうになるか見ていこう。

具体的に、このページをHTMLだけにすると、これが、

<>

こんなかんじに変わる!

<>

今ではほとんど見ないけど、CSSやjavascriptの接続が上手くいかず、こんな状態になってるページは稀にあるよね。

CSS

CSSをザックリ言えば、「ページのデザインするための言語」だよ。

先ほどのHTMLページだけのページ、

<>

ここにCSSを加えると、

<>

こんなかんじになる。

ソウ

とりあえずHTMLとCSSが必須なのは、これでよく分かるかと

javascript

javascriptをザックリ言えば、「ページに動きを付けるための言語」だよ。

実は先ほどのページ、見た目はいいかんじになったけど、実は動かない部分があるんだ。

例えば、この部分。

<>

一見クリックしたら動きそうだけど、今のままだと一切動かない。

他にも、

  • ページを読み込んだ際の「SAMPLE」って文字だけの表示
  • スクロールを進めると、フワッとコンテンツが表示されるアニメーション
  • トップまでスクロールしてくれるボタン

これらは全てjavascriptが使われてるんだ。

ソウ

以上の3つがフロントエンドの主な言語だよ

バックエンド

次にバックエンドについて解説するよ。

バックエンドについてザックリ解説すると、

「AならばBの処理をする」

こんな動きを担って扱ってくれる言語だよ。

公務員にとって、身近で分かりやすい例はExcelかな!

エクセルが持つ、

  • 他セルの参照
  • 関数(if関数、sum関数…)
  • マクロ

こういった機能は正にバックエンドの動きそのもの。

ソウ

「効率化」や「AI」などは、バックエンド言語が担当するよ!

公務員の仕事はプログラミングで効率化できる?

はてなマークの画像

ネットを見てると、

「公務員の仕事はプログラミングで効率化ができる!」

こんなうたい文句が書かれてるページがしばしば発見される。

正直に言って、こういうページはかなり怪しい。

ソウ

というか99%はウソか、公務員の世界を知らない人が書いてるよ

理由は次の2つ。

  • 職場でプログラムを動かす環境構築が出来ない
  • 効率化はエクセルだけで充分に可能

それぞれ解説するよ。

理由1:職場でプログラムを動かす環境構築が出来ない

業務の効率化を実現する場合、バックエンド系の言語を活用することになるのは先ほどもしたとおり。

そして、これからプログラミングを学ぶあなたが、「バックエンド」の言語を学ぶ場合、

  • PHP
  • Ruby
  • Python
  • VBA

ほぼ確実に上記のいずれかの言語を学ぶことになる。

ただ、ここで一点だけ問題が生じる。

それは、これらの言語は「環境構築」と呼ばれる事前準備が必要になるってこと。

「環境構築」をザックリ説明すると、

  1. 色んなシステムをネットからインストールする
  2. インストールしたシステムを繋ぎ合わせる

こんなかんじ。

ソウ

要するに、ネット上からシステムをインストールするってこと

ここで、現役公務員のあなたなら気付いたかもしれないけど、公務で扱うパソコンでこんな作業は許されないよね?

個人情報などの重要情報を扱う公務員であれば、

  • セキュリティ上の問題
  • 上司への説明

この辺の理由から、ネット上からシステムをインストールするなんて、現実的に考えればかなり難しい。

  1. プライベート用のパソコンでプログラムを組む
  2. 作ったプログラムをネット上に公開する
  3. 仕事の際は、ネット上でプログラムを使う

こんなふうにすれば、自分の組んだプログラムで、業務効率を図ることも可能ではある。

とは言え、重要情報を扱う公務員の仕事において、ネット上に情報をあげるような真似は許されるはずがない。

ソウ

少しでもミスったらマジで記者発表レベルの問題だしね

だから結局、プログラミングを学んでも、仕事の効率化に活用することは難しいんだ。

これはネットに転がってる多くのページが伝えてない事実だよね。

理由2:効率化はエクセルで十分可能だから

基本的に、バックエンド系の言語を扱うには環境構築が必要だけど、「VBA」って言語は例外で、環境構築必要ない

ソウ

Excel上で動作する言語だからね

とは言っても、公務員の仕事を行う上ではVBAも大半の人は不要というのが、僕の考え。

というのも、エクセルって超機能が充実してるから、エクセルに元々含まれてる、

  • オートフィル機能
  • 参照引用機能
  • 様々な関数
  • ピポットテーブル

これらの機能を使いこなせば、それだけで充分に業務を効率化できる。

それに、残念な問題として、99%の公務員は誰もVBAを触れないから業務の引継ぎが出来ないんだよね。

だから最悪の場合、あなたが異動した後に、

「あなたが組んだプログラムにエラーが出て直せないから、直しに来て!」

こんな悲しい電話が、異動したあなたのもとに来る可能性も十分ある。

ということで、「VBA」でも公務員の仕事を効率化には不要かと思う。

それでも公務員がプログラミングを学ぶべき

じゃあ公務員にプログラミングは不要かと言えば、そんなことはない。

実際にプログラミングを学んだ僕としては、

  • 公務員からの転職がかなり現実的になる
  • パソコンの基礎知識がすごい身につく
  • ホームページのデザイン・管理が楽勝になる

サッと思いつくだけでもこれだけのメリットがある。

それぞれ解説していくよ。

理由1:公務員からの転職がかなり現実的になる

「公務員からの転職は難しい」

これはよく言われる話かと思う。

面接する企業側の立場に立てば、公務員での実績や資格の有無では、実戦で役立つか分からないのが理由らしい。

実際、僕も他業種へ転職する際はかなり苦労した。

  • 知事表彰された実績
  • 仕事上での様々な改善
  • 持ってる資格

こういったものをアピールしても「でも、民間経験が無いんでしょ?」と言われて、かなり落とされた。

その一方、エンジニア転職をした際は、仕事の実績もそうだけど、それ以上に、

  • 自分が作ったアプリ
  • 「僕」の人間性

このあたりを見てもらった感があったし、正直、それほど苦労しなかった。

公務員として働く人は、

  • 真面目
  • 努力家
  • 優しい人

こんな人が多い印象を受ける。

そんな人が、プログラミング学べば、公務員からの転職もかなり現実的になるよ!

ソウ

いつでも転職できる公務員は、精神的な安定がハンパないかと

理由2:パソコンの基礎知識がすごい身につく

パソコンって専門用語が多いし、慣れてないと、用語を見るだけで「うっ…」ってなるよね。

ソウ

僕は「サーバー」って言葉への抵抗感がずっと拭えなかった…

そして、それが業務を処理する上で地味に障害になることもしばしば…

その点、プログラミングを学ぶと、過程でたくさんのパソコン関連の知識が身につく。

それこそ公務員として働く上で出会うであろう単語には一通り触れることになるので、かなり自信がつく。

実際、自分のアプリを作ろうとすれば、

  • サーバーの仕組み
  • ドメインの取得方法
  • 「キャッシュ」や「クッキー」の管理

こういった事を当然に触れることになるんだ。

そういう意味で言うと、パソコンは苦手な人ほどプログラミングを勉強すると、本業に良い影響が与えられるよ!

ホームページのデザイン・管理が楽勝になる

行政のホームページの管理って、

  • ・全体:広報の担当課
  • ・各ページ:各所属

こんなふうに分かれてるかと思う。

実際にホームページを更新した人なら分かるかと思うけど、地味にデザインが崩れたりしない?

たとえば、

  • 文字がうまく太字にならない
  • 画像が画面からはみ出る
  • 行間に微妙なスペースが生まれる

こんなかんじかな。

実はこれらは、先ほど説明したHTMLやCSSの問題であることが大半。

なので、フロントエンドの言語を学べばこういった問題も一発で解消できるようになるんだ!

ソウ

公務員はWeb関連の知識にうといから、重宝される人になれる

資格取得とプログラミングのどっちを優先すべきか

資格の取得にも興味があるけど、プログラミングの勉強とどっちを優先すべきかな?

こんな人は、自分のやりたい方をやればいいし、両方やりたいなら優先順位をつけた上で全部やればいいと思う。

というのも、

  • 資格の取得
  • プログラミングの勉強

いずれも、公務員がキャリアアップで勉強するのは意味があると思う。

具体的にいうなら、

資格取得のメリット
  • 特定の課で重宝される(宅建など)
  • 転職活動の際、エントリーシートに資格を書ける
プログラミングのメリット
  • 公務員からの転職がかなり現実的になる
  • パソコン知識やHPの編集など、様々な課で役立つ

こんなかんじかな。

ただ、資格は多く過ぎると「目的を持って行動できない人」って評価される可能性があるので、注意が必要かな。

とはいえ、自分がやりたいと思った事を頑張るのが一番成果が出るので、あまり気にせず、自分のやりたい事をやればよいかと思う。

スクールに通うか独学をするか

プログラミングを勉強しようと決めたら、実際にどうやって勉強するか検討する必要がある。

具体的には、

  • プログラミングスクールに通う
  • 自分ひとりで独学をする

このいずれかになる。

オススメはプログラミングスクール

個人的にはプログラミングスクールに通うことをオススメしたい。

僕は独学で勉強して、上場企業から内定をもらえたんだけど、

独学はめっっ……ちゃ、しんどかった!

何より大変だったのが、「エラーを直す」ってこと。

少し解説すると、エラーって99%の人が頻繁にぶち当たるようなハードルなんだ。

  • 現場で働く若手のエンジニア
  • プログラミングスクールに通う人

これらの人は周りに相談できる人がたくさんいるから、特に問題なくエラーをサクサク解消できる。

でも独学で学ぶ場合は周囲に助けてくれる人がいないので、こうはいかない。

実際に僕が遭遇した事例を出すと、

  • たった一つのエラーを直すのに3日かかった
  • いくら本を読んだりググっても解決方法が見つからない
  • 最終的な原因は「半角スペース」を「全角スペース」にしてしまっていた

こんなかんじ。

このあたりの話は別記事で詳しく解説してるので、気になる人はぜひ読んでみてね!

経験を重ねれば、エラーの原因は予測が付くんだけど、最初の頃はどうしてもそれが難しい。

そんなこともあって、

「独学でプログラミングを学ぶと挫折率は90%以上」

なんて話もあったりする。

まぁ、独学経験のある僕としては、これからプログラミングを学ぶ人はスクールに通うことをオススメするよ!

ソウ

独学だとリアルに100回は心が折れる…

まずは無料体験などから

とはいっても、プログラミングスクールもそれなりに費用がかかるのも事実。

だけど、

  • 公務員の将来への不安
  • プログラミングの汎用性

これらを考えると、その金額を払ってスクールに通うメリットは十分にある。

ソウ

公務員試験対策や大学受験のためにTACや大原などに通った人はなおさら

それに、スクールを一切見学せず、独学で勉強を始めたとする。

しばらく学習が進んで、エラーで詰まったりすると、

「あーやっぱりスクールに通うべきだったかな…」


という思いがふつふつと湧き出てくるんだ。

仮にそこからスクールに通い始めると、かなりのタイムロスになる。

そこで、「スクールに話を聞く」ってことだけを試してみてはどうだろう?

もちろん話を聞いても、納得しなければ入会する必要はない!

だから、ひととおりスクールの様子を伺って、自分に合わないと思うなら、独学をすればOK

こんなふうにすれば、仮に独学で勉強することにして、エラーで詰まったときに強い気持ちでエラーに立ち向かうことが出来るはずだよ!

スクールは2~3社は見たい

「ポイント」と書かれた画像

それともう一つ大事なポイントがある。

それは、スクールを見学する際のポイントは、複数社の見学をすること。

ソウ

予備校などと一緒で、「相性」があるからね

なので、スクールを検討するなら2~3社は検討したいところ

2~3社とは言っても、実際は1日もあれば回れると思うので、本気でプログラミングを学びたいと思うなら、ぜひオススメするよ。

趣味感覚でプログラミングを始めよう

「まとめ」と書かれた画像

今回は「公務員がプログラミングを学ぶ上で知りたいこと」を解説したよ!

「公務員の仕事はプログラミングで一瞬で片付く」なんて話はウソ。

だけど、公務員がプログラミングを学ぶことは、転職をする上でも、公務員として働く上でも、十分メリットがある

プログラミングを始めるか悩んでる人はぜひ試してみてほしい。

ソウ

最初は「新しい趣味を見つける」程度の感覚で問題ないかと

「でも、やっぱりプログラミングって難しそうだな…」って思う人も大丈夫。

  • HTML
  • CSS
  • javascript

こういったフロントエンド言語なら、2~3日で概要は十分に理解できる。

プログラミングを学ぶのは大変だけど、「出来た」って瞬間の興奮はマジで病みつきになる。

ソウ

自分が書いたページが、初めて表示された瞬間の興奮は今もハッキリ覚えてるよ!

まずは騙されたと思って、スクールに無料体験を申し込むなりして、プログラミングに触れてみてほしいな。

この記事があなたのプログラミングを始めるきっかけになれば幸いです。

それでは!