【Kotlinのフリーランス求人・案件情報】どんな言語で開発単価はどれ位?
18/01/14 15:34:45 19/05/21 16:17:46
目次
Kotlin案件の一覧(随時更新)
2011年にJerBrains社よりJava仮想マシン上で利用可能なプログラミング言語として登場したKotlin。
その設計思想から、もともとJavaとの互換性が非常に高くて、より使いやすい言語として期待度は高い方にありましたが、近年ではAndroidアプリ開発の公式の開発言語として採用されたことによって、さらに注目度が高まっています。
今回はそんなJavaと親和性の高い期待の言語であるKotlinについて解説していきます。
Kotlinとは?
Kotlinは、2011年7月20日に、JetBrains社より発表された、Javaをより簡潔・安全に書ける言語として発表されました。
なお、JetBrains社はIntelliJ IDEAという、Java用の統合開発環境などを開発・販売してきたという経緯もあって、プログラミング言語に関するノウハウも持ち合わせていたことが伺えます。
その後、2012年2月14日にApache Licence 2.0のもとでオープンソース化がなされ、今日でも開発が続けられています。
その過程で、Androidアプリ開発への対応、JavaScriptやネイティブへのコンパイルのサポートなど、次々と新機能の開発が続けられています。
Kotlinの特徴
では、Kotlinにはどのような特徴があるのでしょうか。
モダン
Kotlinは、2011年に発表されたということもあり、当時のJavaでは実現できていなかった、あるいは現在でも実現できていないモダンな言語仕様という特徴を持っています。
例えば、プロパティーやクロージャー、型推論といった昨日が挙げられます。これらによって、高度な機能もより簡潔に記述することができます。
安全
Kotlinは、Javaと比較して安全にコードを書くことができるようになっています。
例えば、Optional型を採用していることによって、言語仕様の段階でその変数がnullを許容するかどうかを判定することができるようになり、Javaで散々問題となったNullPointerExceptionを防ぐことができるようになっています。
Kotlinのメリット
Javaと共存させることができる
Kotlinは、その登場経緯から、Javaと非常に高い互換性を持っており、それぞれのコードを相互に、かつ特別な設定なしで呼び出すことができます。
また、プロジェクト内でコードを混在させることも可能で、既存のJavaで書かれたプロジェクトでも、新しいクラスはKotlinで書くという手法も行えます。
このこともあり、KotlinとJavaの両方を使いこなせれば、かなりの強みになるでしょう。
開発しやすい
KotlinはJavaよりも簡潔・安全に開発できるということをコンセプトに作られたということもあって、比較的学習しやすい言語になっています。JetBrains社が開発しているということもあり、IntelliJ IDEAまたはAndroid Studioを使った場合は、強力な開発支援ツールの効果もあって、効率よく開発が可能になるでしょう。
近年ではJava以外にも対応しつつある
近年ではKotlin/JavaScriptやKotlin/Nativeのプロジェクトも進められており、Javaべったりの状態からの脱却が進められています。これによって、これまで以上に対応環境が広まり、開発のレパートリーが広まる可能性が秘められていると言えるでしょう。
Kotlinのデメリット
JavaVM以外への展開は発展途上
近年ではJavaScriptやネイティブへの進出も進められていますが、現時点ではその方面への定着が進んでいるとは言い難く、概ねJavaに依存しているという状態にあります。
これによって、今の所は、その発展の可否はJavaが今後も発展するかどうかがかかってくるともいえます。
Javaを使えないと厳しい
Javaと共存させることができるという性質上、プロジェクトによってはJavaとKotlinのコードが入り混じっているという可能性も容易に想像できます。
このことにより、Javaをある程度使えないと、Kotlinを使いこなせても、戸惑ってしまって苦戦する可能性はあります。
したがって、Kotlinを習得するのはそれほどコストはかかりませんが、Javaも加わると、学習コストは膨大なものになります(それでもJavaとKotlinでは多くのAPIを共有しているので、同時に学習する場合はその影響である程度は効率を上げることができます)。
Javaと比べるとややサポートは貧弱
2011年に登場したということもあり、Kotlinはまだ発展途上ということもあり、Javaほど定着しきった言語とはいえない部分はあります。
統合開発環境においては、Kotlinのお膝元から提供されているIntellij IDEAおよびAndroid Studioでは標準でサポートされているものの、EclipseやNetBeansではプラグインを必要とするなど、そのサポートの度合いはやや温度差が見られます。
Kotlinはどのような分野に使われているのか
Kotlinは基本的にJava Virtual Machine上で動くという性質上、Javaで使われている分野ではKotlinを使えるという場合が多いです。
その中でも、比較的新しい分野を採用する傾向の強い、Androidアプリ開発で積極的に導入する動きがあると言われています。
Androidアプリ開発では2017年10月25日(米国時間)にリリースされたAndroid Studio 3.0で公式の開発言語として加わったことにより、知名度・普及度が上昇していると言われています。
Kotlinの学習方法
Kotlinを始めるには
Kotlinは開発がしやすい言語と言われていますが、その入門書・学習サイトのほぼ全てがJavaをある程度習得していることを前提としているものが多いこと、案件でもJavaを使えることが求められる可能性が高いことを考えると、Javaを習得していない場合は、Kotlinを習得するというのは実質的に不可能です。
もしすでにJavaを習得しているのであれば、[JavaプログラマのためのKotlin入門](https://qiita.com/koher/items/bcc58c01c6ff2ece658f)(Qiita)をはじめ、Javaとの比較を交えながら説明を行なっているウェブサイトを中心に学習を開始すれば良いでしょう。
一方、Java未経験の場合は、[JavaDrive](https://www.javadrive.jp)をはじめ、Javaの学習をメインに行いながら、時折必要に応じてKotlinではどういう風に書くのかというのを比較してみながら学習を行うようにしていけば良いでしょう。この場合は学習はかなり難しいですが、ちゃんと使いこなせるようになれれば大きなアドバンテージになるでしょう。
オススメの統合開発環境
もしKotlinを使って開発する場合、Javaとは若干状況が変わっていきます。
というのは、Javaと親和性の高いプログラミング言語と言っても、KotlinとJavaでは開発の母体が違うということもあり、必然的に推奨される統合開発環境も変わって行くからです。ここではそれについて説明していきましょう。
もしAndroidに特化した開発を行いたいのであれば、Android Studio一択でしょう。
Android StudioではAndroidアプリ開発で必要となるAndroid SDKやシミュレーターなどを一元的に管理可能で、Androidアプリの開発をするにあたって必要十分な機能が備わっています。
Android以外の開発を行うのであれば、IntelliJ IDEAがオススメです。
Android StudioのベースとなったIntelliJ IDEAも候補に上がります。
IntelliJ IDEAはCommunity版とUltimate版があり、前者はAndroidアプリおよびJavaアプリの開発が可能で無償で利用可能、後者は有償だがJava EEシステムの開発が可能で、フレームワークのサポートも充実しているという違いがあります。
Kotlinを使う場合、EclipseとNetBeansはあまり推奨できません。
これらにおいてもJetBrains社よりプラグインが提供されていますが、IntelliJ IDEAほど強力なサポートは行われていないこともあり、優先順位は低いと考えられます。
KotlinとSwiftの比較
KotlinとSwiftは、その登場経緯や主に使われている分野、文法面などの言語仕様などの観点から、よく比較されています。
では、KotlinとSwiftを比較したところ、以下のような特徴が見られます。
- Kotlinは2011年に発表された「より簡潔・安全に書けるJava」をコンセプトにした言語で、Swiftは2014年に発表された「Objective-C without C」をコンセプトにした言語。
- Kotlinは主にAndroidアプリ開発に使われ、Swiftは主にiOSアプリ開発に使われる。
- Kotlinは主にJavaVM上で動作するのに対し、Swiftは主にネイティブで動作する。
- KotlinもSwiftもサーバーサイドなどへの対応が進められている。
Kotlinの将来性
Kotlinは、今後将来性の高い言語の一つと言えます。
Androidアプリ開発では公式言語の一つとして名乗り出たこともあって、急速にKotlin導入率が上がっていて、2018年にはJavaを上回る可能性が出ていることからも伺えます。
Androidアプリ開発以外でも、Javaで書かれたアプリケーションでは、その多くでKotlinを導入できるほどの導入しやすさもあって、主にウェブアプリケーションでの開発でも導入される場合が増えつつあるそうです。
他にも、Javaから離れてJavaScriptやネイティブへの進出も模索されており、うまくいけば多くの分野で対応できるようになる可能性が秘められています。
現時点ではKotlinを使えるエンジニアはJavaを使えるエンジニアと比較すると少ないとはいえ、言語仕様を考えるとJavaを使える場合はそれほど学習コストをかけずに習得できる一方、Javaを使えない人にとっては、Kotlinを使いこなすためには事実上Javaを覚える必要があるということもあって、Javaが使えるかどうかが大きな格差になっている面があります。
また、Androidアプリ開発においてはJavaからKotlinに移行しているという傾向が強い一方で、分野によってはJavaに止まる傾向の強いところもありうるため、現時点ではKotlinから始めるというのは危険と考えた方が良いでしょう。
将来性は高いものの、現時点ではエンジニアにとってはJavaを覚えていないと学習の段階で苦戦を強いられるということもあり、Kotlinで仕事をするためには、相応の戦略が求められるでしょう。
少なくとも、現時点ではJavaを使いこなせるということは必須条件と考えた方が良いでしょう。
最後に
2011年にJava上で動くプログラミング言語として登場したKotlin、その言語仕様から安全・簡潔に書けるという特徴もあって期待されていたこともあり、Androidアプリ開発での公式言語として導入されてからはさらに知名度が高まりました。
その期待度の高さの一方で、現時点ではJavaを使える人を対象にした入門書あるいは学習サイトが大半をしめていて、プログラミング初心者が使うものは滅多にないこと、実際のプロジェクトにおいてもJavaを使えることを想定している場合が多いということもあり、現時点ではJavaを使えることが求められる、実質的に敷居の高い言語の一つという側面は否定できません。
とはいえ、今後の発展が十分に期待できる言語であることもあり、Java共々使いこなせれば、Androidアプリ開発では特に大きな強みになるので、是非とも学習して、力をつけてみてはいかがでしょうか?
Kotlinの求人案件の単価相場(単位:万円)
実際、Kotlinの技術者はどのくらいの単価で現場へ常駐しているのでしょうか?以下、現在のアルマサーチが取り扱う案件の単価相場をまとめてみました。
いかがでしょうか。右肩上がりになっていることが分かると思います。
ちなみに単価を決める一番の要素はスキルなのですが、年数が短くとも高単価の方など、必ずしもこの表に当てはまらない方もいらっしゃいます。
ですが、一般的には実務経験=スキルと判断される採用担当者が多く、市場的にも実務経験と単価の相関性は非常に高いです。アルマサーチでは、経験年数に見合った高単価案件を多数とりそろえています。
実務未経験者
25万円程度 /月
実務経験半年
30万円程度 /月
実務経験1年
40万円程度 /月
実務経験2年
50万円程度 /月
実務経験3年
60万円程度 /月
実務経験4年間以上
70万円以上 /月
Kotlin経験が少ない方にも朗報!
Kotlin案件は市場に多々あり、新人でもOKという案件も増えてきています。
アルマサーチでは、今後Kotlinをやっていきたいという方や、Kotlinを学んだのでこれを仕事にしてみたい、自社である程度Kotlinをやったのでフリーランスになってみたい、という方たちが案件を獲得しやすい環境をご用意しています。
Kotlin案件は経験があればあるほど高単価を狙えます。アルマサーチでご紹介した新人向け案件で実績を積み、さらに単価を上げていきましょう。中には週5日常駐の案件以外にも週3〜4日勤務の案件や在宅でできるリモート案件も増えてきています。お気軽にお問い合わせください♪
言語別シリーズ
1,【PHPのフリーランス求人・案件情報紹介】開発単価や相場がわかる!将来性や基礎知識も!
2,【javaのフリーランス案件情報付き】開発単価やエンジニアの将来性・学習方法
3,【Perlのフリーランス求人・案件情報】需要や将来性は?オワコン?
4,【Rubyのフリーランス求人・案件情報】仕事や単価、ruby on railsの在宅案件まで
5,【Pythonのフリーランス求人・案件情報】エンジニア開発単価は?未経験でもいける?
6,【Scalaのフリーランス求人・案件情報】エンジニアの開発単金や年収、将来性は?
7,【C++のフリーランス求人・案件情報】開発単価や仕事内容、需要や将来性までご紹介
8,【JavaScriptのフリーランス求人・案件情報】エンジニア需要や単価まとめ
9,【VB.NETのフリーランス求人・案件情報】C#との違いや人気開発案件をご紹介
10,【Kotlinのフリーランス求人・案件情報】どんな言語で開発単価はどれ位?(この記事)
11,【C#のフリーランス案件情報付き】需要や将来性、プログラマの開発単価など
12,【unityのフリーランス求人・案件情報】エンジニア需要や開発単価、未経験でもいける?
13,【iOSのフリーランス求人・案件情報】アプリエンジニアの開発単価や相場、将来性や基礎知識!
14,【Swiftのフリーランス案件情報付き】仕事やエンジニアの将来性・学習方法!
15,【androidのフリーランス求人・案件情報】アプリエンジニアの開発単価や相場は?
案件量が豊富なアルマサーチ
最後に、アルマサーチのご紹介!
アルマサーチはフリーランス向けに案件をご紹介することに特化したエージェントサービスです。豊富な案件量から、安定して継続的な案件のご紹介を実現しており、口コミから登録エンジニアが急増中です。
アルマサーチが選ばれる理由
- 豊富な案件量。週3〜4日の案件や在宅リモート案件も。
- 優秀なコンサルタント陣。
- 案件に参画後もしっかりサポート。
豊富な案件量
フリーランス向けに特化し、業界屈指の案件量を誇ります!週3〜4日の案件や、在宅リモート案件もありますし、その他あらゆる希望をしっかりお伝えください。最適な案件のご紹介をさせていただきます。
優秀なコンサルタント陣
技術に疎く、開発の希望を伝えても響かないエージェント・・・嫌ですよね。アルマサーチにはそのような者は一切おりません!さらに独立にまつわる税金や保険関係に詳しいスタッフが徹底的にサポートさせていただきます。
案件に参画後もしっかりサポート
常駐先が決まった瞬間に、一度も連絡が取れなくなるエージェント・・・いますよね?アルマサーチでは、そのようなことは一切ありません!常に電話やメールは即対応しますし、月に1度のランチミーティングなどから現場の状況を細かくヒアリングし、就業環境改善に尽力いたします。
人気記事