この記事の要点
- C#はWindowsアプリやゲーム開発に向いている言語
- C#の副業案件には、ゲーム開発、ソフトウェア開発、C#講師といった業務がある
- クラウドサービスでは案件が少ないため、副業探しはSNSやフリーランスエージェントを用いるべき
- ORACLE MASTERやUnity認定資格といった資格は有用
コンピュータプログラムを記述するプログラミング言語の中でも、オブジェクト指向の考えを持ったプログラミング言語「C#」。
C#ではさまざまなことができますが、主な使用事例はWindows上で動くアプリケーションの開発やUnityによるゲーム開発です。
この記事では、このプログラミング言語「C#」で副業をするときはどのような案件が多いのか、案件を受注するためにどのようなスキル・資格が必要になるのかを解説します。
目次
C#とは
C#はWindowsを開発したMicrosoft社に所属するエンジニアが2002年に開発した言語です。
C#は、ソースコードを記述する際に「オブジェクト指向」という考え方に従う必要があります。
オブジェクト指向とは「クラス」を用いてプログラムを綺麗に分割しようといった考え方です。
ある変数とそれを利用する関数をまとめて一つのクラスとし、それを外部から利用することで、利用する側は簡潔に、かつセキュアにその機能を利用することができます。
C#は「.NET」と呼ばれるフレームワークを用いてコンパイルを行うため、開発者はレジストリやメモリ等の深い知識がなくともある程度効率的なプログラムを記述・配布することが可能です。
C++との違いとは
C#と近しいC系の言語としてC++がありますが、C++とC#はどういった点が違うのでしょうか?
もともとC#はC++やJavaを基にして作られた言語で、構文はC++に似通っていますが互換性はありません。
C++の関数をC#で呼ぶことはできますが、その逆はできません。
また、プログラミングの難易度や要求知識が異なります。
C++はコンピューターに対する深い知識が必要で、その分高速で容量の小さなプログラムを記述することができます。
C#はオブジェクト指向に対する知識が必要ですが、これを理解することで複雑で大きなプログラムを綺麗に記述することができます。
(C++もオブジェクト指向のプログラミングは可能ですが、C#と違い使わなくても書けてしまいます)
これらの特徴からそれぞれの使用用途が異なります。表にまとめました。
C++ |
|
---|---|
C# |
|
C++の副業案件の種類や必要なスキルは、以下の記事で詳しく解説しています。
C#で多い副業案件に必要なスキルと相場
さまざまな用途があるC#ですが、このC#が業務でどう用いられているのか、また業務において必要なスキルと案件相場を紹介します。
ゲーム開発
ゲーム開発の際、簡単にゲームを開発できるように必要な機能(当たり判定や物理演算など)を容易に扱えるようにした環境を「ゲームエンジン」と呼びます。
その中でも最もシェアの高いゲームエンジン「Unity」は、C#を用いてゲームを製作します。
Unityを用いたゲーム開発の案件は、ソフトウェア開発よりも母数が多いため狙い目です。
Unity初心者で「何からはじめればよいかわからない…」という方は、こちらの記事が参考になります。
ゲーム開発に必要なスキル
ゲームの内容にもよりますが、ゲーム開発に必要な主なスキルは以下の通りです。
- オブジェクト指向に関する知識
- C#の基本構文に関する知識
- Unityに関する知識
UnityはC#の関数をほとんど使わず、Unity独自の関数を用いて実装を行います。
オブジェクト指向とfor文やif文といった基本的な構文の勉強を終えた段階で、C#単体の勉強を打ち切り、Unityの勉強へと切り替えると効率的です。
また、スマホアプリを作るかPCゲームを作るかといったことで必要な学習も違います。
詳しくは、「Unityでの副業案件は多い?案件獲得に必要なスキル・報酬相場・学習方法までを解説」をご覧ください。
ゲーム開発の案件相場
ゲームの規模によりますが、スマホアプリであれば小規模なもので10万円~30万円、通信処理を含むソーシャルゲームのような大規模なものであれば50万円を超える案件もあります。
保守・運用まで任せられるものであれば、月収70~100万円ほどになります。
PCゲームは小規模なものが多く、5万円~30万円ほどの相場です。
ソフトウェア開発
C#はMicrosoft社により開発されているため、そのフレームワーク「.NET」はWindows上で動くソフトウェアに最適化されています。
そのため、C#ではWindows上で動くソフトウェアを開発する機会が多いです。
ソフトウェア開発に必要なスキル
ソフトウェア開発に必要なスキルは以下の通りです。
- オブジェクト指向に関する知識
- C#の基本構文に関する知識
- C#でGUIを作成するフレームワーク(WPFなど)の知識
「ただC#が書けるだけ」だと、コンソールに値を入出力したりファイルの読み書きといった処理しかできません。
WPF(Windows Presentation Foundation)などC#からWindowsのウインドウを作るフレームワークを学習し、試しにアプリを一つ作ってみましょう。
また、大規模プログラムを書く時には保守の観点からオブジェクト指向を学ぶことが重要になります。
特に同じ部分を共通化できる「継承」については必ず学んでおきましょう。
ソフトウェア開発の案件相場
ソフトウェア開発は1つで5万円~10万円、また時間単価にして3,000円といった相場です。
C#講師
C#での基本的な実装ができるのであれば、講師として副業をはじめることもできます。
C#講師に必要なスキル
C#講師に必要なスキルは以下の通りです。
- C#の基本文法に関する知識
- オブジェクト指向に関する知識
- コミュニケーション能力
- 思考の言語化能力
オブジェクト指向は人に伝えることが非常に難しい概念です。
「クラスとインスタンス」の関係性について、「犬とポチ」「クルマとプリウス」のように具体的な例えを用いた解説ができるようになると教えやすいです。
C#講師の案件相場
ゲーム開発などと違い、C#講師は時給や授業単価の案件が多いです。
時給は2,000円~3,000円が多く、勤務期間や能力によって昇給となることが多いです。
C#の副業案件をクラウドサービスで見つけるのは難しい
ここまでC#の副業案件について紹介しました。
次に実際にC#の副業案件をクラウドワークスなどのクラウドソーシングサイト上で探してみます。
クラウドワークスでC#のスキルが必要な案件を検索しました。
案件数も平均月2、3件ほどと少なく、クラウドサービスでC#の副業案件を探すことは難しいです。
解決策として、自身のプロフィールを登録することで仕事を紹介してもらえるフリーランスエージェントを利用したり、SNS上で募集されている仕事を探してみましょう。
案件が多く、フルサポート体制があるおすすめのフリーランス向けエージェントをご紹介していますので、こちらも合わせて参考にしてください。
フリーランスのエンジニアとして高収入を目指せるおすすめのエージェントはどこ?
C#のスキルアップに役に立つ資格
C#を学んで得た知識・スキルを外部に示すためには、資格が有用です。
C#のスキルアップに役に立つ資格を2つ紹介します。
ORACLE MASTER
「ORACLE MASTER」は、Oracle社が開発するデータベース「Oracle Database」についての検定です。
資格はブロンズ、シルバー、ゴールド、プラチナの4段階あり、全て4択問題を解答する形式です。
Unity認定資格
「Unity認定資格」は、ゲームエンジンUnityについての資格です。
ユーザー、アソシエイト、プロフェッショナル、エキスパートの4段階の資格があり、プログ
ラマやアーティストといった領域に分かれており、全て4択問題を解答する形式です。
まとめ
プログラミング言語「C#」に関して業務の種類や必要なスキル、また副業獲得に有利になる資格などを紹介しました。
C#はオブジェクト指向と密接に関わっており、オブジェクト指向をマスターすれば自然にC#が記述できるようになります。
またJavaと文法が非常に似ているため、でのスマホアプリ開発へと応用できる可能性も秘めており、副業の幅が広がります。
幅広い可能性を持つC#を学習し、クラウドサービスだけでなくフリーランスエージェントやSNSでの副業探しにチャレンジしてみてください。