ファンブリューの金井です。
プログラマーをしていると、
「また新しい技術が出てる…」
「翻訳されたばっかりのオライリーの本、もう陳腐化してるじゃん」
と思うことがあります。
オライリーというのは動物の絵が描かれた技術書で、エンジニアに愛読されている有名なシリーズです。
それはさておき、こうもいろんな技術が生まれ、必死で学んでも無駄になるようなことがあると、頑張って勉強しようという意欲も削がれてしまいます。
このように思っている初学者の方は多いのではないでしょうか。
ここでは「一生使える技術」として、私がエンジニアとして積んできた経験を元に、これから学ぶべき内容に悩んでいる人に向けて、おすすめの技術や考え方をご紹介したいと思います。
ウェブ言語を必ず1つ学ぶ
プログラミングと一口に言っても、言語は無数にあり、どれを学べばいいか悩むかもしれません。
IT業界に馴染みがない人はプログラミングといえば、C言語を思い浮かぶかもしれませんし、HTMLやCSSを言語の1つとして捉えている方もいるでしょう。
そんな複数あるプログラミング言語ですが、その中でもウェブ開発に使われるものを1つ習得することをおすすめしたいです。
例えば、PHP、Ruby、Python、Javascript、Java…など、いくつかすぐに思い浮かびますが、どれでも良いので1つ学ぶものを決めます。
なぜウェブ開発向けの言語を選ぶかというと、やはりウェブ開発・システムが今後も切っても切り離せないものだからと考えるからです。
VBなどで作るデスクトップアプリケーションもまだまだ主流ですが、データの管理をクラウドに置くことが多くなり、それならシステムもメンテがしやすいウェブに置くといった、今後もウェブ開発は安定して需要があると見ています。
またウェブ開発の技術は、近年の技術の発達でデスクトップアプリケーションやスマホアプリの開発にも応用することが可能です。
まさに学んでおいて損はないだろうというのがウェブ開発の技術なのです。
SQLは今でも必須
SQLやDBは今も昔も学ぶべき技術の1つといえます。
DBを使わないシステムというのはほとんどなく、多くのアプリケーションはDBのデータを加工、抽出することで意味のある情報を表示することができるようになります。
すごく大雑把に「DBさえ綺麗に作れていれば表側は作り直せる」という方もいらっしゃいます。(実際の作り直しのコストがあるので、少し大げさではありますが)
つまりデータの扱いはシステム開発にとって非常に大事で、DBにアクセスして操作するためのSQLは、エンジニアにとっていまだに必須科目です。
ウェブ開発ではフレームワークを使うことが多いので、ライブラリによってSQLを直接書く機会は減ります。
それでも調査でデバッグやパフォーマンスチェックをするときなど、SQLを使う場面は少なくありません。
SQLに精通している必要はありませんが、簡単なクエリが書けるぐらいの知識は備えておくと仕事に生きてくるでしょう。
Linuxの操作
Linuxで使われる基本コマンドは暗記しても良いぐらいに必須の知識です。
ただ知識として詰め込むだけではいざというときに使えないので、自分でサーバー構築をやってみたり、しっかりと手を動かすことは意識した方が良いでしょう。
仮想化が流行り、現在はDockerも普及してきていますが、Dockerfileなども見てみるとわかるように、結局は基本的なコマンドの集まりが記載されています。
インフラ技術が発展しても、Linuxeのコマンドのような基本的なところは押さえておく必要があるということです。
それでいうと、Macはコマンドを覚えるには便利なマシンだと言えます。
標準でターミナルがインストールされているので、自然にコマンドを覚えやすい環境にあります。
それに、ウェブ開発はMac愛用者が多いイメージもありますね。
最近ではWindowsでもLinux環境を構築しやすくなりましたので、PCの違いによる学習のしやすさには違いは無くなってきていますが、初学者が学ぶための環境が初めから整っているのは1つ便利な点かと思います。
新しい技術を学ぶのは無駄ではない
いくつかの学ぶべき技術を書きましたが、新しい技術を学ぶことは実は無駄ではありません。
特に自分が習得していない分野に関しては、一度手を出しておくと、次に似たような技術が生まれたときに基礎を得ているため習得が早くなります。
例えば、何か1つSPA(シングルページアプリケーション)の技術を学んでおくと、他のSPAの技術を学んでもそれなり応用が効きます。
新しいもの全てに手を出すのは現実的ではありませんが、知らない分野を学ぶために、先取りで研究しておくことは後の学習速度に影響を与えます。
一通りできるようになったと感じたとき、幅を広げるために新しい技術に手を出すときは、上記のことを意識しても良いかと思います。
最後に
エンジニアの仕事をしていると「枯れた技術」という言葉を聞くことがあります。
長年利用実績がある、古い技術のことを指しますが、SQLやLinuxのコマンドは枯れた技術と言えるでしょう。
そして、あまりにも普及しているため今後も末長く使われる可能性が高いです。
つまり、何かを学ぶとき、それがジワジワと生きてくるスキルを身につけたいなら、枯れた技術を基準に探してみるのも良いかもしれません。
ファンブリューではエンジニアになりたい人を支援しています。
現在こんなお悩みがあれば、ぜひ一度ご相談ください。
- プログラミングを学習したいが、何から始めたらいいかわからない。
- IT業界に就職するために必要な知識が何かわからない。
- 実務経験がなくて現場に入れない