Object-Cの案件特集

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

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

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

今回は、MacOSソフトやiOSアプリ開発で根強い人気を持つ「Object-C」について見ていきたいと思います。

この記事はこんな方におすすめです。

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

「Object-C」の概要

「Object-C」はその名前からイメージのついた方も多いかと思いますが、「C言語」ベースに作られたオブジェクト指向言語です。

「C言語」のオブジェクト指向化というと「C++」を思い浮かべる方も多いのではないでしょうか?

実際、どちらも「C言語」にオブジェクト指向を取り入れようとしたものですが、方法論が異なっています。

C++について

まず、当初「C with Classes」と言われた「C++」ですが、これは「C言語」の仕様を拡張、もとい言語の性質を抜本的に見直したものです。

イメージ的には「C言語」がWindows7なのに対して、「C++」はWindows10のようなものです。

「C言語」と「C++」の間に共通部分はありますし、実際、共存可能ですが、この二つの間には本質部分に差があります。

 Object-Cについて

一方の「Object-C」は「C言語」の根本部分には極力手を入れず、「C言語」で書かれたオブジェクト指向システムを制御する仕組みを付け足した言語です。

言ってしまえば「Object-C」は「オリジナルのC言語」と「特殊なオブジェクト指向的なC言語」が共存しているような言語です。

このちょっと変わった「Object-C」はNeXTおよびMacOSに標準で付属する公式開発言語という特別な地位を得ています。

ちなみに、NeXTとはアップルコンピュータを去ったスティーブ・ジョブスが作った会社の名前であり、その会社が作ったワークステーションの名前でもあります。

そのワークステーションに搭載されていたOSであるNeXTstepは、現在のMacOSへとつながっていきます。

「Object-C」でできることや案件の特徴

shutterstock_385430380

「Object-C」は「C言語」の発展形であり、汎用言語として広く使えるポテンシャルがあると思いますが、現在はMacOSに標準で付属する公式開発言語として、アップル製品向けソフト開発で使われるプログラミング言語となっています。

つまり、「Object-C」案件の多くは、iPadやiPhoneといったiOSデバイスやApple Watch、Apple TV、Apple Watchなど向けのアプリやMacBookやiMacといったMacOSパソコン向けソフトウェア開発です。

それらアップル製品向けのアプリ・ソフト以外で「Object-C」を使っている案件は、非常に希少で多くありません。

「Object-C」の需要と将来性

「Object-C」の需要ですが、低くはありません。

スマートフォン市場でシェアを落としつつあると言えども、iPhoneやApple Watchの新製品が出れば必ずニュースになることからも、アップル製品の人気の根強さは明らかです。

そのアップル製品上で動くアプリを作るのに適した言語である「Object-C」のニーズが低いはずがありません。

将来性についてもある程度は安心できます。

ただし、「ある程度」です。

なぜなら、現在、「Object-C」にとっては過渡期にあり、将来の方向性について模索中のところがあるからです。

というのも、2014年にアップルが「Swift」という新たな言語を発表しました。

この「Swift」、「Object-C」より世代が新しい分、実行速度が速い、構文を含めて仕様が現代化されバグを埋め込みにくくしたなど、優れた特徴があります。

「Swift」は必ずしも「Object-C」を代替する目的で作られた言語ではなく、相互運用性があり共存できますが、新規アプリ開発は「Object-C」ではなく「Swift」で行ったり、「Object-C」から「Swift」へとソースコードを返還するツールも登場しており、「Swift」に一本化される、と当初は考えられていました。

ところが、「Swift」は歴史が浅い分、十分なナレッジが蓄積されているとは言えず、「Object-C」から「Swift」へ上手く移行できない、「Swift」の構文は可読性が悪く、「Object-C」で作った方がよっぽど安全という批判が古参プログラマーから出てきており、「Object-C」に戻る方も少なくありません。

2017年末時点では、iOSやMacOSの重要部分に「Swift」が使われておらず、当のアップル自身が安定性に疑問を感じて利用を避けているという話すら出てくる状況です。

「Object-C」は「Swift」に取って代わられるもの、あるいは補助するものになるという当初の予想が外れ、「Swift」が「Object-C」を補助するものになるのかもしれません。

Object-Cの特徴

「Object-C」もオブジェクト指向言語ですが、メソッドを呼び出す際の記述法が「Java」や「Perl」系とは異なり「Smalltalk」というプログラムの影響を受けたものとなっています。

「Smalltalk」はメッセージ式と呼ばれる書式で記述しており、「Object-C」のオブジェクト呼び出しも、それに近いものになっているのです。

また、「Object-C」ではオブジェクト呼び出しのことを「オブジェクト呼び出し」と言わず「メッセージ送信」と呼びます。

他の言語から移ると、まずここで躓きがちです。

Object-Cの案件で求められること

shutterstock_470169467

将来性のところでも触れましたが、アップルが「Swift」という言語を新たに発表したことでアップル製品関連のアプリ・ソフト開発は「Object-C」の独壇場ではなくなりました。

しかも、この二つは相互運用性が確保されています。

現場で「Object-C」のソースコードの中に「Swift」が使われていたり、当初は「Object-C」で開発する予定だったが、途中で「Swift」に切り替えた案件も出てくるでしょう。

あるいは、「Object-C」を「Swift」に移行する案件も実際にあります。

「Object-C」を学ぶのであれば、合わせて「Swift」も習得を目指すのが吉です。

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

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

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

①案件が途切れない

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

それなりの人脈や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^)