公務員

【リアルを伝えるよ】公務員の仕事でプログラミングは役立つ?オススメの言語と勉強法も解説!

現役の公務員
現役の公務員
プログラミングを勉強したいけど、どうやって学んだらいいんだろう…?

こんな悩みを持つ現役公務員に向けて、この記事では、

  1. 効率化のためにプログラミングを学ぶ際の注意
  2. VBAを勉強するオススメの方法
  3. 勉強した知識を業務で活かす際の注意点

など、「プログラミングを学びたい公務員が知りたいこと」を解説するよ。

ソウ

僕は元公務員&上場企業へのエンジニア転職成功者なので、参考になるかと

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

それは、

僕はプログラミングが本当に大好き!

ということ。

  • 初めてアプリを完成させたとき
  • 自分が書いたコードがうまく機能した瞬間

これらのときに訪れる感動や興奮は、ほかではそうそう味わえない。

ソウ

1日かかってエラーを解決できた瞬間の喜びはヤバい

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

というのも、

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

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

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

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

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

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

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

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

プログラミングの言語はザックリと次の2つに分類できる。

プログラミング言語の2分類
  1. フロントエンド
  2. バックエンド

この違いは、プログラミングを学ぶ上でとても重要なので、まずはこれらの違いを解説していくよ。

フロントエンドとは

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

主な言語は次の3つだよ。

フロントエンドの3言語
  1. HTML
  2. CSS
  3. javascript

ソウ

これだけだと説明不足なので、実際のWebページを見ながら解説するよ

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

↑これは僕がコーディングしたページ。

このページには先ほど紹介した、

  • HTML
  • CSS
  • Javascript

これらの言語が全て含まれてるので、このページを使って解説するね。

HTMLとCSSは厳密にはプログラミング言語ではないけど、話がややこしくなるので、いったん同様に扱うよ。

①HTML

HTMLは、「コンテンツを表示するための言語」だよ。

といっても、この説明だと分からないので、先ほどのページから、

  • CSS
  • javascript

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

↓このページをHTMLだけにすると…

↓こうなる

ソウ

Windows95とかの時代では、こんなページをよく見かけたよね

②CSS

CSSは「デザインするための言語」

先ほどのHTMLだけのページにCSSを加えると、次のようになる↓

こんなかんじで、

  • 画像のサイズ調整
  • 文字の色や配置
  • 各素材の重なり

など、見た目の調整がCSSの役割なんだ。

ソウ

世の中の99%の記事は、少なくともHTMLとCSSが使われてるのが、よく分かるね

③javascript

現役の公務員
現役の公務員
じゃあ、Javascriptはどんな役割があるの?

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

実は先ほどのページ、見た目はいいかんじになったけど、一つだけ問題がある。

それが、「このままだとページが動かない」ということ。

例えば、スマホでWebページを見ると、ほぼ確実に目にする「3本の線」。

ここの開閉を担っているのがJavascript。

だから、HTMLとCSSだけのページだと、基本的には開くことができないんだ。

ちなみにいうと、このページでは他にも、

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

などにも、javascriptが使われてるよ。

ということで、話をまとめると、フロントエンド言語の各役割は次のとおり。

  1. HTML:ページを表示するために絶対に必要な言語
  2. CSS:ページの装飾に使う言語
  3. javascript:ページに動きを付けるための言語

ソウ

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

バックエンド

バックエンド言語は、

  • Webページのログイン
  • ブログの記事を保存・更新
  • Twitterのフォロー

など、ユーザーからは見えない部分の処理を行う言語だよ。

ソウ

「システム開発」「業務の効率化」「AI」などは全てバックエンドの言語が担ってる

バックエンドは言語が無数にあるけど、よく使われるのが次の4つ。

主なバックエンド言語
  1. Ruby
  2. PHP
  3. Python
  4. JAVA

これらの言語は、

  • コードの書き方
  • 処理の速さ

などに違いはあるけど、初心者の段階では、「どの言語も一緒」と考えて問題ない。

ただ、それだけだとイメージが湧かないと思うので、各言語で開発されたアプリを解説すると、次のとおり。

  1. Ruby:クックパッド、Hulu
  2. PHP:Facebook、大半のブログ
  3. Python:YouTube、Uber
  4. JAVA:楽天の取引システム、Twitter

ソウ

普段から使ってるサービスに用いられてるのがよく分かるかと。

プログラミングを学ぶ際は言語選びに注意

ネットを見てると、

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

こんな記事を見かけるかと思う。

これについては確かに事実。

ソウ

僕自身、1時間かかる作業を5分で終えるプログラムを組んだことがある

ただし、学んだプログラミングの知識を公務で扱いたい場合は少し注意が必要なんだ。

Ruby・PHP・Python・JAVAは公務で使えない

公務員が、プログラミングの知識を活かす際に注意したいのが、

「環境構築が必要な言語は、公務員の職場では使えない」

ということ。

業務の効率化にバックエンド言語を使うのは、先ほど解説したとおり。

