こんにちは、はっしー(@hassy_nz)です。
今日はこんな疑問にお答えします。
僕はニュージーランドで働いているプログラマで、IT業界歴10年以上です。
今は現役の会社員プログラマーとして、ウェブアプリの開発に携わっています。
そんな立場から、ウェブプログラマーにどんな技術が必要なのか解説していきましょう!
どの仕事でも必須の技術
- HTML
- CSS
- JavaScript
- リレーショナルデータベース(MySQLなど)
- バージョン管理システム(Gitなど)
これらの技術は、求人内容によらずウェブプログラマーなら必須と言えるでしょう。
特に、HTML、CSS、JavaScriptの3つはウェブサイトを作るためになくてはならない技術です。
ウェブプログラマーを目指すのであれば絶対に覚えておくべきですね。
リレーショナルデータベースは、その名の通りデータを保存したり検索したりするための技術です。
ウェブと直接関わる部分ではありませんが、アプリ開発をするなら避けては通れない分野になります。
基礎的なSQL(データベースを操作するための言語)くらいは覚えておくべきでしょう。
最後にバージョン管理システムについて説明します。
これはファイルの変更履歴を管理して、特に多人数での開発をしやすくするための技術です。
いまでは多くの会社で導入されており、プログラマーの一般教養レベルといっても過言ではありません。
世界で広く使われているバージョン管理システム「Git」は、GitHubというサービスでアカウントを作れば無料で使うことができます。
自分で開発したコードの管理にも役立つので、基本的な使い方は覚えておきましょう!
求人に載ってるなら必須の技術
- JavaScriptのライブラリ(React, Angular, Vueなど)
- バックエンドの開発言語(PHP, Ruby, C#など)
現在のウェブアプリ開発では、素のJavaScriptをゴリゴリ書いて開発することはまずないでしょう。
ReactやAngularなどのJavaScriptライブラリを使うことがほとんどだと思います。
ライブラリそのものの学習にも時間がかかるので、求人内容に書かれているなら事前に勉強しておく必要があります。
またバックエンドの開発言語の知識も必要です。
ウェブプログラマーだからといって、サーバサイドを一切触らなくていいってことはないですからね。
バックエンドの開発言語はPHPやRuby、C#などたくさんありますが、すべてを勉強する必要はありません。
自分の好きな言語を選んで習得して、それにあった求人に応募すれば大丈夫です。
ここまでできたらすげーな技術
ここからは、初心者がいきなり覚える必要はないけど、実務ではけっこう使う技術を紹介します。
Webプログラマーの仕事と直接関係ないものも含まれるので、「おまけ」みたいなものとして読んでください。
- テスト自動化(NUnitなど)
- コンテナ(Docker)
- 継続的インテグレーション・デリバリー(Circle CI, TeamCityなど)
テスト自動化はその名の通り、プログラムのテストそのものを自動化してしまう技術です。
いちいち画面を手動で操作しなくても自動的にテストができるので、アプリケーションに不具合があったらすぐ検出することができます。
コンテナはパソコン内に仮想のマシンを作り、その中でアプリケーションを動かす技術です。
環境構築の手間を減らすことができるのが大きな利点で、リリースの管理がしやすくなります。
最後に継続的インテグレーション・デリバリーは、開発の完了したアプリケーションを自動的にビルド、テスト、デプロイまで行う技術で、CI/CDなどとも呼ばれます。
Gitにソースをコミットすると自動的にビルドが走るので、開発を高速に行えるんです。
これらの技術はかなり上級編なので、就活時にわからなくてもさほど問題はないでしょう。
ただし、もし初心者が独学で習得して面接でアピールできれば、どの会社からも内定は出ると思います。
独学だとちょっと不安……という方は、TechAcademyなどのプログラミングスクールで学ぶ方法もあります。
無料体験もあるので、気軽に試してみてくださいね。
はじめまして:)
いつも楽しく拝見させて頂いております。
先日、プログラマの学校を卒業したのですが、実務未経験の場合は、やはりHTML、CSS、JSのフロントメインを強化する為、フロントエンド職に就くのがbetterしょうか?アドバイス頂ければ幸いです!
やりたいことにもよりますが、まずはフロントエンドがきっちりできるようになれば仕事には困らないと思います。またフロントエンドエンジニアとはいえバックエンドの知識もある程度は必要なので、そちらの勉強も忘れずに。がんばってください!