C・C++の案件特集

こんにちは、ITプロマガジンです!

この度、プログラミング言語と各言語の案件で求められることについて特集をすることにしました。

というのも、多くのエンジニアの方に、「フリーランスになる上で必要なスキルセットがわからない」というお声や、「スキルの幅を広げるために新たな言語を身に付けたいけど、どれにしようか悩んでいる」などなど、様々なご相談を頂くからです。

そこで、フリーランスエージェントとして様々な技術トレンドを追ってきている私たちが、この場をお借りして今その言語を使った案件で求められているスキルについてお話します!

この記事はこんな人にオススメです。

  • これからエンジニアになろうと考えている方
  • すでにフリーランスで、スキルの幅を広げられる案件を探している方
  • すでにエンジニアだが、フリーランスエンジニアになろうと考えている方
  • C・C++の案件を探している方

今回は、一昔前の言語と思われがちなものの、最近、最先端分野でも活躍している「C・C++」についてご紹介いたします。

「C・C++」の概要

今回「C・C++」とセットにしましたが、本来「C」と「C++」は別の言語です。1972年に「C」が登場し、その後、「C」を拡張して生まれたのが「C with Classes」、後の「C++」です。

「C with Classes」は、「クラス付きC」と訳せますが、ここで言っているクラスとはオブジェクトのクラス(オブジェクト指向で概念的に作られた実体のラベルのようなもの)のことです。

つまり、「C with Classes(=C++)」は“オブジェクト指向のC」ですよ、という意味です。逆に言えば、ただの「C」はオブジェクト指向ではありません。

「C」と「C++」には、そのような違いがありますが、共存可能であり、実際、共存させることが多いので、今回はまとめて紹介いたします。

ちなみに「C」では、「a=b+1」を「a=b++」と記述して良いというルールがあります。

つまり「++」には「1を追加しました」という意味になるのです。

「C」にオブジェクト指向という重要な1を足したのが「C++」というのは、非常にセンスのあるネーミングだな、と思ってしまいます。

もう一つ情報を付け加えると「C#」は「C・C++」の影響を強く受けた言語ですが、「C・C++」とは系統の異なる言語です。

「C・C++」でできることや案件の特徴

「C・C++」は汎用言語として、あらゆるところで活躍しています。

例えば、UNIXやLinuxといったOSは「C」ですし、組み込みシステムでも「C・C++」を使ったものが非常に多いです。Webアプリケーションの中にも「C・C++」で作られたものがあります。

また、ゲームエンジンのUnityも対応プログラミング言語は「C・C++」となっており、スマホゲームやPCゲーム、更にはSONYのPlayStationやMicrosoftのXboxなどの据え置き機のゲームソフトでも少なくないタイトルが「C・C++」で構成されています。

「C・C++」の活躍の幅が広い理由として、「C・C++」は「Java」など他の言語よりもアセンブラに近く、CPUやメモリなど機械のハードウェアリソースへの負荷が小さく、有効活用されるため、結果、処理速度が速いという点が挙げられます。

物理的なリソースへの負荷が小さく、有効活用されるという特徴は、リソースの制限を受けやすい組み込みシステムだけでなく、ハードウェア性能に大きく影響を受ける人工知能(AI)にとっても有利という事で、「C・C++」はAI開発の最適解という意見もあります。

Webアプリケーションやスマホアプリにおいても「C・C++」で作成すると、応答の速い使い勝手の良いWebアプリケーションになるメリットがあります。

ただし、「Java」など他の言語に比べて、「C・C++」での開発は時間がかかるというデメリットもあります。

開発したいシステムによって「C・C++」を使うか、それ以外で開発するか、是々非々で決めることが多いです。

「C・C++」の需要と将来性

shutterstock_556633009

「C・C++」は様々な分野で使われる言語のため、需要は非常に高いです。最近の案件のトレンドとしては、組み込みシステムとUnityを利用したゲーム開発が多いように思います。

特に昨今、スマホゲームは据え置き型ゲームより開発費は安価でありながら、規模の小さい会社でも、大手ゲーム会社と同じリングで戦える、それも全世界に打って出ることも可能という事で、非常に熱心に「C・C++」エンジニアを欲している案件が多いです。

