こんにちは。ウェブプログラマー歴8年のしぐねと申します。
普段は、コードばかり書いていて文章を書くのは苦手なのですが、出来るだけ判りやすく書いていこうと思いますので、よろしくお願いします。
プログラマーは大変な仕事ではありますが、ものづくりが好きな僕にとっては天職のような仕事だと思っています。
長いことこの仕事をさせてもらっていますが、いまだにプログラマーの需要が多いのを肌で感じます。
多分、転職しようと思っても転職先に困らないでしょうし、何だったら知り合いの会社から、
「転職考えてるならうちにおいでよ」
って誘われることも少なくないです。
なので、無理に会社にしがみつく必要もないし、比較的やりたいことができやすい職種でもあります。
また、プログラマーは潰しが効く職業でもあります。
僕は、コードを書くことが好きなので、これからもプログラマーをやっていこうと思っていますが、プログラマー仲間にはジョブチェンジしていく人も少なくありません。
ある程度プログラマーとして実績を積んだら、ディレクターや、プロジェクトマネージャーなどの管理系の職種にジョブチェンジすると、それまでの経験が生かされるので、とても重宝されるそうです。
システムに明るくて、かつ管理職というポジションが取れると給料もかなり高くなります。
今後、AIが発達していくと減っていく仕事とも言われていますが、流石に管理職系の業務までAIにとって変わられることはないので、生き残る道は広いとおもいます。
それに、AI自体を作るのはやっぱいりプログラマーの仕事ですしね。
そんなわけで、プログラマーは将来的にも安定したとても美味しい仕事だと思っています。
今回は、これからプログラマーを目指したいと考えている人や、プログラマー職に転職したい人向けに、手っ取り早くプログラマーになるにはというテーマでお話させてもらいます。
どの言語を覚えればいいのか?
まずはじめに、これからプログラマーを目指す人が迷うのが、どの言語を覚えればいいのか?ということではないでしょうか。
プログラマーと一言で言っても多岐に渡ります。
ウェブ系、スマホアプリ系、Windowsなどのデスクトップアプリ、コンシューマゲーム系、組み込み系から汎用機まで。。。。
扱う製品が変われば、そこで使われるプログラムもまったく別のものになってきます。
言語にしても、JAVA、C、C#、PHP、Ruby、javascript、 Swift、node.js、Python などなど。
全部覚えようと思ったら一生かかっても時間が足りません。
プログラミング言語にもそれぞれ個性があって、使い所も得意とするところも違います。
もちろん、全てを扱えれば一番いいのですが、それはあまりにも学習コストが高すぎます。
ここでは未経験者がもっとも効率よくプログラマーを目指すという点に主眼を置いて考えてみたいと思います。
先日、ビズリーチという求人サイトが出したデータがあるのですが、プログラミング言語別に求人の年収をまとめたものだそうです。
これによると、GoとScalaというプログラミング言語の求人が、年収的に有利ということになっています。
じゃあ、GoとかScalaを覚えればいいのか?、というとそうでもなくて気をつけて欲しいことがあります。
それは、募集の条件が良くても、求人数が少なければそれだけ狭き門をくぐらなくてはならないということです。
もちろんGoやScalaを覚えるのも一つの手だと思います。
しかし、これらの言語は比較的新しいもので、情報が少なく学習コストが高かったり、今後スタンダードなものとして使われ続けるかは未知数です。
このような理由からも、そもそも扱える人が少ないから、その分高い条件が出ているのかもしれないですよね。
その上で、自信がある人はこれらの言語を選んでみてもいいと思います。
しかし、この記事のテーマは、あくまで手っ取り早くプログラマーになることなので、未経験者の人でもプログラマーの第一歩をスムーズに歩み出せるかという点に主眼をおきたいと思います。
ですので、学習コストが低く、就職先もできるだけ多く、今後も使い続けられる言語という点で評価する必要があります。
この手の記事でよく、いろいろ条件がついて結局なにが言いたいのかよくわからないというパターンが見受けられるのですが、それだと何の解決にもならないので、ここでは語弊を恐れずにあえて言い切りたいとおいもいます。
ずばり、僕が考える手っ取り早くプログラマーになるのにおすすめの言語はPHPです。
PHPは、他言語のプログラマーからはなにかと嫌われやすい言語ではありますが、最近はバージョンアップやフレームワークやライブラリが豊富になってきたこともあり、他言語と比較しても遜色ないパフォーマンスが出せるようになってきました。
そして、なんだかんだ言ってPHPを採用している企業やサービスも多いのも事実です。
有名なところだと、wikipediaやslackはPHPで作られていますし、facebookもPHP互換の言語が採用されています。
日本でも、楽天がいち早くPHPを開発に取り入れたことで知られていますし、YahooJapan!でもPHPで作られたサービスが多数あります。
もちろん、それほど有名ではない中小企業であれば数え切れないほど使われているでしょう。
僕の肌感覚でも、プログラミング言語にPHPを使っている会社や現場は多いと感じます。
これほど多くの企業がPHPを採用するには理由があって、それは開発コストが安く済むからというものです。
PHPは覚えるのが比較的簡単な言語です。
会社側からすると、それだけに学習コストがかからず、ひいては開発コストが削減できるという事情があります。
なので、年収ランキングで見るとPHPは見事に圏外になってしまいます。
しかし、多くの企業で採用されている開発環境であるということは、それだけ求人も多いということが言えて、さらに覚えるのが楽なので、それだけプログラマーになるには近道だと言えます。
一応、補足というか言い訳。。。
主題とはずれてしまうかもしれませんが、正直、僕もこれだけの理由で決めていいものかという気もします。
最後にその点について補足というか、付け足しをしておきたいと思います。
僕は、インターネットが好きで学生のときはインターネットばかり見ていたのですが、やがてWEBアプリを自分でも作って見たいと思うようになってプログラムを覚えるようになりました。
はじめに覚えた言語も、perlというWeb系の言語でした。
最近ではperlも、あまり使われない言語になってしまったのですが、当時はmixiというSNSサービスを作るのに使われた言語としても知られていて人気のある言語でした。
その延長線上で、今もいろんな言語を使ってWebアプリケーションの開発をしているのですが、そもそも作りたいものが自分にあるなら、それにあった選択肢を取るべきです。
例えば、スクエア・エニックスやSEGAなどの会社に入ってコンシューマーゲームの開発をしたいという人であれば、そもそもWebの言語を覚えてもしょうがないので、PS4の開発などでもよく使われるC++などを覚えるべきでしょう。
入りたい会社があって、その会社の汎用機がcobolだったらやっぱりcobolをはじめに覚えるべきでしょう。
今流行りのデータサイエンティストになりたいのであれば、pythonで統計ライブラリを扱えるようになるのもありかもしれません。
このように自分の作りたいものや、入りたい会社や業界がはっきりしている人は、それに応じた言語を選ぶ必要があります。
つまり、どの言語を選ぶかにおいては、やっぱり自分がなにを作りたいのかという判断基準は外せないのだろうと思います。
好きなことや興味を持つことに勝る才能はありません。
もし、あなたに作りたいものや興味のある分野があれば、まずはそれを実現する手段としてプログラミングを覚えてみることをお勧めします。