目次Kotlinの基本情報Kotlinをこれから学習する方は、まずはKotlinという言語の基本情報を知っておかなければいけません。ここでは、Kotlinが一体どのような言語なのかを紹介します。Kotlinとはどんなプログラミング言語?Kotlinは、2011年にJetBrains社によって開発されたプログラミング言語です。Java開発環境で使用できるJVM言語のひとつで、JavaScriptへのコンパイルもサポートしています。2017年には、GoogleがAndroidアプリの開発言語としてKotlinを正式に採用したため、いっきに認知度が上がりました。プログラミング言語としてJavaとの比較を考える方もいるかと思いますが、Kotlinを使用しているエンジニアからは「Javaよりも書きやすい」という声が多く上がっています。中には「Javaには戻れない」とまで言うエンジニアもいるほど評判の高い言語です。(参照元:https://employment.en-japan.com/engineerhub/entry/2018/12/07/110000)Kotlinの特徴は?Kotlinの大きな特徴は、セミコロンの省略、拡張関数やデータクラスが利用できるなど、簡略的に書けるような工夫があることです。ある企業ではJavaからKotlinへの移行で、機能開発にかかる工数を半分以下に減らすことに成功しています。(参照元:https://employment.en-japan.com/engineerhub/entry/2018/12/07/110000)特にJVM言語でありながらサーバサイドでの利用もできることから、Webアプリ開発への導入が盛んになってきています。Frameworkのバージョン5.0からはKotlinをサポートし始めました。Kotlinは、Nullの扱いが厳格という特徴があります。デフォルトの状態ではNullが代入できないようになっているためNullへの逆参照を減らすことができます。変数のデータ型はきちんと指定しなくてはならないため、ミスがあるとコードを実行する前にエラーを知らせてくれ、思わぬバグも減らすことができます。その安全性の高さから積極的にKotlinを導入する企業も増えてきています。Kotlinではどんなものが開発される?GoogleがAndroidアプリの開発言語としてKotlinを正式に採用したことで、Android向けネイティブアプリの開発でKotlinの使用が盛んです。その他サーバサイドで使用もできるので、Webサービス・Webアプリなど、幅広い開発に利用されています。Javaと相互運用が可能なので、Javaで構築した古いシステムにKotlinを導入する事例もあります。KotlinエンジニアとはKotlinのエンジニアは、どのような業務を行っているのでしょうか。ここではKotlinエンジニアの具体的な仕事内容から年収、キャリアパスまで紹介します。Kotlinエンジニアの仕事内容は?Kotlinエンジニアの仕事は、Webアプリ開発、Android用ネイティブアプリ開発の二つがほとんどです。具体的な業務内容は、他の言語と同様にコーディングからリファクタリング、アーキテクチャ設計、レビュー、進捗管理などを行います。業務の中で経験や技術が認められると、コーディング以外の仕事が発生することもあります。Android用のネイティブアプリでは、Androidアプリの設計、開発、システム連携のためのSDK設計、実装、レビューなど、一連の流れを任せられるでしょう。約1,200万となっています。(参照元:https://www.bizreach.co.jp/pressroom/pressrelease/2018/0807.html)中央値と最大提示年収で大きな差がありますが、このように違いがあるのは経験年数によって収入が異なるからです。開発経験が少なく1年未満の場合は、月収約25万円~30万円です。そこから1年目で35万円~50万円、2年目で45万円~60万円と延びていきます。5年目以上になると80万円~100万円ほどの月収となり、高単価の案件へと変貌します。(参照元:https://freelance-start.com/articles/55)このくらいになると、1,000万プレイヤーになることも可能です。Kotlinエンジニアのキャリアパスは?­­Kotlinエンジニアがキャリアアップをしていくには、まずはプログラマーとして活躍をしてから、設計や要件定義などの上流工程の業務へと徐々にシフトしていくのがよいでしょう。上流工程での開発経験はアピールポイントになりますので、もし他言語でもこのような経験があればKotlin経験が2年ほどでも取得できる案件の幅が広がります。サーバサイドの開発経験やJava、Swiftといったアプリ開発に関わる他の言語を習得するのもキャリアアップの近道です。現在の市場では、Kotlinエンジニアがあまりおらず希少価値があるため、Webアプリ系の案件で今後重宝される可能性があります。そのため、Scalaなどの言語を合わせて学び、Webアプリ系やネイティブアプリ開発に関してフルスタックエンジニアのような立ち位置を目指すとよいでしょう。Kotlinエンジニアとして働くメリットは?2017年にGoogleがAndroidアプリ開発言語の一つとしてKotlinを認めてから、Kotlinを使用する企業が徐々に増えています。iOSよりAndroidの方がシェア率が高いという事もあり、Kotlinエンジニアの需要もどんどん伸びています。IT業界はこれからも引き続き発展していく産業ですので、今後しばらくは仕事が無くなるといった心配が少ないと言えるでしょう。技量や経験を積めば高単価も望めるので、キャリアアップを望んでいるエンジニアには大きなメリットです。Kotlinを学習しておけば、他のJVM言語や類似点の多いSwiftの学習にも役立ちます。このようなアプリ開発に関わる言語やフレームワークの知識や経験が豊富にあれば、アプリエンジニアとして活躍することも期待できます。Kotlinエンジニアが活躍できる場は?Kotlinは、基本的にアプリ開発言語のため、アプリ開発の現場が主な活躍の場所となります。アプリの種類はWebアプリ開発からAndroidのソーシャルゲームまでとても幅が広く、特にソーシャルゲームの開発は、ゲーム開発をしたい方にとっては大きな経験となります。Kotlinエンジニアとして働くために求められるものは?プログラマーとして言語の知識が必要なのは当たり前ですが、アプリ開発を行ったという経験は必ず必要です。高単価になればなるほど、上流工程での経験や多言語の習得が重要となってきます。その際には、フレームワークやツールの使用有無なども問われてくるでしょう。Kotlinエンジニアには未経験・初心者からでもなれる?現状未経験で採用を行っている案件はほぼないと言ってよいでしょう。JavaやSwiftなど、他の言語のプロジェクトで参画して、後にKotlinのプロジェクトに携われる可能性はあります。このような場合は歓迎スキルにKotlinの記載があり、必須経験にJavaやSwift開発などが記載されています。どちらにしても何らかの言語によるエンジニアリングの経験が必要となるでしょう。Kotlinエンジニアになる難易度は?Kotlinは、Javaよりもコードが書きやすいという特徴があります。前述したNullの扱いなどの点は、初心者としてはとてもありがたい特徴です。このことからネイティブアプリの開発では、Javaよりも優しく感じる方もいるかもしれません。サーバサイドの開発では、顧客情報を扱う場面があり、セキュリティが問題となってきます。そのため、上級者レベルになると難易度も上がります。VMの環境を整えてプログラムの実行環境を作るところがスタートラインです。Worldを表示させてみましょう。これだけでもJavaや他の言語との違いが少し分かるはずです。StudioなどのIDE(統合開発環境)を使用してAndroid用ネイティブアプリを作成します。最初は、アプリを作るのは難しく感じるかもしれませんが、きちんとネイティブアプリが完成して上手く動作すれば、エンジニアとして採用される可能性が高まります。上級者は、サーバサイドのコーディングに挑戦しましょう。ここでは、セキュリティの問題が重要です。この段階でしっかりとセキュリティを学び、コードが組めるようになれば、Kotlinエンジニアとしても重宝されるようになるでしょう。Kotlinエンジニアの需要は今後どうなる?現在Kotlinは主にネイティブアプリの開発、Webアプリ開発などで使用されています。このような開発がいつ頭打ちになるのかといったことも懸念材料ですが、しばらくは需要が続くと見込まれています。それはスマートフォンの需要が下がることは想定されておらず、海外でのシェアも考えると、まだまだ展望は明るいと予測されるからです。世界的な大企業であるNetflix、Wechat、Evernote、Yahoo、LINE、サイバーエージェントなどもKotlinを導入しており、期待度が高いことが分かります。このままフリーランスエンジニア市場が拡大した場合、エンジニアとしての質が今後さらに重要視される可能性があります。なると案件が取得しにくくなる恐れもあるので、優良なエンジニアとして認識されるために、歓迎スキルである「Swift、Java、Scala」といった言語や関連するフレームワークなどを学んでおくとよいでしょう。他にも「PHP、Ruby、Python、JavaScript」などの言語で開発経験があると、営業活動もより有利になります。Kotlinエンジニアのフリーランス求人案件の特徴フリーランスとして活躍するためにはる程度以上の技能や経験が必要です。どのような案件があるのかを知っておいて、フリーランスになるための情報を集めておきましょう。Kotlinエンジニアの案件はどのような内容?Kotlinのフリーランス案件でも、通常の案件と同様にWebアプリ開発とネイティブアプリ開発に分かれます。Webアプリ開発では主にHRテック系の新規プロダクト開発、キュレーションアプリ開発など、BtoC、BtoB、ECサービス、クラウドサービスといった種類の案件があります。ネイティブアプリ開発では、ソーシャルゲームの開発、動画配信アプリ開発、SNSアプリ開発といったさまざまな案件があります。Kotlinエンジニアの案件獲得に必要なスキル・経験・資格は?フリーランスのKotlinエンジニアになるにはKotlinでの開発経験が必要です。案件によっては2年以上の経験が必要となります。(参照元:https://www.appstars.io/project/detail/265/)ただ、比較的新しい言語なので、必須条件ではなく歓迎要件に記載されることがあります。そのような場合は、JavaやSwiftなどでのアプリ開発経験があれば採用される可能性があるため、採用後にKotlinを学ぶことになります。その他に必要なスキルは案件にもよりますが、Webアプリ系であれば「Webアプリの開発経験が2年以上」や、「GitHub使用経験」などを求める案件もあります。全ての条件をクリアしなければいけないというわけではありませんが、高単価であればあるほど幅広い開発経験が必要となってきます。Androidネイティブアプリの開発では、開発経験はもちろん、ゼロベースからの設計の経験も問われてきます。チームでの作業も重要視されているので、コミュニケーション能力などを条件の一つに挙げている企業もあります。現状、Kotlinは比較的新しい言語なので、Kotlinエンジニアを採用する企業は先進的な取り組みをしていることが多くあります。アジャイル、テスト駆動開発環境での業務といったケースや、コーディングの速さ、密なコミュニケーションなどを求める企業もあるでしょう。そのため、もし上記のような経験や技能があれば、積極的にアピールするとクライアントの印象もよくなる可能性があります。Kotlinエンジニアの高単価案件を狙うには?高単価案件の取得は、上流工程での作業経験やマネジメントの経験を有していることがポイントです。案件に精通していることを認識してもらうために、専門的な知識があることをアピールして理解があることも伝えましょう。BootやJacksonといったフレームワークの使用経験があれば、Java系言語に強い印象を与えられます。Kotlinによるネイティブアプリ開発の案件も伸びているので、その方面に強いと高単価が狙えるようになります。そのためにはSwiftなどを学習して、AndroidだけでなくiOSの開発にも携われるアプリエンジニアを目指しましょう。Kotlinエンジニアの案件はどこで見つけられる?Kotlinエンジニアは、フリーランスエンジニア向け人材マッチングサービスやクラウドソーシングで案件を探すことができます。このうち、幅広い案件を扱っているのが人材マッチングサービスです。結びつけるものなので、大手企業から中小企業まで幅広い案件があります。クラウドソーシングのKotlin案件は小規模なものも取り扱っているため、自主開発の経験がある方でも取得できる場合があります。業務の中でKotlinを使用したという経験が欲しい方には、最適な案件です。まとめアプリ開発が盛況の中、Kotlinのフリーランス案件も需要が伸びています。上流工程経験者では高単価を狙えることから、今後もますますKotlinエンジニアも増えてくる可能性があります。これからKotlinでフリーランスエンジニアを目指す方も、今のうちから学習して行動を起こすことで、高収入を目指すことができるでしょう。Kotlin上村臣人FAworksコンサルタントの上村(かみむら)と申します。累計2,000名以上をサポートしてきた経験やエンジニアの経験から、フリーランスの方のご希望に合った案件をご紹介することが可能です。案件探しにお困りの方や今後のキャリアについて漠然と不安を覚えている方はお気軽にお問い合わせください。安定的に案件に参画したい今よりも年収を上げたいエージェントを活用したい情報収集したい初めてフリーランスとして案件を獲得する方、情報収集段階の方もお気軽にご登録ください。