そして、これからバックエンドを学ぶ場合、大半は、次の4言語から選ぶことになる。

  • PHP
  • Ruby
  • Python
  • JAVA

そして、これらの言語を動かすには「環境構築」と呼ばれる事前準備が必要なんだ。

現役の公務員
現役の公務員
「環境構築」って具体的にはどんな事をするの?

「環境構築」では次のような作業をする。

「環境構築」でやること
  1. 色んなソフトウェアをネット上からインストールする
  2. インストールしたシステムを連携させる

ここで気付くけど、公務で扱うパソコンではこんな作業はまず出来ない。

個人情報などの重要情報を扱う公務員は、

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

などの理由から、ネット上のソフトをインストールするのは、現実的にかなり難しい。

ソウ

というか、実質的には不可能に近いよね

もちろん次の方法なら、環境構築が必要な言語も業務で使うことも不可能ではない。

  1. 個人のパソコンでコードを書く
  2. 作ったプログラムをネット上に公開する
  3. ネット上に存在するプログラムを使って業務の効率化を図る

とは言え、この場合はもちろん重要情報を扱えない。

だから結局、

  • PHP
  • Ruby
  • Python
  • JAVA

など、環境構築が必要な言語は、仕事で活用できないんだ。

公務員が業務で使うならVBA一択

現役の公務員
現役の公務員
じゃあプログラミングを学んでも業務の役には立たないの?

もちろん、そんなことはない。

環境構築がハードルなので、環境構築が不要な言語なら、公務でも活用できる。

ソウ

そして、その「環境構築が不要な言語」がVBAだよ

VBAはエクセルが開ければ使える言語。

セキュリティの厳しい公務員のパソコンでも自由に使えるので、

  • エクセル
  • ショートカット

と同様に、公務員なら学んでおきたいスキルの一つと言えるんだ!

ソウ

ちなみにエクセルやショートカットの勉強法は次の記事で解説してるので、よければ参考にしてね

VBAはエンジニア転職でも役立つ

スキルアップ

VBAは基本的にエクセルでのみ動く。

だから、エンジニア転職も視野に入れてる人のなかには、

VBAなんか学んでもエンジニア転職には役に立たないから!
って考えてる人もいる。

ただ、この考えはかなり間違っている。

というのも、エンジニアに転職する際は「○○の言語が使える」って点はあまり評価されないんだ。

ソウ

プログラミングの基本構造はどの言語も一緒だから、問題ではないらしい

むしろエンジニア転職で大事なのは、

  • プログラミング的な思考力の有無
  • 基本的なコミュニケーション力

などの根本的な資質。

ソウ

実際、僕はずっとRubyを勉強してたけど、内定をもらった会社はPHPが専門

その点、VBAは、

  • 基本的な考え方は他のバックエンド言語と同じ
  • 環境構築が無いので、始めやすい

などの理由から、これから勉強始める人にはオススメの言語といえる。

だからこそ、

「エンジニア転職も視野に入れつつ、プログラミングを学びたい」

って思うなら、VBAを勉強すべきなんだ。

プログラミングの勉強にスクールは必要か?

現役の公務員
現役の公務員
「プログラミングはスクールで学ぶべき」って聞くけど、実際はどうなんだろう…?

もし、エンジニア転職だけが目的で、

  • PHP
  • Ruby
  • Python
  • JAVA

などの言語を学びたければ、スクールに通うことも検討すべき。

でも、VBAなら独学で充分に学べる。

なので、

「プログラミングはスクールに通わなければ絶対に挫折する」

こんな意見に惑わされないでほしい。

ちなみに、エンジニア転職を目的に勉強する場合でも独学は可能だし、実際に僕は独学で内定をゲットした。

ソウ

僕が独学でエンジニア転職した記録は次の記事で解説したので、気になる人は読んでみてね


VBAの勉強方法

新しいことを学ぶ方法としてまず思いつくのが、「参考書を使って学ぶ」って方法。

「参考書で学ぶ」って方法は、

  • 本屋に行けばすぐに勉強を開始できる
  • カバンに参考書を入れておけばスキマ時間に勉強できる
  • 本を持っていけば、職場でOJTで学べる

など、メリットも多いので、オススメの学習法の一つではある。

ソウ

もし参考書で学ぶなら、「入社1年目からのExcel VBA」って一冊がオススメ

ただ、「参考書で学ぶ」って方法だと、

「テキスト情報だけだと、内容を理解するのがツラい」

という大きなデメリットがある。

これは「仕事の引継ぎ」を想像するとイメージしやすい。

あなたが異動したばかりで、前任者から仕事を引き継ぐとして、

  1. 引き継ぎ書だけを渡される
  2. 前任者が引き継ぎ書を見せながら、口頭でも説明してくれる

どちらがより深く理解できるだろうか?

やはりテキスト情報だけで全てを理解するのはかなりシンドイ。

なにか新しいことを学ぶのであれば、

  • 引き継ぎ書を見つつ、
  • 口頭で説明してもらい、
  • 分からない部分は質問する

