C#エンジニアの転職先候補一覧
「業種も変えた方が楽しそう…」
「C#が使われている分野の一覧が知りたいな!」
C#いいですよね。私のお気に入り言語のひとつです。
私は元々業務システム開発のJavaエンジニアだったんですが、その後PHP、Ruby等のLL言語をやった後、C#エンジニア(Unity)へと転身しました。
C#ってエンタープライズ系からWeb・スマホアプリ・ゲームまで幅広い分野で使われています。
これらを踏まえて、「C#エンジニアの転職先候補一覧」を紹介します。
候補1. エンタープライズ系(業務システム)開発
いわゆるSE(システムエンジニア)職です。
システムの発注元企業の要望を聞いてシステムを開発します。
Javaほどではありませんが、業務システム開発に.NET/C#を使っている企業はたくさんあります。
SEの仕事ってつまらないと言われがちですが、業務を分析して、それを効率化するシステムを設計して完成させるという作業は、社会の役に立っている充実感が得られます。
こういった仕事に魅力を感じる方は業務システム開発をC#でやっているSIer・システムベンダーなどに転職するといいと思います。
一般企業の社内SEという選択肢もあり
SIer・システムベンダーではなく、システムを発注する側の企業の情報システム部のSEになるという選択もあります。いわゆる社内SEってやつです。
ベンダーのSEだとその企業の内部が良く見えない、深い提案がしにくいというフラストレーションがありますが、社内SEの場合、その会社の社員なので、社内の内部事情も十分分かった上でシステムの提案・開発・運用が出来ます。
私も短期間ですが社内SEをやったことがあります。ユーザー企業の中で働くことで、
- どういった調整事があるのか?
- システム化を進めるにあたって何がネックになるのか?
- 話を前に進めるためにはどんな説得の仕方をすれば良いか?
などがよくわかりました。
SEを極めたいなら、
- ベンダーSE
- 社内SE
の両方を経験することはとてもプラスになると思います。視点が2倍に広がり、より的確な提案ができるようになります。
社内SEってIT系じゃなくて一般業種の社員になれるというのもポイントです。
一般業種の優良企業に入れれば、
- 福利厚生が手厚い(企業年金、各種手当てなど)
- 残業少なくて給料高め
などの待遇面でもメリットが得られます。
候補2. Webサービス開発
WebサービスというとPHPやRuby, Javaなどで作られている印象が強いですが、.NET/C#で開発している企業もあります。
MicrosoftのクラウドサービスAzureもありますから、大規模Webサービスにも.NET/C#を使うことが出来ます。
C#は静的型言語でありながら、簡潔なコードが書けるとても良い言語です。
PHP、Rubyなどの動的言語のブームから一転して、現在は「大規模開発だとやっぱり型があったほうが良いよね」というムードが高まり、
- JavaScriptの世界でもTypeScriptのような静的型言語が生まれた
- Go, Kotlin, Swift, Scalaなどの新しい静的型言語が伸びている
といった状況です。静的型言語再興の時代といってもいいでしょう。
そんな中、C#はJavaとLL言語のいい所取りな良い言語です。
- Javaのメリットはコンパイラによる型チェック、JITによる処理性能の高さ。デメリットはコードが冗長であること
- LL言語のメリットは簡潔にコードを書けて、コンパイルなしでさくさく開発を進められること。デメリットはコンパイラによる型チェックが出来ないので、コンパイルで検出できるバグをプログラマーが排除しなければならない
C#は処理性能の高さ、コンパイラによる型チェック、LL言語に近い簡潔なコードが書ける構文を持っています。「最強じゃん!」なのです。
候補3. スマホゲーム・VR開発
C#はスマホゲームやVRの開発にもよく使われています。Unityというゲームエンジンで使われている開発用言語がC#だからです。
.NETのオープンソース版であるMonoというランタイムがあります。これを活用したゲームエンジンがUnityなんです。
Unityで開発したプログラムはコードを変えずにiOS用、Android用にそれぞれビルドすることができます。だから、開発の手間も省けるので、めっちゃ使われているんです。
私の場合、Unityを独学してゲームエンジニアとして採用してもらえました。Unityは大分普及してきたとはいえ、まだまだ新しい技術なので、エンジニア数が需要の急増に対して足りていません。
またUnityはゲームだけでなくVRアプリの開発もできるので、今後も需要は増え続けていくと思われます。
候補4. スマホアプリ
Windows Phone/タブレットアプリにC#が使われているだけでなく、iOSアプリ、AndroidアプリもVisual Studioで開発が出来るようになりました。
Xamarinというツールを使うとC#で書いたコードをiOS/Android/Windows 用にビルドすることができます。
Unityがゲーム開発におけるクロスプラットフォームであるのに対して、Xamarinはスマホアプリにおけるクロスプラットフォームなのです。
Xamarinは以前は有償でしたが、2016年4月に無償化が発表され、Visual Studioに含まれるようになりました。
これまでのスマホアプリ開発ってAndroid用とiOS用で2つ技術を覚えなければならなく、開発も二度手間でしたが、Xamarinによってこの問題が解決されたのです。
そんなわけで、C#は企業が開発した言語でありながらオープン化へと舵を切ったことでますます可能性を増しています。
Windows系の開発だけでなく、Web、スマホアプリ、ゲーム、VRと幅広い需要があるので、自分がやってみたい分野にぜひチャレンジしてみてください!