このように今でも需要の高い「C・C++」ですが、今後もっと伸びると推測されています。

①AI活用範囲の拡大

その理由一つ目としては、AIの活用範囲の拡大です。このことは、AIに最適解と言われる「C・C++」が扱え得るエンジニアの需要も拡大することを意味します。

②組込みシステムの高度化

二つ目は組み込みシステムの高度化です。

より高度な新製品が生まれるという事は、より複雑な組み込みシステムが搭載されるということとイコールです。

よって組み込みシステム業界は絶えず、優秀な「C・C++」エンジニアを求めている状態です。その圧力はより上昇するでしょう。

例えば、自動車業界。普通の自動車自体、組み込みシステムが搭載されていますが、自動運転技術の登場で「自動運転を行うためのAI開発」にも「C・C++」エンジニアが必要になりました。

また、「AIのために新たに追加した各種センサー類(車間距離などがわからないと自動運転できないですからね)」がコントロールできるように、組み込みシステムの高度化という課題も発生し、その課題のためにも「C・C++」エンジニアが必要になっています。

もちろん、ゲーム開発業界からの需要も引き続き発生するのは間違いありません。「C・C++」は非常に将来性のある言語だと言えます。

C・C++の特徴

すでにお伝えした通り、「C・C++」は「Java」など他の言語よりもアセンブラに近く、ハードウェアリソースへの負荷が小さいメリットがあります。

これはプログラマーにとっては、「Java」などの他の言語では意識する必要のなかった、ハードウェアリソースを意識してソースコードを記述しなくてはいけないデメリットにも繋がっています。

そのため、「Java」など他の言語より習得に苦労するという点が「C・C++」のデメリットです。

特に「C」はオブジェクト指向ではないので、「Java」などの今時のオブジェクト指向言語に慣れている方には、歯がゆい言語のように感じます(だからこそ、実際の現場では「C++」とセットで使われるのです)。

C・C++案件で求められることは、「温故知新」

shutterstock_586060925

「C・C++」のエンジニアに求められるのは、一言でいえば温故知新です。

「C・C++」は誕生してから四半世紀以上経つこともあり、数多の改善が行われ、実装例も存在し、多くの面で「完成された言語」と言えます。

しかし、AIなど新たな技術、より高度化する組み込みシステムに対応するため、進化中の言語でもあります。

どの言語でも生涯学習である必要がありますが、特に「C・C++」はそれが一層求められる言語のように感じています。

だからこそ、四半世紀経った今でも、主要言語の一つであり続けているのかもしれませんね!

フリーランスエージェントを利用するメリットとデメリット

フリーランスエージェントを利用する上でよく挙げられるメリットとしては、「あらゆる負担を減らせること」に尽きるのではないでしょうか?

もう少し具体的に見ていきましょう。

①案件が途切れない

フリーランスになって一番大変なのは、案件探しでしょう。

それなりの人脈やSNSでの影響力があれば、案件を獲得するための営業は必要ないかもしれません。

しかし、そうでない人がほとんどで、知り合いから紹介してもらったり、直接法人営業をしたり、SNSで案件を探したりと、自ら動く必要があります。

そしてその手法だと、案件が途切れそうな時に非常に困ります。

実務をこなしながら、多くの工数をかけて次の案件を見つけなければならないですし、無職の期間もできてしまい兼ねません。

しかし、フリーランスエージェントを利用することにより、ほぼ自動で、案件を途切らせることなく働くことが可能です。

加えて、個人では開拓が難しい大手の案件に入ることも可能ですし、エージェントが調整してくれるので、契約面で不利にさせられることもないでしょう。

②お金周りのサポートがある

フリーランスになると、今までは会社がやってくれていたお金周りの手続きを自分でしなければなりません。

例えば、確定申告やら、経費精算やらと何かと面倒です。

しかし、フリーランスエージェントによっては、お金周りのサポートもあり、税理士との無料相談会を開いているエージェントもあります。

フリーランスエージェントは、「案件を紹介してくれるだけの存在」という印象があるかと思いますが、「フリーランスとして働きやすい環境を提供してくれる存在」でもあるのです。

③福利厚生を使用できる

フリーランスになると、会社員時代にはあった福利厚生の制度を使うことができないという状態になってしまいます。