など、眼と耳を使って情報が得る方が理解が進むのは理解してもらえるかと思う。

こんなふうに、参考書はメリットもあるけど、「理解しやすさ」に若干の不安が残る学習法だと言えるんだ。

オススメはUdemyによる動画での学習

そこでオススメなのが動画を使って学習すること。

なぜなら、

  • 目で見て
  • 耳で聴いて
  • 手を使ってコードを書く

ってかんじで、様々な器官を使うから、単に参考書を読むよりも理解度が格段に上がるんだ。

ソウ

プログラミングを学習する上では、かなり王道な方法だよ

そして、動画学習でオススメは「Udemy」ってプラットフォーム。

Udemyって何…?初めて聞くんだけど…。

Udemyは、スキル向上を目的とした動画講義が配信されてるプラットフォームだよ。

↓こんなジャンルがあるんだ。

ソウ

Twitterではときどき話題に挙がるから知ってる人も多いかと

ちなみにUdemyは日本の大手企業「ベネッセ」がパートナーになってるんだ。

Udemyは、米国法人Udemy,Inc.が運営するオンライン教育プラットフォームです。

ベネッセは、Udemy社の日本における事業パートナーであり、本サイトにおいてUdemy講座の受講生に人気のあるトピックや講座をご紹介しております。

Udemyのホームページ」より引用

さらに、企業向けの「Udemy for Business」は、

  • TOYOTA
  • Yahoo! JAPAN
  • 三井不動産
  • KDDI

など、日本の大企業も研修に採用してる。

ソウ

「ベネッセ」がパートナーであることや、大企業が研修に採用してる点を見ると、Udemyは信頼できるプラットフォームだと言えるね

Udemyでオススメの講座

そんなUdemyでオススメなのが、「Excel VBA[第1弾](超入門)エクセルが自動で仕事する!マクロの魔法 文系・非IT職もできるプログラミング 」って講座。

この講座をオススメする理由は次のとおり。

この講座をオススメする理由
  1. アニメを随所に入れるなど、内容が分かりやすい
  2. 「Udemy for Business」の厳選コースに採用されてる
  3. 下手な参考書よりもお手軽な値段

ソウ

この講座について詳しく知りたい人は次の記事を参考にしてね

↓これは、この講座の一部だよ。

いずれにせよ、この講義は、

  • 分かりやすさ
  • コンテンツの信用性
  • 学習にかかる費用

などの面からオススメな学習法なので、VBAを学ぶ際は、ぜひ検討してほしい。

ソウ

30日の返金保証も付いてるので、安心して購入できるかと

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

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

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

というのも、

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

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

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

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

とはいえ、自分がやりたいと思った事を頑張るのが一番成果が出る。

だからあまり気にせず、自分のやりたい事やってみてほしい。

仕事でプログラミングを使う際に注意すべき点

学んだプログラミングのスキルを仕事で活かす際に注意したいのが、

99%の公務員はVBAを触れない

という事実を理解しておくこと。

自分が作ったプログラムを誰も理解できないと、引継ぎが大変になって、最悪の場合、

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

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

こんな悲しい事態を避ける方法は次の3つ。

異動後のトラブルを避ける方法
  1. 課全体で使わない
  2. メモをしっかり残す
  3. 複雑なコードを書かない

メモを残したり、コードを簡単にすることで、リスクは減らすことはできるけど、100%ではない。

なので、基本的には作ったマクロは個人での使用に留めておくのが賢明かと思う。

ソウ

まぁ、実際はこの手の理由で頼られるのは気分がいいんだけどね

公務員ならVBAからプログラミングの勉強を始めよう

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

今回の内容をまとめるよ。

プログラミング言語は、

  1. フロントエンド言語
  2. バックエンド言語

この2つに大別できる。

このうち、業務の効率化を図りたいなら、バックエンド言語を学ぶ必要がある。

ただし、バックエンド言語の中でも、有名どころである、

  • Ruby
  • PHP
  • Python
  • JAVA

これらの言語は「環境構築」が必要で、公務で使うパソコンではほぼ確実に使えない。

だから、公務員がこれからプログラミングを学ぶ場合、VBAがもっともオススメ。

ソウ

エンジニア転職を視野に入れてる場合も、後々に活きてくる

また、VBAの学習方法は色々あるけど、オススメは「Udemy」による動画での学習。

なかでも、「Excel VBA[第1弾](超入門)エクセルが自動で仕事する!マクロの魔法 文系・非IT職もできるプログラミング 」って講座は本当にオススメ。

この講座をオススメする理由
  1. アニメを随所に入れるなど、内容が分かりやすい
  2. 「Udemy for Business」の厳選コースに採用されてる
  3. 下手な参考書よりもお手軽な値段

ソウ

コチラで解説したとおり、他の学習方法を選ぶ理由が見つからない

VBAの勉強をすれば1ヶ月ほどで大半のことは出来るはず。

変な情報に騙されることなく、ぜひプログラミングの勉強を頑張ってほしい。

この記事があなたの参考になれば幸いです。

それでは!