プログラマーの職種一覧 ~意外といろいろある!
「業務システムよりWebサービスやスマホ系楽しそう!」
「BtoBよりBtoCの方がやりがいありそう!」
プログラマーと一言で言ってもいろいろあります。
私はこれまでに三度転職し、
業務システム → ECサイト → スマホゲーム
と様々なプロジェクトに参加してきました。それぞれ、違った面白さがありました。
そんな経験を踏まえて、「意外といろいろあるプログラマーの職種一覧」を紹介します。
Contents
1. 業務システム開発のプログラマー・SE
企業が業務で使うシステムを作る仕事です。
企業がシステムベンダー(システムを開発する会社)に、「○○なシステムを○○万円で作ってください。」と依頼します。
ですから、私達プログラマーはシステムベンダーの社員として仕事をします。システムベンダーのことをSIer(システムインテグレーター)と呼ぶ場合もあります。
または、企業の情報システム部の社員として自社のシステム開発を行う場合もあります。この場合、社内SEと呼ばれます。
システムベンダーで有名な企業は、
- NTTデータ
- ISID
- 新日鉄ソリューションズ
などです。
社内SEの方は情報システム部のある全企業が対象となるので、
- トヨタ自動車
- ソニー
- 三菱東京UFJ銀行
など日本を代表する会社も選択肢となります。
ただ社内SEは、システムベンダーのSEプログラマーに比べて、コードを書く機会が少ない会社が多いということがあります。開発は外注する企業が多いからです。その場合、社内SEは外注先の進捗管理や交渉の仕事が中心となります。ですから、バリバリプログラムを書きたいという方はシステムベンダーのほうが合ってると思います。
プログラミング言語は、Javaや.NET(C#, VB.NET)がよく使われています。
2. Webサービス開発のエンジニア
例えば、YahooのWebサイトを開発する仕事です。Yahooに限らず商用のWebサービスはたくさんあります。
サービスを運営している会社の社員として開発に参加するというパターンと、サービス運営企業の外注先企業の社員として開発に参加するパターンがあります。先ほどの業務システム開発と同じですね。
Webサービスの開発にはPHP, Ruby, Python, Java, JavaScriptなどのプログラミング言語がよく使われています。
3. スマホアプリ/ゲーム開発のエンジニア
スマホアプリはiPhoneなどのiOS用とAndroid用とで開発の仕方が異なります。
- iOSアプリ → Swift, Objective-C
- Androidアプリ → Java, Kotlin
といったプログラミング言語が使われます。
スマホゲームの開発にはゲームエンジンがよく使われています。
- 2D/3Dゲームの開発 → Unity(言語はC#), Unreal Engine(言語はC++)
- 2Dゲームの開発 → Cocos2d-x(言語はC++)
これらのゲームエンジンを使って開発したプログラムは、iOS用とAndroid用にビルドすることができます。iOSとAndroidとで同じ開発の仕方ができるので非常に効率的に開発ができます。
4. 組み込み系システムのエンジニア
組み込み系と言われていた仕事の多くは携帯電話に組み込むOSシステムの開発だった時代があります。
現在は携帯電話がスマートフォンに移ったため、携帯電話向けOSの開発をする需要は激減しました。
といった状況から一変して、現在はIoT(Internet Of Things = モノのインターネット)のブームによって需要が増加しています。
機械のセンサーをサーバに送信して、データを蓄積し、そのデータを解析することで、ユーザーにサービスを提供するものです。
例えば、医療関係で利用が考えられているものとしては、患者の体温や心拍数などの数値に異常がないか監視するシステムがあります。
少子高齢化によって看護や介護を受ける年代はますます増加していきます。IoTの活用が求められています。
5. ビックデータ解析・データサイエンティスト・人工知能エンジニア
IoTエンジニアの仕事は、機器に組み込むプログラムを開発する仕事と、機器から集めたデータを解析する仕事があります。
前者は組み込みエンジニア、後者はビックデータ解析やデータサイエンティストと呼ばれています。
コンピュータのマシンパワーが進歩したこと大量データを短期間に処理する技術が生まれています。AI(人工知能)技術の一分野である機械学習もビックデータ解析によって成り立っています。人の脳を模倣するよりも、大量のデータを学習させた方がAIの知能が高くなる分野があるためです。
今後社会が進歩していく上でとても重要な仕事だと思います。
興味がある仕事をやろう!
私は10年ほど業務システム開発の仕事をやってきましたが、段々と仕事にマンネリ化を感じていました。Webサービスの開発に転職したら毎日が新鮮になりました。その後、今度はゲーム開発に興味が湧いて来てスマホゲームの開発に移りました。
新しい技術を身につけるのは大変だと思われていますが、やってみると意外とかんたんだったりします。
プログラミングの基本は同じなので、基礎が身に付いている人は、仕事をしながら新しい技術を覚えていくことは充分できます。
大事なのは自分が興味のある仕事をやることです。興味がある仕事であれば、自然とのめり込んでいけるので、気づいたらできるようになっていたということになります。それって一番幸せな仕事の仕方ですよね。
私にできたのですから、あなたにも絶対できるはずです!ぜひ、自分がやりたい仕事をしてください!