何かと不便ですよね。。

しかし、これもエージェント会社によるのですが、そのフリーランスエージェントを利用することで、特別な保険に入ることができたり、資格を取得する際の受験料が補助されたり、コワーキングスペースが安くなったりと、様々な種類の福利厚生を利用することができます。

以上のようにフリーランスエージェントを利用することで様々な面で楽になりますし、フリーランスにつきまとっていた、「生活も収入も不安定」という状態に陥ることもないでしょう。

フリーランスエージェントを利用するデメリットは?

逆にフリーランスエージェントを利用するデメリットですが、「当たり外れがある」という点でしょう。

当たり外れというのは、エージェント会社そのもの、エージェント会社の自分の担当者の場合どちらもあります。

自分の話した意向が全く反映されない、対応が雑など様々ですが、念のため複数社のフリーランエージェントに登録することをオススメします。

また、フリーランスエージェント会社によって、それぞれ強みが違います。

福利厚生が充実していたり、案件単価が高かったり、柔軟な働き方ができたりなどなどあるので、自分の中で優先順位の高いフリーランスエージェントを利用してみましょう!

ITプロパートナーズを利用するメリット

弊社ITプロパートナーズは、週2日から可能な案件を多数保持・ご紹介しています。

その中で、ユーザーのフリーランスエンジニアの皆さんからよくいただくご質問として、

  • 「本当に週2〜3日稼働OKの案件なんてあるの?」
  • 「なんで週2~3日で良いの?実際は数が少ないんじゃないの?」
  • 「なんだかんだ週5日に誘導しようとしてくるんじゃないの?」
  • 「なんか怪しい・・」
  • 「どうやって週2~3日稼働を可能にしているの?」
  • 「週2~3日でOKな案件って実際どんな案件なの?」

といった声をいただきます。

今までのこの業界では、大手エージェント含めて、週5日稼働が当たり前でした。

その中で週2~3日でOKな案件というのは聞いた事もないし、本当にそんな事が可能なのか?と疑問に思われてしまうのは、仕方ないかもしれません。

結論を言えば、週2日・3日の稼働は本当の本当に可能なんです!

それでも、すぐには信用していただけない方に向けて、なぜ弊社は週2~3日案件を持っているのか?なぜそれが実現可能なのか?実際どんな案件があるのか?といった疑問について答えていこうと思います。

そもそも週2日から可能な案件って何?

では、そもそもですが、週2日から可能な案件の定義って何でしょうか。

そちらを改めて、こちらで定義しておこうと思います。

通常、エンジニアの方が会社員から独立して、フリーランスになった場合、エージェントサービスに登録して、エージェントに紹介された企業の業務委託案件で収入を得ていく方が多いと思います。

ただし、そのほとんどはクライアント先に週5日常駐して、黙々と開発業務を進めるといった形のフリーランス案件がほとんどで、報酬・収入は増えたものの、会社員時代からそこまで働き方は変わっていない・・という現実がありました。

すると、せっかく独立して、自由と責任を得たのだからと、自分がチャレンジしたかったプロジェクト(例えば、自社サービスの企画開発や、没頭したい趣味など)へ割ける時間が捻出できず、何のために独立・フリーランスになったんだっけ・・?と悩まれているエンジニアの方も多いと聞きます。

そこで弊社ITプロパートナーズは、週2~3日の働き方で固定収入を得られ、残りの週2~4日で自分が本当にやりたかったプロジェクトへの時間を捻出するといった働き方を提案しようと、このようなサービスを提供するに至りました。 実際、弊社のご登録のフリーランスエンジニアの方々の多くは、週2~3日で収入を得て、残りの時間で充実した人生を送っている方々が多くいます。

週2日から可能な案件って実際どれくらいの数あるの?

itpro_gurafu では、「実際週2~3日の案件ってぶっちゃけどれくらいあるの?」と、エンジニアの皆さんからご質問をいただきます。

数値でお見せした方がわかりやすいため、今回は、直近、弊社で取扱をさせていただいている新規案件1,000件内の稼働日数ごとのシェアを算出してみました。

上記掲載のグラフ図を見ていただければわかる通り、以下のような比率になっています。 なんと、7割近くが週に2~3日稼働OKな案件なんです!!

  • 週2~3日 67.9%
  • 週4日 5%
  • 週5日 25%

