未経験でもKotlinエンジニアに転職できる理由
Kotlinが未経験でも、他のプログラミング言語経験があればKotlinエンジニアに転職することは可能です。特にJavaでのAndroidアプリ開発の経験があれば、Kotlinエンジニアとしての転職も容易と言えます。
スマホアプリ開発以外のアプリ開発経験がある場合も、比較的Kotlinエンジニアに転職しやすいでしょう。プログラミング経験自体はあるので、基本的なロジックは同じだからです。プログラミング自体がまったくの未経験の場合は、先に一通り勉強してから転職するという流れになります。
プログラミングはパソコンがあれば勉強できるので、万人にチャンスがあります。いずれにしても、未経験からの転職は不可能ではないということです。
関連記事:Kotlinへの転職は未経験でも可能?求められるスキルを求人例とともに解説
Kotlinとは
Kotlinは、JetBrains社が開発したプログラミング言語です。主にAndroidのアプリケーション開発に用いられます。同じくAndroidアプリケーションの開発に用いられるJavaと互換性があり、Kotlinのほうが後発であることから、より少ないソースコード量で簡潔に記述できます。Javaで書かれた既存のプログラムを、Kotlinを用いて統合や移行することも可能です。
関連記事:Kotlinとは?Javaとの違いや将来性、年収について解説
Kotlinの用途
Kotlinの主な用途はアプリケーション開発ですが、他にもできることがあります。ここでは、Androidアプリケーション開発、Webアプリケーション開発、サーバーサイド開発について紹介します。
関連記事:Kotlinでできることは?特徴や事例を中心に徹底解説
Androidアプリケーション開発
Kotlinは、2019年にGoogleがAndroid開発の推奨言語に指定し、大きな注目を集めました。これにより、Kotlinを採用したAndroidアプリケーションの数が急激に増えています。
Webアプリケーション開発
KotlinはWebアプリケーション開発にも用いられます。Webアプリケーション開発のフレームワークも充実しており、Ktor、Spring Boot、Jooby、Javalinなどが代表的です。
サーバーサイド開発
KotlinはJavaとの互換性があることから、サーバーサイド開発にも利用できます。 Javaで作られた既存システムのサーバーサイド部分を、Kotlinを用いて統合や移行ができます。
Kotlinエンジニアの仕事内容
Kotlinエンジニアの仕事内容について紹介します。モバイル開発に携わる場合と、Webアプリ開発やサーバーサイドの開発に携わる場合では仕事内容が大きく変わるほか、企業によっても業務範囲はさまざまです。たとえばモバイルアプリの場合、開発が主な仕事ですが、企画や設計などの上流工程や、アプリのリリース後の運用・保守を担うケースもあります。
モバイルアプリ開発の場合
Androidアプリケーション開発をメインに行います。要件定義に従い、開発・テストの工程を経て、Google Playストアでのアプリ配信まで行います。また、求人情報にモバイルアプリエンジニアやネイティブアプリエンジニアと記載されている場合、AndroidアプリとiOSアプリ両方の開発を対象にしていることもあります。
Webアプリ開発やサーバーサイドの開発の場合
Webアプリケーションの新規開発や、既存のWebアプリケーションのリプレイスなどを行います。たとえば、すでに何年も稼働しているJavaで作成されたWebアプリケーションを、Kotlinにリプレイスするケースが多いです。
サーバーサイドであれば、システム内で呼び出すAPIサーバーの実装をリプレイスするケースがあります。これらの用途でKotlinを採用する理由として、モバイルアプリ開発にKotlinを採用している企業が技術スタックを揃えるためや、Javaを利用している企業が学習コストを抑えながらリプレイスを推進しやすいことが挙げられます。
求人情報にサーバーサイドエンジニア(もしくはバックエンドエンジニア)という表現が使われる場合には、Webアプリだけではなく、モバイルアプリのサーバーサイド部分が開発対象に含まれることもあるため、業務内容をよく確認しましょう。
未経験からのKotlinエンジニア転職のポイント
Kotlin未経験のITエンジニアが、Kotlinエンジニアへ転職する際のポイントを紹介します。
サーバーサイド開発の経験を活かす
サーバーサイドの開発経験がある場合、Kotlinを用いたサーバーサイド開発に活かせるでしょう。また、Kotlinへの理解を深めながら、Webアプリとモバイルアプリ問わずサーバーサイド側の開発を担えるエンジニアを目指すキャリアプランや、モバイルアプリ開発に絞って業務領域を広げるキャリアプランもあります。
Javaの開発経験やオブジェクト指向の知識を活かす
前述のとおり、KotlinはJavaとの互換性があります。そのため、Javaでの開発経験や、オブジェクト指向型のプログラミング言語を用いた開発経験がある場合は、Javaで作られたシステムの統合や移行をKotlinで行う業務に活かせるでしょう。また、稼働中のシステムを統合や移行した経験を積むことで、システム刷新に強みを持つエンジニアとして業務の幅を広げられます。
システム開発サイクルについて理解を深める
システム開発は、単にプログラミングすれば良いわけではありません。システムの要件を決めて、設計を作り、実際にプログラミングし、完成したらテストを実施する、といった流れがあります。また開発前に開発後のシステム運用のことも決めておく必要もあります。このような一連の流れがあるので、下流工程を担当する場合でもシステム開発サイクルについては知っておく必要があるでしょう。
未経験からKotlinエンジニアへの転職で求められる経験・スキル
未経験からKotlinエンジニアに転職する場合、Kotlinでの開発スキル、Kotlin以外の言語や上流工程の経験、問題解決力、コミュニケーションスキルなどがあると良いです。
開発に必要な知識やスキル
KotlinエンジニアはKotlinで開発を行うので、Kotlinでの開発スキルは当然必須です。Kotlin未経験の場合、ある程度学習してから転職活動を行った方が良いでしょう。短期間の勉強だけでは実践的なスキルまでは身に付かず、実戦的なスキルは転職後に身に付けていく可能性は高いです。
しかし事前に学習しておくことでスキルアップが早くなり、また面接段階で熱意をアピールする意味でも事前学習は重要です。
ほかの言語や上流工程の経験
Kotlinエンジニが扱うのはKotlinで、また最初のうちに担当するのは下流工程です。そのため、ほかの言語や上流工程の経験を直接活かすわけではありません。しかし、ほかの言語経験があればKotlinの習得も早く、上流工程の経験があればプロジェクト全体の流れがわかるので下流工程の役割も適切にこなせるようになります。また短期間のうちに上流工程にステップアップしていける可能性もあるでしょう。
問題解決力
Kotlinだけでなく、エンジニアにとって問題解決力は欠かせません。プロジェクトが円滑に進むことの方が稀で、多かれ少なかれ必ずと言ってよいほど問題が発生するからです。問題に対してアプローチ方法を決定し、迅速に行動していく必要があります。時には根気強く情報収集したり、プロジェクトメンバーやクライアントとコミュニケーションを取っていくことも必要になるでしょう。
コミュニケーションスキル
エンジニア全般コミュニケーションスキルは必須です。プロジェクトメンバーやクライアントとコミュニケーションを取りながら仕事を進める必要があるからです。またエンジニアとしての経験が浅いうちは、周囲の人の助けを得る必要があります。
助けを得るためにはコミュニケーションスキルが必須です。たとえば自分がわからないポイント、確認しなければならないポイントを明確化し、相手にわかりやすい形で質問を投げかける、といったことが重要になります。
関連記事:Kotlinの勉強方法は?勉強するメリットや資格について徹底解説
Kotlinエンジニアの求人の特徴
レバテックキャリアに掲載されている求人情報を参考に、Kotlinエンジニアに求められる経験やスキル・働き方について解説します。
求められる経験・スキルについて
モバイルアプリの開発経験や、関連するプログラミング言語のスキルが必要です。Kotlinだけではなく、ReactNative、Flutter、Swiftなどのスキルが求められることも多く、開発経験は年数で表現されます。また、対象をモバイルアプリに限定せず、開発全般の経験を条件としている企業もあります。
対象者について
企業が求める学歴や経歴はさまざまです。数は少ないですが、未経験歓迎や第二新卒OKなどの条件が明記されるケースもあります。また、学士号の取得を条件としている求人情報や、入社後のキャリア形成を考慮して30歳までを対象とする求人情報もあります。
リモートワークについて
Kotlinの求人に限らず、2020年以降、リモートワークでの勤務が可能な求人情報も増えています。2023年11月現在のレバテックキャリアに掲載されているKotlinの求人情報1542件中、1249件がリモート可となっています。ただし、Kotlinを使った開発では、Androidなどの実機を取り扱うこともあります。そのため、実機での検証を行う専任のテストエンジニアがいない場合、会社で管理している検証端末を利用するために出社が必要となるケースもあるでしょう。
Kotlinエンジニアの求人例
Kotlinエンジニアの求人例として、ネイティブアプリエンジニア、サーバーサイドエンジニア(バックエンドエンジニア)の2例を紹介します。(※2023年11月現在)
ネイティブアプリエンジニアの求人例
仕事内容
・エンジニア/デザイナー/ディレクターのチームメンバー全員で、企画から運用までを実施
・機能開発、テスト、アプリケーションの運用/監視、ドキュメントの整備
雇用形態:正社員
年収・給与:500万~750万円
必須条件
<経験>
・ソフトウェアエンジニアの実務(3年以上)
・Androidアプリ開発の実務
・3人以上でのチーム開発
<マインド>
・家族の課題を解決するサービスに興味関心がある方
上記の仕事内容からは、企画から運用まで幅広く担当し、開発以外にも企画に携わったり、アプリの運用・監視を行ったりする機会があることが読み取れます。また、デザイナーやディレクターなどエンジニア以外のメンバーと協力しながら、チーム開発を進めていく経験も積めるでしょう。
バックエンドエンジニアの求人例
仕事内容
・運用中Webサイト/モバイルアプリ全般の新機能追加などの開発全般
・自社CMSなど、各種バックエンドシステムの改善、開発全般
・新規Webサイト/モバイルアプリの要件定義からシステム開発まで
・運用中Webサイト/モバイルアプリの負荷対策やチューニングなど、運用保守としての各種システム改善
雇用形態:正社員
年収・給与:500万~800万円
必須条件:
<経験>
・要件定義から実装までの(開発から保守運用までの一連のご経験)
・PHPの実務開発(フレームワーク不問/3年以上)
・ECサイトのシステム開発(決済導入、在庫連携など)
※いずれかで可
<マインド>
・事業内容やビジョン/ミッションに共感できる方
・上昇志向、行動力、向上心を持ち、主体的に行動できる方
・柔軟な考えを持ち、変化を楽しめる方
こちらの求人例では、PHPの実務経験や、ECサイトのシステム開発経験(決済導入)があることが条件です。Webサイトやモバイルアプリでの決済方法を拡張する機能開発に、バックエンド側で携わる仕事といえます。
Kotlinエンジニアの年収例
レバテックキャリアのKotlinエンジニアの年収例として、900~1,311万円、550~900万円、400~600万円、447~1,404万円などが挙げられます。求人によって年収は異なり、また同じ求人でも年収に幅があります。スキルや案件によって年収が大幅に変わってくるということです。平均としては、600万円程度と推測されます。
関連記事:Kotlinとは?Javaとの違いや将来性、年収について解説
未経験からのKotlin学習ロードマップ
Kotlin未経験のエンジニアを対象に、どのようなステップでKotlinを学べばよいのか、学習ロードマップを紹介します。
Kotlinの基礎文法を学ぶ
まずは、Kotlinの基礎文法を学びましょう。Kotlinの入門書も多く出版されていますし、Web上にもKotlinの基礎文法を学べるプログラムが多数存在します。たとえば、Androidデベロッパーのスタートガイドでは、短期間でKotlinを習得するための集中コースが用意されており、以下のトピックが学べます。
-
・変数の宣言
・条件分岐
・関数
・クラスの定義
・相互運用性について
・フラグメントの使い方
・null値許容について
Kotlinを学ぶうえで、とくに重要となるのが相互運用性への理解です。KotlinのなかでJavaのコードを呼び出したり、逆にJavaからKotlinのコードを呼び出したりするための工夫がされている重要なトピックであるため、しっかりと押さえておきましょう。
オブジェクト指向プログラミングを学ぶ
Kotlinはオブジェクト指向型の言語であるため、オブジェクト指向プログラミングを学びましょう。「やさしいKotlin入門」など、KotlinやJavaと合わせてオブジェクト指向を学べる書籍もあり、関連付けて学ぶことで理解がより深まるでしょう。オブジェクト指向で押さえておくべきトピックは以下のとおりです。
-
・クラス
・オブジェクト
・プロパティ
・カプセル化
・抽象化
・継承
・ポリモーフィズム
また、オブジェクト指向と合わせて、デザインパターンについても学んでおくとよいでしょう。デザインパターンとは、再現性の高い問題に対応する設計のパターンをまとめたものです。「デザインパターンとともに学ぶ オブジェクト指向のこころ」のように、デザインパターンとオブジェクト指向を関連づけて学べる書籍もあります。
データ構造とアルゴリズムを学ぶ
データ構造とアルゴリズムは、Kotlinに限らず、プログラミングをするうえで必須の知識です。Kotlin以外のプログラミング言語を習得する際や、業務で開発を行う際にも役立つため、以下の内容をしっかりと押さえておきましょう。
-
・データ構造の種類(配列、木構造、リスト、スタック、キュー)
・計算量の考え方
・探索アルゴリズム
・ソートアルゴリズム
データ構造とアルゴリズムに関する多くの書籍が出版されていますが、なかでもおすすめの1冊が「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」です。プログラミングコンテストと併せて、データ構造やアルゴリズムを学ぶことができます。課題に対するプログラミングを考える、といった実践的な内容も含まれており、実務を見据えて学びたい方に最適です。
Kotlinにまつわる周辺知識を学ぶ
次に、実際にKotlinを用いて開発を行う際に必要となる周辺知識やツールについて学びましょう。たとえば、Gradleなどのプログラムのビルドや実行を行うためのビルドツールや、アプリケーションを開発するためのフレームワーク、Gitを用いたバージョン管理の考え方、GithubやGitlabなどのツールに関する知識が必要です。
-
・ビルドツール(Gradle)
・フレームワーク
・バージョン管理の考え方(Git)
・バージョン管理ツール(GithubやGitlab)
アプリケーションを作成する
ここまで学習が進んだら、いよいよKotlinを用いたアプリケーションを作成してみましょう。ロードマップに沿って学習を進めてきたのであれば、Kotlinを用いた基本的なプログラミングスキルや、開発で必要となるツールについての理解が深まっているはずです。しかし、実際にアプリケーションを作成する過程では、セキュリティやテストの考え方、データベースとの連携、リリースや運用などについても考慮しなければなりません。
未経験でKotlinエンジニアとして転職するのに役立つ資格
未経験でKotlinエンジニアとして転職するのに役立つ資格は複数あります。資格はあくまでも補助的なものなので実践スキルの方が重要ですが、スキル習得や評価アップの助けになるでしょう。
関連記事:Kotlinエンジニアの資格とは?必要なスキルや勉強法を解説
Android技術者認定試験
Android技術者認定試験はAndroidのアプリケーション、プラットフォーム開発スキルを認定する資格試験です。世界160カ国が対象なので、日本国内だけでなく国際的に評価される資格です。Android技術者認定試験は、アプリケーション技術者認定試験とプラットフォーム技術者認定試験に分けられ、それぞれベーシックとプロフェッショナル2つのレベルがあります。
Associate Android Developer 認定
Associate Android Developer 認定はGoogleが実施する、初心者Android開発者のための資格試験です。言語はJavaとKotlinを選択できますが、Kotlinエンジニアを目指す場合はKotlinを選択します。
Javaプログラミング能力認定試験
Javaプログラミング能力認定試験はJavaエンジニアのための王道資格試験です。そのためKotlinエンジニアにとっては第一に優先すべき資格ではないでしょう。しかしJavaからKotlinにコードを書き替えるような案件や、JavaとKotlinが混在しているような案件もあります。またJavaのスキルがあるとKotlinと類似する部分も多いためKotlinの習得も早いです。
これらのことから、KotlinエンジニアにとってもJavaプログラミング能力認定試験は役立つと言えます。
Kotlinエンジニアの将来性
KotlinはAndroidアプリ開発の主要言語になっています。そして今後もAndroidアプリは増えていくでしょう。GoogleがKotlinを推奨しているため、Android開発の主要言語が他の言語に置き換えられる可能性も低いです。
AndroidもKotlinも将来性があるということなので、Kotlinエンジニアにも将来性があると言えるでしょう。
関連記事:Kotlinの将来性が高い理由とは?できることやメリット・デメリットも紹介
Kotlinに関するよくある質問
Kotlinに関するよくある質問と回答を紹介します。
Q1.KotlinとJavaの関係を教えてください
KotlinはJavaの実行環境で動作します。そのため、JavaとKotlinは互換性があり、一つのシステム内で混在させることも可能です。AndroidアプリはもともとJavaで開発されていましたが、最近はKotlinが主要言語のものが増えています。
関連記事:KotlinとJavaの違いとは?特徴やメリット・デメリットを比較
Q2.Kotlinに将来性はありますか?
KotlinはAndroidアプリ開発の主要言語で、Androidアプリは今後も増え続けるでしょう。Androidアプリ開発の主要言語がKotlinから別の言語に変わる可能性もありますが、Kotlinは利便性が高くGoogleも推奨している言語なのでその可能性も低いでしょう。つまりOSの観点でも言語の観点でもKotlinは将来性があるということです。
Q3.Kotlinの欠点はなんですか?
Kotlinの欠点は、ライブラリが少ないことや、Javaに比べると情報が少ないことなどです。そのため、Kotlinの欠点を補うためにはJavaのスキルもあるとより良いです。KotlinではJavaのライブラリを使用可能で、またJavaのスキルがあればKotlinの情報が少なくてもJavaの経験からエラーへの対処などができるからです。
関連記事:Kotlinのメリット・デメリットとは?今後も使われていく言語なのか解説
ITエンジニアの転職ならレバテックキャリア
レバテックキャリアはIT・Web業界のエンジニア職を専門とする転職エージェントです。最新の技術情報や業界動向に精通したキャリアアドバイザーが、年収・技術志向・今後のキャリアパス・ワークライフバランスなど、一人ひとりの希望に寄り添いながら転職活動をサポートします。一般公開されていない大手企業や優良企業の非公開求人も多数保有していますので、まずは一度カウンセリングでお話してみませんか?(オンラインでも可能です)
転職支援サービスに申し込む
また、「初めての転職で、何から始めていいかわからない」「まだ転職するかどうか迷っている」など、転職活動に何らかの不安を抱えている方には、無料の個別相談会も実施しています。キャリアアドバイザーが一対一で、これからのあなたのキャリアを一緒に考えます。お気軽にご相談ください。
「個別相談会」に申し込む
レバテックキャリアのサービスについて