1 - 30件/全43,128件
・アカウント開発チームにて、バックエンド領域の 開発および運用をお任せします。 ・具体的な作業内容は下記を想定しております。 -要件に基づいた設計 -実装 -テストコード追加 -検証 -リリース -実装レビュー -ドキュメントの作成 -リアーキテクチャに伴うバックエンド領域の技術選定
案件の必須スキル
・Webアプリケーション開発経験(5年以上) ・Goを用いた開発経験(3年以上) ・RDBを用いた開発経験(3年以上)
・Javaを用いた基幹システム新機能開発案件に携わっていただきます。 主な作業は下記になります。 -調査(フィージビリティスタディ) -設計 -実装、単体テスト実施 -結合テスト項目作成、実施
案件の必須スキル
・Java8以降の開発経験(3年以上) ・Thymeleaf 、 Bootstrap 、 jQueryいずれかを用いた開発経験 ・SpringBootの開発経験 ・MySQLの経験 ・SVNやGitの経験 ・Linuxの経験 ・AWSやAzureおよびGCPのいずれかの経験 ・要件定義(仕様策定や調査)フェーズの経験
・アカウント開発チームにて、バックエンド領域の 開発および運用をお任せします。 ・具体的な作業内容は下記を想定しております。 -要件に基づいた設計 -実装 -テストコード追加 -検証 -リリース -実装レビュー -ドキュメントの作成 -リアーキテクチャに伴うバックエンド領域の技術選定
案件の必須スキル
・Webアプリケーション開発経験(5年以上) ・Goを用いた開発経験(3年以上) ・RDBを用いた開発経験(3年以上)
・教育サービス向けアプリケーションの開発に携わっていただきます。 ・下記工程の作業を想定しております。 - 詳細設計 - 実装 - テスト - リリース - 運用 - 不具合などの調査、修正 ※作業内容はスキルやご経験に応じて変動いたします。
案件の必須スキル
・静的型付き言語の開発経験(2年以上) ・Webアプリケーション開発経験(2年以上) ・BtoB向け業務システム開発経験(2年以上) ・ORMを用いた開発経験 ・ORMにおいて、RDBに非効率的なクエリ(N+1等)を発行しない程度の理解がある方 ・GitHub などでプルリクエスト駆動開発経験 ・ReactまたはNext.jsなどのコンポーネントベースなフレームワーク開発経験 ・TypeScriptの経験
・複数ある店舗運営プロダクトの開発に携わっていただきます。 ・具体的には下記作業を想定しております。 - フロントエンド開発 - バックエンド開発 - 技術選定 - クラウドインフラ整備
案件の必須スキル
・Webアプリケーションのバックエンド開発経験 ・Rubyを用いたSaaS開発経験 ・Githubのようなバージョン管理システムの理解 ・RDBMSを利用したDB改善経験 ・クラウドインフラの構築、運用経験 ・フロントエンドからバックエンド、インフラまでトータルで設計、開発、運用した経験 ・ToCサービスのハイトラフィックなプロダクト開発経験
・複数ある店舗運営プロダクト開発に携わっていただきます。 ・具体的には下記作業を想定しております。 - フロントエンド開発 - バックエンド開発 - 技術選定 - クラウドインフラ整備
案件の必須スキル
・Webアプリケーションのバックエンド開発経験 ・Goを用いたSaaS開発経験 ・Githubのようなバージョン管理システムの理解 ・RDBMSを利用したDB改善経験 ・クラウドインフラの構築、運用経験 ・フロントエンドからバックエンド、インフラまでトータルで設計、開発、運用した経験 ・ToCサービスのハイトラフィックなプロダクト開発経験
・複数の店舗運営プロダクト開発に携わっていただきます。 ・具体的には下記作業を想定しております。 - フロントエンド開発 - バックエンド開発 - 技術選定 - クラウドインフラ整備
案件の必須スキル
・Webアプリケーションのバックエンド開発経験 ・Javaを用いたSaaS開発経験 ・Githubのようなバージョン管理システムの理解 ・RDBMSを利用したDB改善経験 ・クラウドインフラの構築、運用経験 ・フロントエンドからバックエンド、インフラまでトータルで設計、開発、運用した経験 ・ToCサービスのハイトラフィックなプロダクト開発経験
・公共インフラ向け新規パッケージ開発に携わっていただきます。 ・主に下記作業をご担当いただきます。 -基幹システムリプレースにおける大規模プロジェクト向け新規フレームワーク開発 -システムアーキテクト(フレームワーク開発やドキュメンテーション)
案件の必須スキル
・下記いずれかの経験 -複数の現場で非機能に対する設計、実装、共通化の実装 -複数の現場でVue3やSpring Bootの開発 -単体テストコードの作成や方針策定 -GitHubActions、Gradleビルド、OpenAPI(Swagger)からの自動生成、セットアップ構築や設計 -入力項目が多いシステムの開発 ・Vue.js(Vue3)やJava(SpringBoot)及びAWSの経験 ・アーキテクチャ設計書や開発ガイド等のドキュメンテーション経験
・二次元コンテンツ事業_商業ゲーム開発部における、ECプラットフォーム開発案件に サーバーサイドエンジニアとして携わっていただきます。 具体的には下記を想定しております -要件定義 -基本設計 -詳細設計 -開発 -結合テスト -ユーザーテスト -保守改修 ※アダルトコンテンツが含まれます
案件の必須スキル
・PHPを用いた開発経験(3年以上) ・Javaを用いた開発経験(3年以上) ・Webアプリケーション開発経験(5年以上) ・RDBにおけるSQLとテーブル設計経験 ・設計~開発、テストまでの一通りの工程の経験
・Java、Kotlinを用いたマッチングアプリの開発業務に携わっていただきます。 ・主な作業内容は以下の通りです。 ‐技術、アーキテクチャ選定 ‐プロダクト開発における組織の推進、リード ‐進行管理 ‐経営側との技術的調整
案件の必須スキル
・Spring Bootを用いたプロダクトのテックリード経験 ・Javaを用いた開発経験 ・事業会社でのToC向けアプリの開発経験 ・iOS・ Android両OSで整合性の取れた設計実装方針策定経験
・二次元コンテンツ事業_商業ゲーム開発部における、ECプラットフォーム開発案件に サーバーサイドエンジニアとして携わっていただきます。 具体的には下記を想定しております -要件定義 -基本設計 -詳細設計 -開発 -結合テスト -ユーザーテスト -保守改修
案件の必須スキル
・PHPを用いた開発経験(3年以上) ・Javaを用いた開発経験(3年以上) ・Webアプリケーション開発経験(5年以上) ・RDBにおけるSQLとテーブル設計経験 ・設計~開発、テストまでの一通りの工程の経験
・Swiftを用いたゲームプラットフォーム運用保守開発案件に携わっていただきます。 経験に応じて下記をご担当いただく予定です。 -DMM GAMESストアアプリの設計、開発、運用 -機能及びキャンペーンの新規開発や改善 -APIの設計/開発、DB設計、サーバー負荷軽減 -パフォーマンスチューニングやバグ対応 -AWSなどのクラウドインフラを利用したサービス設計/運用 -各種業務効率化に向けたツール開発 -Developer向けライブラリの開発(iOS) -新サービスに向けた技術検証、PoC
案件の必須スキル
・iOSアプリ(Swift)の開発経験(1年以上) ・StoreKitもしくはStoreKit2を使用したアプリ内課金の実装経験 ・WebアプリケーションまたはWebAPIの開発経験(1年以上) ・Java(SpringBoot)を使用した開発経験 ・上流〜下流まで一貫して自走可能な開発スキル
・駐車関連システム等の新規開発、もしくはほかシステムの開発をご担当いただきます。 ・具体的には下記作業を想定しております。 - 詳細設計 - 実装
案件の必須スキル
・Javaを用いたアプリケーション開発経験 ・Linux環境での開発経験
・AS/400上で稼働しているシステムを、オープン化していくプロジェクトへご参画いただきます。 ・クライアントは当該システムの現⾏担当体制で、新システム化も進める想定ですが、プロパー担当の⼯数捻出のため、運⽤保守業務のアウトソース化を進めております。 ・当運⽤保守業務のアウトソース化をすすめていく上で、以下それぞれ3つの作業対応のいずれかを対応いただける方を募集しております。 ‐⽼朽化・導⼊(AS/400のバージョンアップ対応) ‐資産整理 ‐開発・保守
案件の必須スキル
・下記いずれかのご経験 -AS/400バージョンアップ対応に関わる技術及び経験 -現⾏ドキュメント資産、プログラムソース資産を確認し、システム設計書を起こした経験 -AS/400上でのアプリケーション開発経験
・Java(Spring Boot)を用いた、 人材紹介事業会社における、基幹システムおよび周辺システムのスクラム開発に携わっていただきます。
案件の必須スキル
・Java(Spring Boot)を用いた開発経験3年以上 ・スクラム開発の経験 ・Dockerを用いた開発経験 ・要件定義から一貫した開発経験
・Javaを用いた脆弱性管理クラウド開発案件に携わっていただきます。 スクラム組織での開発でフルスタックに作業をお任せする想定ですが、 API開発、バッチ開発、BFF、フロントエンド開発など担当領域については、 スキル・希望に応じて変動する可能性がございます。 ・主に下記作業をご担当いただきます。 -設計、開発、テスト
案件の必須スキル
・JavaやKotlinによるWebアプリケーションの開発経験(3年以上) ・Spring FrameworkやSpring Boot を利用したプロダクト開発経験 ・AWSの使用経験 ・スクラムを採用したチームでの経験 ・macOSの使用経験
・Rubyを用いたSaaS系人事支援サービス開発案件に携わっていただきます。 ※一部JavaScript,、TypeScript、 Sassを用いたフロントエンド開発にも ご協力いただく可能性があります。 ・主に下記作業をご担当いただきます。 -新規機能の設計、開発、テスト -新規機能の要件などに関する議論、ミーティングへの参加 -障害対応の協力
案件の必須スキル
・下記、いずれかを用いた開発経験(5年以上) -Ruby、Java、Scala、Go、JavaScript ・ 何らかのフレームワークを用いた開発経験(2年以上) ・AWSやGCP及びHerokuなどのパブリッククラウドを用いた開発経験
======================== ※必ずお読みください※ 【必須要件】 東京の顧客先に常駐できる方 【外国籍の方の場合】 日本語能力検定1級お持ちの方 日本語が母国語の方 ======================== システム開発事業を行ってる企業にて、Java を用いた銀行系システムの開発保守案件にご参画いただきます。 エンハンス開発をお願いします。(調査、設計、実装、テスト、移行検証)
案件の必須スキル
・Java の経験5年以上 ・Linux、SQL の基本的な操作が問題無い方
======================== ※必ずお読みください※ 【必須要件】 東京の顧客先に常駐できる方 【外国籍の方の場合】 日本語能力検定1級お持ちの方 日本語が母国語の方 ======================== 大手企業の受託開発を行っている企業にて、クレジットカード会社向けECサービスの開発にPLとしてご参画いただきます。 開発チームの一員として、PLの方には以下を行っていただきます。 ・既存システムの仕様理解と今回の開発に関する整理 ・テスト方針の策定 ・テスト実施における品質管理、進捗管理 ※チームで出社が発生する場合(2週間に1度)がありますので、関東近郊にお住まいの方が望ましいです。 ※期間につきまして、一旦スポット(2025年2月~5月、もしくは3月~5 or 6月)になる可能性があります。(更新の可能性あり)
案件の必須スキル
・PL の経験 ・Java 開発経験(4年以上) ・Webアプリケーション開発経験(2年以上)
======================== ※必ずお読みください※ 【必須要件】 東京の顧客先に常駐できる方 【外国籍の方の場合】 日本語能力検定1級お持ちの方 日本語が母国語の方 ======================== 同社は自社でクラウド型POSプラットフォームやセルフオーダーシステムの開発、運営を行っている企業です。 自社サービスのAndroidエンジニアとして、Androidタブレットやスマートフォンを利用した、クラウド型のPOSシステムのリニューアル開発をご担当いただきます。 レンタルPOSとして、業界トップクラスを誇り、成長中のサービスでの経験が積める現場です。
案件の必須スキル
・Androidアプリの実務経験(実務3年以上) ・JavaもしくはKotlinの実務経験 ・リードエンジニアやテックリード、チームリーダー経験
======================== ※必ずお読みください※ 【必須要件】 東京の顧客先に常駐できる方 【外国籍の方の場合】 日本語能力検定1級お持ちの方 日本語が母国語の方 ======================== オンラインによる生体認証、体型認証、行動認証のプラットフォームを展開している企業にて、eKYCプロダクトの iOS 開発をご担当いただきます。 SDK や iOSアプリの開発をご担当いただきたく、以下対応をお願いいたします。 eKYC市場シェア5年連続No1を誇る大規模かつ知名度もあるプロダクトとなっております。 ・iOS用の eKYC SDK の拡張開発(例:新たな本人確認書類に対応するための画面追加等) ・iOS用の eKYC SDK のリファクタリング ・iOS用の eKYC アプリ の拡張開発(例: SDK の新機能を取り込む等)
案件の必須スキル
・iOS でのネイティブアプリ(Swift製)開発経験 実務3年以上 ・仕様検討、設計、開発、リリースの経験 ・チームでの開発経験
・小売業向けWEBシステム開発に携わっていただきます。 ・具体的な担当工程は下記の通りです。 -設計~テスト
案件の必須スキル
・Javaを用いたバックエンド開発経験 ・SpringBootを用いた開発経験 ・React、Vue等を用いたフロント開発経験 ・設計工程から一貫して対応した経験 ・各種レビュアーの経験(設計、コード)
・全事業に関わる情報連携システムのサーバーサイド開発及び保守運用をご担当いただきます。 具体的には下記を想定しております。 ・スキルに応じて幅広く作業を担当いただきます。 -新規事業のローンチや会計上の要求に伴う改修、保守、運用 -プロダクトの追加機能開発
案件の必須スキル
・JavaあるいはPythonを用いた開発経験(5年以上) ・AWSなどのクラウドサービス上での構築経験
・小売業向けWEBシステム開発に携わっていただきます。 ・具体的な担当工程は下記の通りです。 -設計~テスト
案件の必須スキル
・Javaを用いたバックエンド開発経験 ・SpringBootを用いた開発経験 ・React、Vue等を用いたフロント開発経験 ・設計工程から一貫して対応した経験 ・各種レビュアーの経験(設計、コード)
・全事業に関わる情報連携システムのサーバーサイド開発及び保守運用をご担当いただきます。 具体的には下記を想定しております。 ・スキルに応じて幅広く作業を担当いただきます。 -新規事業のローンチや会計上の要求に伴う改修、保守、運用 -プロダクトの追加機能開発
案件の必須スキル
・JavaあるいはPythonを用いた開発経験(5年以上) ・AWSなどのクラウドサービス上での構築経験
【業務概要】 弊社基幹システムの新機能開発 【業務詳細】 〜弊社基幹システムの新機能開発〜 ・調査(フィージビリティスタディ) ・設計 ・実装・単体テスト実施 ・結合テスト項目作成/実施 当社は、中小企業や個人事業主向けの会計ソフト、給与計算ソフト、販売管理ソフトなどを開発・販売している日本のソフトウェア会社です。 【サービス一覧】 ・会計ソフト 個人事業主から中小企業まで幅広く利用されている会計ソフトの代表格です。クラウド版とデスクトップ版があり、ユーザーのニーズに合わせて選択できます。 ・給与計算ソフト 給与計算、賞与計算、年末調整など、給与計算業務に必要な機能を備えています。こちらもクラウド版とデスクトップ版があります。 ・販売管理ソフト 見積書、納品書、請求書の作成、在庫管理、売上管理など、販売業務全般をサポートします。 ・確定申告ソフト 青色申告に必要な書類の作成をサポートするソフトです。 ・白色申告ソフト 白色申告に必要な書類の作成をサポートするソフトです。 【強み】 使いやすさ: 初心者でも直感的に操作できるユーザーインターフェースが特徴です。 豊富な機能: 中小企業の業務に必要な機能が網羅されています。 サポート体制: 電話やメール、チャットなどでサポートを受けられます。 ブランド力: 長年の実績と高い知名度を誇ります。 【その他】 ・ドキュメントは主にExcel、ブランチモデルはGit-flowをカスタマイズしたものを使用しております。
案件の必須スキル
・Java8以降の開発のご経験 目安3年以上 ・SpringBootのご経験(フロント:Thymeleaf + Bootstrap + jQuery) ・MySQLでの設計のご経験 ・SVN、Gitのご経験 ・Linux環境での開発のご経験 ・AWS、Azure、GCPのいずれかのご経験 ・要件定義(仕様策定、調査)フェーズの経験
・本人確認プラットフォームをNode.jsを用いて開発をご担当いただきます。 ・バックエンド開発チームの一員として以下の開発をお願いいたします。 -既存機能の改善 -新機能の検討/開発 -パフォーマンスチューニング
案件の必須スキル
・バックエンドエンジニアとしての経験(5年以上) ・チーム開発(コミュニケーションやレビューやフィードバックなど)の経験 ・仕様検討の経験 ・Node.jsを用いた開発経験
1 - 30件/全43,128件
この条件の新着案件情報を受け取る
単価で絞り込み
エリアで絞り込み
職種で絞り込み
この条件の新着案件情報を受け取る
■Javaとは JavaはC言語をもとに開発されたプログラミング言語です。Googleが開発に使う三大言語(Java、C++、Python)の1つでもあります。 Javaの最大の特徴として、「Write once, Run anywhere」というJavaのキャッチフレーズ通り、Java仮想マシン(JVM)があることにより、JavaでコーディングすればWindowsやUNIX、Linux、MacなどのOSを問わずプログラムが実行されることが挙げられます。 Java仮想マシン(JVM)とは、JavaプログラムとOSの間で動作し、両者をつなぐためのソフトウェアです。 その他、特徴はオブジェクト指向のプログラミング言語であることや、技術的にも安定しておりかつ需要も多いこと、コンパイラ言語であるため処理速度が早いこと、高セキュリティであること、フレームワークやライブラリが豊富であることなど様々なことが挙げられます。 Javaは大企業での大規模システム開発や基幹システム開発を得意としているだけでなく、Androidアプリ開発なども可能です。 具体的にはJavaができる開発はWeb開発、モバイルアプリ開発、業務システム開発、金融システム開発、組み込みシステム開発、ゲーム開発、AI・機械学習開発、ビッグデータ処理開発と幅広いです。 JavaのフレームワークはSpring Framework、Apache Struts、Play Framework、Apache Wicket、Spark Framework、JSF(JavaServer Faces)、SAStruts (Super Agile Struts)、Java EE(Java Platform, Enterprise Edition)、などがあります。 Javaを活用しているサービスはGoogle、X(旧Twitter)、楽天、Evernoteなどが挙げられます。 ■JavaとRubyの違い この章ではJavaとRubyの違いについて説明します。 Javaはコンパイラによってコンパイルされるプログラミング言語であり、Rubyはインタプリタによって解釈されるスクリプト言語です。また、Javaの型指定は静的であり、Rubyの型指定は動的です。 しかし、JavaとRubyは「オブジェクト指向」プログラミング言語であるという共通点もあります。 次に開発について見ていきましょう。JavaはWeb開発、基幹システム、モバイルアプリ開発など幅広く様々な中規模から大規模開発に適しており、RubyはWebサイト制作、SNS開発、Webアプリ開発とこちらも幅広く開発できますが、小規模〜中規模開発に適しています。 学習コストの違いを見ていきましょう。 Javaは学習コストが高いです。その理由としてオブジェクト指向言語であることや、コード記述量が他開発言語より多いこと、決められたルールや構文が多くあり、かつネットワークやハードウェアなども一定の知識が必要です。Rubyは学習コストが低いです。その理由としてコード記述料が少なくかつ文法も簡単でわかりやすいです。また、Rubyは日本人の「まつもとゆきひろ氏」が開発しており、日本語で解説された情報が多く存在することもRubyの学習コストが低い理由の1つでしょう。 ■JavaとPHPの違い この章ではJavaとPHPの違いについて説明します。 JavaはC言語をもとに開発されたプログラミング言語であり、PHPは動的なWebページを作成できるサーバーサイドのプログラム言語です。JavaとPHPの違いは、オブジェクト指向かどうか、学習難易度、開発分野が大きな違いです。 まずオブジェクト指向について、Javaはオブジェクト指向言語ですが、PHPはオープンソースの汎用プログラミング言語です。 次に学習難易度についてJavaは学習の難易度は高く、オブジェクト指向の理解やコード記述量が多いこと、決められたルールや構文が多いことが要因です。一方PHPの学習難易度は低いです。その理由としてPHPはスクリプト言語であり、プログラムを書いたらすぐに実行でき結果を素早く得られることや文法が簡単であることが要因です。 開発分野について、JavaはWeb開発、基幹システム、モバイルアプリ開発など幅広く様々な中規模から大規模開発に適しており、PHPはWeb特化の開発言語のため、WebサービスやSNS、ECサイト開発に適しています。 ■JavaとJavaScriptの違い この章ではJavaとJavaScriptの違いについて説明します。 Javaはオブジェクト指向プログラミングに特化した汎用的な開発言語であり、JavaScriptはWebブラウザ上で動作するスクリプト言語です。 JavaとJavaScriptの違いを汎用性、習得難易度、将来性から見ていきましょう。 汎用性の観点ではJavaは先述したようにWeb開発、モバイルアプリ開発、業務システム開発、金融システム開発、組み込みシステム開発、ゲーム開発が可能です。 一方、JavaScriptはWebフロントエンド開発、Webアプリケーション開発、サーバーサイド開発などの開発ができます。どちらの開発言語もプログラミング言語であり、かつ幅広く開発できますが、Javaはサーバーサイドやモバイルアプリ開発に適している点、JavaScriptはWebフロントエンド開発に特化している点が異なります。 また、Javaは大規模システム開発に適しており、一方JavaScriptは小規模から中規模のWeb開発に適しています。 次に学習難易度についてJavaの学習難易度は比較的高いです。 その理由としてJavaはオブジェクト指向プログラミングの理解が必要であるためです。 一方JavaScriptの習得難易度は比較的低いです。その理由としてシンプルな文法構造を持ち、Web開発に特化しているためです。 最後に将来性を見ていきましょう。 Javaの将来性は中期的に見て安定しているでしょう。 その理由として大規模システム開発での需要が根強く、Androidアプリ開発でも広く使われているためです。 またJavaScriptの将来性は高いでしょう。 その理由としてWebアプリケーション開発の需要が高まっており、Node.jsなどのサーバーサイドでも活用されているためです。 なお、フリーランスエンジニアとしてJavaやJavaScriptのスキルを身につけたい場合、汎用性や学習難易度、需要の違いを考慮し自分に見合うスキルを見つけることをおすすめします。 ■Javaを活用するメリット この章ではJavaを活用するメリットについて説明します。 Javaを習得することにより、具体的に以下のようなメリットがあります。 ・求人・案件数が豊富 ・さまざまな業界の求人・案件に携われる ・セキュリティが高い ・自由度の高い実行環境 ・転職に有利になりやすい 特に求人・案件数が豊富であることは非常に有利になるでしょう。JavaはWeb開発、モバイル開発から基幹システム開発と様々な開発に活用されているため、その分求人・案件は豊富です。そのため習得した後に求人・案件が少なく参画できないことは少ないでしょう。 また、プログラミング知識が身に付くことについて、JavaはDart、Scala、Kotlinなどに影響を与えた開発言語であることやオブジェクト指向言語です。Javaを習得することにより、様々な開発言語を習得しやすくなるでしょう。 ■Javaを活用するデメリット この章ではJavaを活用するデメリットについて説明します。 Javaを習得することにより、具体的に以下のようなデメリットがあります。 ・学習コストが高い ・小規模開発は適していない Javaはオブジェクト指向言語であるため、オブジェクト指向の理解するためにある程度の時間を要するので、習得難易度も高い開発言語です。また、Javaはオブジェクトの作成が必要であるため、簡単な機能開発や小規模での開発は適していません。 Java習得を今後検討しているフリーランスエンジニアはメリットデメリットを比較した上で決めると後悔が少ないでしょう。 ■Javaフリーランスエンジニアとして携わることができるフリーランス求人・案件例 ・Webアプリケーション開発求人・案件 フリーランスエンジニアはWebアプリ開発求人・案件に携わることができます Spring BootやJava EE (Jakarta EE) などのJavaフレームワークを活用し、SaaSプロダクトやCRMなど開発します。 ・Androidアプリ開発求人・案件 フリーランスエンジニアはAndroidアプリ開発求人・案件に携わることができます。 Androidアプリ開発求人・案件では、Kotlinを用いた開発も多いですが、Javaも多く活用します。新しいアプリの開発や既存アプリの保守・拡張など、様々な案件に携わることができます。 ・エンタープライズシステム開発求人・案件 フリーランスエンジニアはエンタープライズシステム開発求人・案件に携わることができます。Javaはセキュリティ性が高く、大企業や公共機関におけるビジネスロジックやデータ処理を行う大規模システム開発を得意としています。 近年ではJavaとの互換性が高くかつ、コード量が少なくシンプルであるScalaでのシステム改修やリプレイス求人・案件もあります。 ・クラウドサービス開発求人・案件 フリーランスエンジニアはクラウドサービス開発求人・案件に携わることができます。 近年マイクロサービスやサーバーレスアプリケーション開発が多くなっています。 AWS LambdaやAzure FunctionsでのJava関数の開発などJavaは大規模な分散システムやマイクロサービスの構築ができるため多くのクラウドサービス開発にも適しています。 ・組み込み系システム開発求人・案件 フリーランスエンジニアは組み込み系システム開発求人・案件に携わることができます。ハードウェアのCPU性能向上やメモリ容量の増大により、Javaが使用できる環境が整っています。高セキュリティやマルチプラットフォームでも利用できるJavaを活用するフリーランス求人・案件も徐々に増加しています。さらにデバイス向けのアプリケーションやファームウェアの開発求人・案件もあります。 ■Javaエンジニアが保有していると高単価になりやすい開発言語 JavaフリーランスエンジニアとしてPHPやRubyスキルやその周辺知識を有していると高単価になりやすいです。そのためこの章ではPHPやRubyについても知識を深めていきましょう。 <PHP> PHPは正式名称「PHP: Hypertext Preprocessor」であり、動的にWebページを生成することができるサーバーサイドのスクリプト言語です。 PHPの特徴として、Web開発に特化したプログラミング言語であること、構文がシンプルで短いコード記述ができること、様々なOSやWebサーバーで実行できること、豊富なフレームワーク/ライブラリがあること、初学者でも学習/習得しやすいことなどが挙げられます。 PHPができる開発はWeb開発、Webアプリケーション開発、CMS開発、ECサイト開発、APIバックエンド開発、IoT開発、ブログシステム開発、LMS(学習管理システム)開発と幅広いです。 <Ruby> Rubyは、1993年にまつもとゆきひろ氏により開発初心者な方でも本格的なプログラミングが楽しめるようにと開発されたプログラミング言語です。国産のプログラミング言語としては日本で初めて国際電気標準会議(IEC)で国際規格に認証された言語です。 Rubyの特徴として、JavaScriptやPythonなどと同様オブジェクト指向であること、スクリプト言語であること、コード記述量が少なく、可読性が高いこと、動的型付けと呼ばれる性質を持、記述の自由度が非常に高いこと、日本語の記事や書籍が多くドキュメントも日本語で読めるため初学者でも習得しやすいことなどが挙げられます。 Rubyができる開発はECなどWebサイト制作、スマホアプリ開発、SaaS開発、Webアプリ開発、人工知能開発と幅広いです。 ■Javaフリーランス求人・案件のリモートワーク・在宅・持ち帰り状況 Javaは業務システム開発、Webサービス開発、Android開発など様々な開発求人・案件があり、多くの開発現場においてリモートワークや在宅・持ち帰りのフリーランス求人・案件が増えています。 しかし、セキュリティや機密情報保持などの様々な要因によりJavaを活用した基幹システム関連の開発現場におけるリモートワークや在宅・持ち帰りのフリーランス求人・案件はWebサービス開発求人・案件と比較すると少ないでしょう。 未だコロナが蔓延しておりますが、リモートワークや在宅ではコミュニケーションが取りづらいなどの課題も見えており、出社に切り替えている企業も多くなっております。 特に出社とリモートワーク・在宅を混合している働き方であるハイブリットワークが近年増加傾向であり、今後Javaを含むフリーランス求人・案件のリモートワークや在宅・持ち帰り化は増減なく、現状のまま維持していく可能性が高いでしょう。 Javaフリーランス求人・案件の中でもリモートワークや在宅・持ち帰りのみに参画したいフリーランスエンジニアは業務システム開発、Webサービス開発、Android開発などのフリーランス求人・案件を探してみましょう。 ■Javaでの週2日・週3日フリーランス求人・案件 Javaの週2日・週3日フリーランス求人・案件はJava全体のフリーランス求人・案件の中で4~5%ほどの割合で存在します。 また週2日・週3日などの時短でも月額単価70万円など、高単価フリーランス案件・求人も増えています。複数フリーランス求人・案件に参画できるため、様々なプロダクトやサービス開発に携われたり、多種多様なエンジニアとコミュニケーションを取れます。 高単価なJavaフリーランス求人・案件はJavaスキル以外にも、上流工程〜下流工程まで一貫した開発経験などシステム開発におけるある程度の開発実績や知識が備わっている方でないと参画が難しいでしょう。 Javaフリーランスエンジニアとして週2日・週3日フリーランス求人・案件に参画したい方は現状の市場動向の把握をした上で自分のスキルに見合うフリーランス求人・案件を探すことをおすすめします。 ■Javaフリーランス求人・案件に参画するために必要なスキル Javaフリーランス求人・案件に参画するために必要なスキルとしては、Java自体の開発経験、サーバーサイド開発経験や開発で頻繁に使用される周辺知識/スキルです。 技術面とその他周辺スキル/知識に分けてみていきましょう。 まず、技術面においてJavaフリーランスエンジニアとして、Spring BootやJava EEなどのフレームワークの使用経験や知識、RDBMSやSQLなどのデータベース知識、GitやSVNなどバージョン管理ツール、IDEを使った経験、AWS、Azure、GCP(Google Cloud Platform)などのクラウドサービスの使用経験や知識、DockerやKubernetesなどコンテナ技術の使用経験や知識があるとJavaフリーランス求人・案件に参画しやすいでしょう。 その他周辺スキル/知識として、コミュニケーションスキルや問題解決スキル、ドキュメント作成スキル、知識を常にアップデートできるスキルなどがあるとJavaフリーランス求人・案件に参画しやすいでしょう。 上記技術面とその他周辺スキル/知識、どちらかが欠けていると求人・案件に参画できない可能性があるので念頭においておきましょう。 さらにJavaフリーランスエンジニアとして、高単価のフリーランス求人・案件に参画を希望している場合、上流工程での経験やチームマネジメント経験があることが望ましいでしょう。 ■Java開発経験年数別のアドバイス Javaフリーランス求人・案件に参画するため、Java開発経験年数別のアドバイスをそれぞれ開発経験1〜2年、開発経験2〜3年、開発経験5年以上に分けて解説します。 ・開発経験1〜2年 開発経験1〜2年のJavaフリーランスエンジニアはJavaの基本文法やオブジェクト指向の概念など、基本的な知識を身につけましょう。 フリーランス求人・案件に参画した際は技術や業界のノウハウを学んでいくため、経験豊富な他エンジニアやメンターを見つけることをおすすめします。積極的にコードレビューやフィードバックをもらいスキルアップを図りましょう。 ・開発経験2〜3年 開発経験2〜3年のJavaフリーランスエンジニアはSpring BootやJava EEなどJavaフレームワークやJava開発における周辺技術や環境に積極的に触れ、スキルアップを図りましょう。また、要件定義やプロジェクト管理、コミュニケーションスキルなどの技術以外のスキルも身につけることをおすすめします。 開発経験2〜3年のJavaフリーランスエンジニアはある程度技術スキルも備わっているため、Javaフリーランス求人・案件に参画しやすいですので、継続的にフリーランス求人・案件に参画できるようにネットワークを広げていくとなお良いでしょう。 ・開発経験5年以上 開発経験5年以上のJavaフリーランスエンジニアはJava周辺スキルは備わっているためプロジェクトのリーダーやアーキテクトとしての役割も選択肢に入ってくるかと思いますので、チャンスがあれば積極的に引き受けましょう。 また、若手エンジニアへの教育やメンタリングを行える場合は自分の持っている知識の再確認の意味も込めて行ってみることをおすすめします。 なお、IT技術は日々成長しておりかつ廃れていくため、常に最新技術やトレンドを学び、アップデートしていきましょう。 ■Java習得難易度・勉強方法 習得難易度について、開発言語の中でも難しい部類に入るため、初心者や最初に学ぶ開発言語としてはおすすめできません。 その理由はJavaはハードウェアやネットワーク知識、オブジェクト指向の理解が必要であること、文法やルールが多くコード記述量が多くなること、他開発言語と比較しエラー対処の難易度が高いこと、設計難易度が高度であることなど挙げられます。 習得難易度が難しい理由について、もう少し説明するとJavaの記述ルールは厳格で、少しのミスでもコンパイルが出来ません。 さらにコードを省略して記述できず、Javaのプログラムは文字数が非常に多いです。 Javaをコンパイルして動作しない場合、膨大なデータ内からエラー箇所を見つける必要があります。Javaは様々な開発ができる反面、習得難易度が高くなっています。 Javaの学習コストは、他プログラミング言語と比較して大幅な時間がかかります。 1つのプログラミング言語を基礎レベルまで習得するには、おおよそ200時間は必要と言われています。また実務レベルまで習得する場合、おおよそ1,000時間以上かかるとも言われています。しかし、学習方法や理解度や開発言語の周辺知識も一緒に習得する必要があり、個人差はありますので、あくまでも参考として覚えておきましょう。 近年ではオンライン学習やプログラミングスクールなど、様々な場所でJavaを始めとするプログラミング言語を学習出来ます。オンライン学習を例に挙げると「Progate」「ドットインストール」「Schoo」「Udemy」など多種多様なサービスがあります。 また、Oracleの公式ドキュメントなどの活用や「LeetCode」・「HackerRank」などのコーディング練習サービスなどもあり、Java学習の環境は整っています。 オンライン学習やプログラミングスクールはJava自体の習得以外にもネットワーク、データベース、サーバー、OSなど周辺知識の必要性も教えてくれるため、学習においてより実践で使える知識を蓄えやすいでしょう。 その他、Java習得を希望するエンジニアは、まず周辺でJavaに精通したエンジニアを探してみる、勉強会に積極的に参加してみることもおすすめです。やはり近くにメンターがいることにより、学習の効率性も上がるだけでなく学習意欲も維持しやすくなります。 他開発言語を学習/習得する際、ScalaやC#、KotlinなどのJavaに影響を受けたプログラミング言語がおすすめです。 ■JavaフリーランスエンジニアにおすすめのJavaフレームワーク JavaのフリーランスエンジニアとしてJavaフレームワーク知識はフリーランス求人・案件の参画確度を高めます。 代表的なフレームワークを解説いたしますので、フリーランスエンジニアは興味のあるJavaフレームワークを習得しましょう。 Spring Framework Spring Frameworkは、JavaのWebフレームワークでWebアプリ開発に適しています。 従来のWebアプリケーションにおける様々な問題を解決しており、非常に有力なフレームワークとして、長い間注目されてます。 Spring Frameworkの特徴として、DI(Dependency Injection)により変更がしやすいこと、テストプログラム「Spring MVC Test」が使用でき、テストは簡単であること、拡張性が高く、AOP(Aspect Oriented Programming)であり、保守性が高いことなど挙げられます。 Javaフリーランス求人・案件の中でも必須/歓迎スキルに挙げられることが多く、習得しておくべきJavaフレームワークです。 ちなみに、Spring BootというSpring Frameworkに似たようなフレームワークがあります。 Spring Bootは、JavaフレームワークであるSpring Frameworkに搭載された、Webアプリ開発をサポートするフレームワークの1つです。混同しないように気をつけましょう。 Apache Struts Apache Strutsは、Java言語を用いてWebアプリケーションを効率的に開発するために使用される、MVCをもとにしたオープンソースのフレームワークです。 Apache Strutsの特徴としてアノテーション機能があること、DIコンテナ機能を導入していることなどが挙げられます。Apache StrutsにはStruts1とStruts2がありますが互換性はありません。また、Struts2は脆弱性が多数報告されており、その多くはOGNLイブラリを利用していることから発生しています JUnit JUnitはJavaで単体テストを実施するためのテスティングフレームワークです。 JUnitによるテストコードは、一定のフォーマットで記述するため、可読性が高いコードになり、さらに作成したテストプログラムは何度も再実行可能となるため、同様のテストを簡単に何度でも実行できるようになります。 Seasar2 Seasar2は、JavaのWebアプリケーション開発フレームワークです。また、日本のオープンソースプロジェクトの1つです。Seasar2はJava EEによる大規模開発を効率的に行なうためのフレームワークで、必要な設定ファイルの削減や、依存性を分離して記述することによりプログラミング開発を簡単にしています。Seasar2は2016年に開発終了でありサポートや更新は行われておりません。 SAStruts (Super Agile Struts) SAStrutsとは、Java言語Webアプリケーションフレームワークである「Apache Struts」を拡張し、設定ファイルの作成・更新の自動化などができるようにしたアジャイルな開発スタイルを目指したフレームワークです。 SAStrutsの特徴としてMVCアーキテクチャ、アノテーション、DIなど、多くの機能を搭載していることなどが挙げられます。SAStrutsは高速で保守性が高いアプリケーション開発を得意としています。 JSF(JavaServer Faces) JSFは、オブジェクト指向プログラミング言語JavaのWebアプリケーションフレームワークです。 JSFはOracle社が開発・提供しているもので、大規模なシステム向けのJava EEの仕様の一つでもあります。 また、フレームワークが標準化されているため、ある程度Javaを学習しているフリーランスエンジニアであれば簡単に扱えることなどの特徴があります。 JSFの他にJavaの環境で使用できるフレームワークには「Play Framework」や「Wicket」があります。 Play Framework Play Frameworkは、JavaやScalaを元にして開発されたWebアプリケーションフレームです。Play Frameworkは、Javaをメインにされていましたが、バージョン2からは主にScala言語によって書き換えられています。 Ruby on RailsやDjangoから大きな影響を受けています。 Play Frameworkの特徴として、軽量かつ高速開発可能であること、メモリ使用量が少ないこと、コンパイル時間が短くテスト時間が短縮可能であることなどが挙げられます。 Spark Framework Spark FrameworkはJavaで実装されたマイクロフレームワークです。 RubyのSinatoraというフレームワークに影響を受けています。 Spark Frameworkの特徴として自由度が高いこと、日本語のドキュメントが少なく学習コストが高いことなどが挙げられます。 Spark Frameworkは小〜中規模のアプリケーション開発やWebアプリ開発などに適しています。 Spring BootはSpring Frameworkの機能をより使いやすくしたフレームワークであるため、Spring Frameworkを習得したい方は、より環境構築が楽なSpring Bootの習得を行ってみましょう。 ■Javaフリーランス求人・案件参画するために役立つ資格 Javaフリーランスエンジニアが取得しておいて損のない資格を3つ紹介します。 ・Oracle認定Javaプログラマ Oracle認定javaプログラマ(Oracle Certified Java Programmer)は、日本Oracle社が主催する、Javaプログラマー向けの資格です。現在ではOracle認定javaプログラマという名称ではなく、Java SE 11 認定資格と変更になっております。 Java SE 11 認定資格は「Oracle Certified Java Programmer, Bronze SE 認定資格」「Oracle Certified Java Programmer, Silver SE 11 認定資格」「Oracle Certified Java Programmer, Gold SE 11 認定資格」と3つあります。 Silver以上は全世界で通用する共通資格となっており、現在実施されているJava関連資格の中では最も人気の資格となっています。 Java SE 11 認定資格を取得することでJavaアプリ開発に設計できるスキルや必要なプログラミングスキルを習得できます。 Javaを習得するエンジニアにとって、取得しておきたい資格の1つでしょう。 ・Javaプログラミング能力認定試験 Javaプログラミング能力認定試験は、サーティファイが運営する日本国内の民間資格です。 試験は3級、2級、1級の3種類あります。 この資格を取得することにより、Javaの基本知識やオブジェクト指向に基づくアプレットやアプリケーションプログラムを作れるスキルがあることを証明できます。 Javaを習得するエンジニアにとって、取得しておきたい資格の1つでしょう。 ・Android技術者認定試験制度 Android技術者認定試験制度は一般社団法人 IT職業能力支援機構 Android技術者認定試験制度委員会が試験を実施している資格です。 Android技術者認定試験制度は『アプリケーション技術者認定試験』と『プラットフォーム技術者認定試験』の2つあり各資格には「ベーシック」と「プロフェッショナル」の2段階レベルがあります。Androidアプリの開発に関する知識を習得できます。 Androidアプリを開発するフリーランスエンジニアにとって、取得しておきたい資格の1つでしょう。 Java関連の資格を習得することは良いことですが、Javaフリーランス求人・案件に参画するという目的を失わないようにしましょう。 資格取得によって、スキルを一定数証明することは可能ですが、重要視すべきことは、Javaの実務経験や周辺で必要な開発スキルを保有していることです。 そのため資格はある程度実務経験がある方、時間的に余裕がある方が取得すると良いでしょう。 Javaエンジニアとして、実務未経験にも関わらずJava関連資格の取得を最優先事項にすることはやめておきましょう。 ■Javaフリーランス求人・案件の未経験での参画 Java開発実務未経験の場合、参画できるフリーランス求人・案件は限られてくるでしょう。 Javaなどフリーランス求人・案件は参画後すぐに稼働してもらいたいため、即戦力エンジニアを欲していることが多いです。 Java未経験からフリーランス求人・案件への参画を検討/希望している方は、まず以下派遣社員、契約社員、正社員などの求人・案件にエントリーし、2〜3年ほど経験を積むもしくはクラウドワーカーや副業として2年ほど開発実務をこなしましょう。 Javaフリーランス求人・案件に参画する上で最重要視されるポイントは実務経験です。 そのため、上記以外にも実務経験を作れるのであれば積極的にこなしていきましょう。 フリーランス求人・案件への参画を目指すにあたって、他プログラミング言語の知識も身につけておくと、担当領域の幅を広げることができ、選択できるフリーランス求人・案件の選択肢を増やせるでしょう。例えば、Javaフリーランス求人・案件ではJavaScriptやC#、PHP、Ruby、Python、Scalaなどのプログラミング言語をはじめとしSQLやDocker、Git、AWS、Azureなどの様々な開発スキルが求められます。 Javaをはじめとする他プログラミング言語の知識/スキルや周辺環境の知識/スキルが豊富であればフリーランス求人・案件参画時のアピール材料にもなるため、日頃から勉強時間を確保してスキルアップを図りましょう。 ■Javaフリーランスエンジニア初心者におすすめの求人・案件獲得方法や求人・案件の探し方ロードマップ Javaフリーランスエンジニア初心者におすすめの求人・案件獲得方法や求人・案件の探し方のロードマップを4つ挙げられます。 ・フリーランスエージェントの利用 Javaフリーランスエンジニア初心者は、フリーランスエージェントを活用して、フリーランス求人・案件を探すことができます。 フリーランスエージェントには、開発スキルや要望、市場動向に精通した専門コーディネーターが在籍しており、最適なフリーランス求人・案件の探索をサポートしてくれます。 求人・案件検索の効率化や継続的な参画を目指すエンジニアは、信頼できるフリーランスエージェントへの登録がおすすめです。 また、一部のフリーランスエージェントでは、正社員と同等の保険加入、確定申告のサポート、スキルアップのための勉強会、定期的な交流会など、手厚い福利厚生制度が用意されています。 さらに仕事ができなくなった場合や保険の必要性が生じた際に備え、保険や福利厚生の整ったエージェントを選択することが大切です。 なお、厚生労働省は、2024年秋までにフリーランスの労災保険の特別加入制度の対象を原則全業種に広げる方針を示しています。 ・人脈の活用 Javaフリーランスエンジニア初心者は、知人や自身のネットワークを活用して、フリーランス求人・案件を獲得することができます。 知人や友人、前職の同僚などに、Javaフリーランスエンジニアとして独立し、仕事を探していることを伝えておくと、有益な情報を提供してくれる可能性が高いです。人脈を通じて案件を得ると、高報酬でスムーズに開始できる場合もあります。 ただし、知人や友人、前職の同僚から紹介された求人・案件は、自分の責任感や紹介者への評価が問われます。 加えて、エンジニア向けのコミュニティに参加し、人脈を拡げることで、新たな求人・案件の機会を見出すこともできます。こうしたコミュニティでは、技術的な情報交換や協力関係の構築、クライアントの紹介など、様々なメリットが期待できます。 ・SNSを含むオンラインの活用 Javaフリーランスエンジニア初心者は、SNSやオンラインプラットフォームを利用して、Javaフリーランス求人・案件を見つけることができます。 X(旧Twitter)、Facebook、LinkedInなどのSNSや個人のWebサイトに、自身の経験、スキル、成果物を掲載することで、エンジニアは企業や個人クライアントから直接依頼を受ける可能性が高まります。 X(旧Twitter)、Facebook、LinkedInの活用は、即戦力となるエンジニアを探している企業にとって重要です。SNSの投稿を通して、エンジニアの思考プロセスや専門知識を客観的に評価でき、採用コストの削減にもつながるためです。 オンライン上で経歴、実績、ポートフォリオを公開しておくと、企業の人事担当者が審査を行い、Javaフリーランスエンジニアの能力や希望に合致する求人・案件を提示してくれる可能性が上がります。さらに、オンラインでの情報発信を通じて、自身のブランディングを構築することもできます。 ・クラウドソーシングプラットフォームの利用 Javaフリーランスエンジニア初心者は、クラウドソーシングプラットフォームを利用して、Javaフリーランス求人・案件を見つけることができます。クラウドワークス、ランサーズ、ココナラなどが代表的なクラウドソーシングプラットフォームです。 エンジニアとして活動する際、クラウドソーシングプラットフォームに自分の開発スキルを登録するだけで、様々な求人・案件に応募できます。これにより、自分のスキルや希望に合った求人・案件を見つけ、キャリア向上の機会を得ることができます。 ただし、この方法では単発の仕事が多く、高単価のJavaフリーランス求人・案件は少ない傾向にあるため、長期的な参画や高単価案件を望むエンジニアには適していないかもしれません。 経験を積み、実績を重ねることを目指す、独立して間もないエンジニアには、この方法が適しているでしょう。なお、クラウドソーシングプラットフォームを利用する際は、手数料や競争率、報酬の支払い条件などを確認し、自身に合ったサービスを選ぶことが重要です。 ■Javaの市場動向やニーズ JavaはWeb開発、モバイルアプリ開発、業務システム開発、金融システム開発、組み込みシステム開発、ゲーム開発、AI・機械学習開発、ビッグデータ処理開発まで様々な開発ができることからフリーランス求人・案件の中でも最も多く求人が存在します。 そのため、ニーズは現状あり、今後中長期的にみてもニーズは無くならないでしょう。 では、Javaエンジニアのニーズがある理由をIT市場動向から分析してみてみましょう。 国内ソフトウェア市場をみてみましょう。 2023年5月、IDC Japanが発表したソフトウェア市場の実績と予測では2022年の国内市場を、前年比13.9%増の4兆1548億6300万円と推定しており、国内市場は2022年から2027年にかけて年平均6.7%で成長し、2027年には5兆7459億円に達すると予測しています。 また、スマホアプリ市場をみてみましょう。 2022年3月、Panorama Data Insightsが発表したモバイルアプリ開発市場では世界のモバイルアプリ開発市場規模は2021年に100億米ドルに達し、2030年までに410億米ドルに達すると予測されており、2022年から2030年までの予測期間中に21%の複合年間成長率(CAGR)で成長すると予測しています。 その他、AI(人工知能)、IoT、6G、ビッグデータ、ブロックチェーン、xRなどによるIT業界の飛躍的な拡大やIT技術の急速な進歩に伴い、エンジニア全体の人材不足が深刻化しています。2030年までに79万人のITエンジニア不足に陥る可能性があるとも言われています。 上記観点を考慮すると市場は成長しておりますが、エンジニアの絶対数が足りておらず、Javaを含むエンジニアにおいてニーズが今後も拡大していくでしょう。 Javaエンジニアとして現在活躍している方や今後活躍を検討している方はJavaの開発実務経験や開発に必要な周辺開発スキル/経験を取得すると多くのJavaエンジニアの中でもフリーランス求人・案件への参画確率が上がるでしょう。