これで、「週2~3日の案件って本当にたくさんあるんだ・・!!」と信じていただけたかと思います(笑)

週2日から可能な理由

ITプロパートナーズには、実際にたくさんの週2~3日可能案件があるのは理解したけれど、今までそんな会社やサービス、案件ってなかったのに、なぜITプロパートナーズはそれが実現できているの??と思われるかもしれません。

弊社が週2〜3日OK案件を多数取り扱っている理由についてご説明します。

①弊社の創業の経緯・理念が自立したプロ人材を増やす事だから

そもそも弊社が設立した目的や理念は、「自立した人材を増やし、新しい仕事文化をつくる」です。

その理念に基づいた事業展開、サービス展開をしていくために、週2~3日OKの案件に設立当初からこだわっているのです。

自立したプロには、週2~3日で報酬を得てもらい、残りの時間で自分の好きな事や本気で取り組みたいプロダクトを作ってもらえればと思っているのです。

②クライアント企業に直接提案しているから

弊社は、社員として約20名近いエージェント(コンサルタント)がいます。

彼ら彼女らは上記の理念に共感して入社しています。

そのエージェントが直接クライアントに訪問し、経営者・役員・事業部長・採用担当者に自分たちの想いやサービス価値をプレゼンテーションし、啓蒙した上で、この市場・働き方を提案しているのです。

最初は懐疑的なクライアント企業もいましたが、試しに活用いただき、その価値を感じてもらいながら、サービスが世の中に浸透してきたという経緯があるのです。

③週2日から可能なクライアントを中心に取引しているから

とは言え、全ての企業やクライアントが、週2~3日OKというわけではありません。

そのため、そうした理念やサービス価値を理解していただける会社をパートナーとして選定して取引しています。

弊社のクライアントはそうした新しい取り組みへの理解のある成長企業が多いのです。

④登録者の質が高いから

一方で、週2〜3日稼働OKの案件・プロジェクトというのは、高いプロ意識を求められます。

少ない時間・工数で、同じ程度かそれに近いパフォーマンスを求められるからです。

弊社に登録しているITプロの方々、フリーランスエンジニア、デザイナー、ディレクター、マーケッターの方々は、大手メガベンチャーでプロダクト責任者をやっていた方や、フリーランスとして長く深い経験・スキルを持った方々が多く登録いただけています。

そうした優秀でプロ意識高い方々が多い事もあり、クライアント企業も価値を感じてサービスを導入していただけているのです。

週2日から可能な具体的な仕事内容って?

では、実際に、週2日から可能な仕事内容って具体的にはどういった内容なの?と思われるかもしれません。 以下のような魅力的でチャレンジングな案件・内容が多いと思います。

  • スタートアップフェイズの開発チーム・組織作り
  • 上場ネット企業の新規サービス立上げをビジネス企画から入ってほしい
  • 大手事業会社のITチームの立上げをノウハウ経験豊富なプロに任せたい

もちろん魅力的な分、求められるレベルやスキルは高めではありますが、こうした経験を積む事は社員としてではチャンスが少なく、フリーランス・プロの方々にとっても、良い経験やスキルアップ機会となり、自分自身の起業やプロダクト作り、ビジネス展開へも良い刺激や学びになっていると伺っています。

なんだかんだで他社エージェントみたく週5日に寄せていったりしないの?

一部の同業他社では、弊社を模倣して、週2~3日OK案件を告知・広告して登録を促したにも関わらず、実際にエージェントを訪問して面談してみると、なんだかんだで週2~3日案件はほとんど扱っていなかったり、紹介してくれず、週5日稼働の常駐案件へ誘導してくる等といった声を最近聞くようになりました。

確かに、実際2~3日などよりも、週5日など稼働数を増やした方が、会社としては儲かります。ビジネスとしてそのように誘導していく事はある意味では合理的かもしれません。

ただ、弊社としては、これまでご説明してきたとおり、実際に7割近い案件が週2~3日案件であり、会社の理念・目的そのものが、自立した人材を増やす事であるため、実際に週2~3日の案件マッチングを中心にご提案させていただいてますので、ご安心いただき、ご登録・ご相談いただければ嬉しいです(^o^)