
こんにちわ。プログラマー歴が大体10年くらいになる管理人の「ヒロユキ」と申します。
社会人になり「色々仕事に役立つ勉強したいなあ」と思うことが多いのですが、実際に何をやれば良いのか迷ってしまうことが多いですよね。
私は職歴がほぼプログラマーのため、他職のことはわかりませんが、プログラマーであれば、迷ったら英語を勉強しておくことをオススメします。
その理由について記載をしていきたいと思います。
当然ですが、プログラムの勉強の方が先決です
この記事では、「勉強すべきこと=仕事に直接役に立つ」という前提で書いています。
初心者プログラマーの方が、真っ先に勉強すべきなのは、もちろん「プログラミング」です。
もう就職されている方であれば、会社の仕事をベースに考えればいいので楽ですね。個人的に好きなのは、会社で使用しそうな言語を勉強することです。
“使用している”ではなく”使用しそうな”と記載したのには理由があります。
将来を考えた時に現在使用している言語の勉強をするより、別の言語を使う他案件に参画しやすくしたほうが良いと思うからです。
例えば、現在Java歴2年目の方がいらっしゃるとして
- JavaSilver→JavaGoldとベンダー資格を取得していく
- Javaについて更に学習を進めていく(設計やフレームワークの勉強とか)
というのが思いつくところですが、出来れば次々に別の技術を学習できるようにしたほうが市場価値は上がっていくので、自社内でやっている未経験分野を学習してアピールに使ったほうが良いのではないかと考えます。
私自身がVBだけを専門にしてきたせいで、自身のスキルの幅が非常に狭くなってしまったと後悔しているからです。
まだ未就労のプログラマーの方は、とりあえず HTML、CSS、JavaScript、SQLを勉強するのが良いかと思います。(知らないと絶対困るので)
しかしプログラムは外出中に勉強しにくい
前述したとおり、当然プログラムは勉強するべきですが、個人的にプログラミングの勉強は自宅外だとやりにくいです。
理由は、以下3点となります。
- スマホだとプログラミングしにくい(PCでやりたい)
- 技術書はスマホやKindleだと読みにくい
- 音声学習も難しい
私はKindelユーザーなので、実際に電車内などでプログラミングの本を読もうとしたことがあるのですが、コードがまじで読めないです。
とあるプログラムの技術書をKindleで表示してみた画像が以下↓

Kindleやスマホは画面サイズが小さいため、コードの途中で改ページされてしまいコードの可読性が非常に低いです。
更に、コードの後に解説がある場合、コードがあるページまで戻って確認をしなければいけません。
また、前述したとおり実際に動かしながら学習したいところもあるので、PCを使える環境も欲しいところです。
紙の本とノートPCを持ち歩いていれば外出中にも学習効率は落ちないと思いますが、正直重いのでやりたくありません。
あと、私物PCなどを持ち込んではいけない会社も多いと思うので、そもそもノートPCを持ち歩くのが難しい場合もあります。
まとめると
「プログラミングを勉強するのは一番良さそうですが、様々な制限があるため、電車内などの隙間時間に勉強するのは難しい」ということになります。
英語のReadingは出来ておいて損はない
では隙間時間に勉強するには何が良いでしょうか?
プログラミング以外でおすすめの勉強というと…
- マネージメントについての知識
- コミュニケーションに関わる知識
- マイクロソフトオフィスの知識(SIerの場合)
- 業務知識
あたりは将来を考えるとやっておいて損はないと思います。ただプログラミングという行為自体に直接影響するものではありません。
プログラミングに直接関わる部分としては、英語のReadingを鍛えることがおすすめです。
理由は以下の通り。
- オープンソースのライブラリを使用する時、GITのReadMeはほぼ英語
- 英語で検索すると日本語より情報量が桁違いに多い。例えば「Rails example」みたいにsampleとかexampleをつけて検索してます。
- Q&Aサイトも英語のサイトのほうが情報量が多い
つまり「コーディング中にハマった時」、「なにか新しいオープンソースを導入する時」など英語が読めないと作業効率が落ちることがあります。
Google翻訳を使えよって意見もあるかと思いますが、ページ全体を翻訳するとソースまで日本語になってしまい訳わからなくなるケースも有るため、長文だと面倒です。基本的には英語で読めたほうが良いかと思います。
逆に言うと、「新しい技術を全く使わず、枯れた技術のみで構築している案件」は英語をやる機会はあまり無いと思うので、当てはまりません。
しかし、最新技術を駆使する仕事のほうが人気もあると思うので、そういった仕事を目指すなら英語はやっておいて損はないかと思います。
ListeningやSpeakingよりReading
余談ですが、英語学習と言うと、「日本の学習はListeningやSpeakingが上達しないから駄目」という批判が私の子供の頃からありました。
なんとなく
会話ができる>文字の読み書きができる
という優劣がつけられている気がします。学校以外で英語学習するとなると英会話が人気ですしね。
私も英語が話せるようになりたいと思いますが、今はインターネットの時代ですし文字の読み書きのほうが重要だと思っています。
英語が読めるということは、ネットから得られる情報が非常に多くなるので、あらゆる職業で有利に働きそうです。
一方で、英会話が必要なものは職業が限られるため、個人的に学校などで文字の読み書きを重視するのは悪くないと思い始めました。
IT業界ですと、オフショアなどとやり取りをするブリッジSEや海外相手に商売をする場合には、英会話も必須になってくるかもしれません。
(ただ最近のオフショアは、日本向けの戦略をとっていることが多く、こちらが英語を話さなくても、向こうが日本語を話してくれることが多い印象です。)
一部では数学の知識も問われる
「プログラミング=数学ができないといけない」というのもよく言われることなのですが、ぶっちゃけ必要になったことがないです。
数学が必要というと複雑なアルゴリズムを組むようなイメージですが、正直便利なフレームワークを使ってプログラムしていくことが殆どなので、頭もあまり使わないです。
前に、生産管理のシステム保守をしていた時に、計算式を多用することがありましたが、中学生レベルの数学が出来れば全く問題ないです。
しかし、量子プログラミングや複雑な組み込みプログラムを組む際には「数学が得意でなければやってられない」という話も聞きます。
そのため、数学もやっておいて損はないかと思うのですが、「英語で検索できる」こととどちらが必須度が高いかと言うと、やはり英語だと思います。
まとめ
- プログラマーならプログラミングを勉強すべきだが、外出中は勉強しにくい
- 最新技術を駆使する仕事は、英語を勉強しておくと生産性が上がる
- 一部では数学も重要だが、大半のプログラマーは使用しない