Skip to main content Scroll Top

Java Development Company: Custom Java Software, Spring Boot Builds and JDK Upgrades

Updated October 2026 · Written and maintained by the Progression Agency strategy team

A Java development company designs, builds, upgrades and supports software that runs on the Java platform: web applications and APIs built with Spring Boot or Jakarta EE, back-office systems, integrations between business systems and the services behind mobile apps. This page is for owners, CTOs and IT leads who run Java software or are about to commission it, and it covers what the work includes, which Java and Spring versions are supported in October 2026, Oracle licensing, security patching, cost, timelines and how to choose a partner. Progression Agency is based in New York City and works with clients across the United States and worldwide.

On this page · 19 sections
  1. What does a Java development company do?
  2. Java software development services and what each one delivers
  3. What problems send buyers to a Java development company?
  4. Which Java version should your production systems run?
  5. Oracle JDK, OpenJDK and the license question
  6. What to expect from a Java Spring Boot development company
  7. Upgrading Spring Boot 2.7 and 3.x applications
  8. Jakarta EE, Quarkus and Micronaut: Java beyond Spring
  9. Modernizing a legacy Java application without a rewrite
  10. Security and patching for Java systems
  11. Java on Android and behind mobile apps
  12. How to compare Java development companies by location
  13. How much does custom Java software development cost?
  14. How long does a Java project take, and what should you measure?
  15. How to choose a Java software development company
  16. Hire dedicated developers or commission a Java project?
  17. How Progression Agency runs software projects
  18. AI answers: how buyers ask assistants about Java vendors
  19. Related services for Java projects

The short answerBring in a Java development company when you need a new Java application, an upgrade off a JDK or Spring Boot line that no longer gets free fixes, or a team to keep a production system patched and moving. As of October 2026, Java 8, 11, 17, 21 and 25 are the long-term support releases (25 is the newest), Java 27 is the newest feature release, and Spring Boot 4.1 is the current Spring line, which needs Java 17 or later. Judge the work by release frequency, the days between each Java security update and a patched production system, and the business result the software exists for. Our published planning ranges start at $15,000 to $50,000 for an integration and reach $250,000 and up for an enterprise modernization; every quote follows a written scope.

Java release dates, support windows and license terms are described as published by OpenJDK, Oracle, the Eclipse Foundation, Amazon, Microsoft and the Spring project in October 2026, and they change often. Prices are the planning ranges in our published pricing guides. Nothing here is legal advice on Oracle licensing.

What does a Java development company do?

It builds and looks after software written for the Java Virtual Machine. Most engagements fall into six kinds of work, and a good partner will tell you which one you are buying before it quotes.

Build: A new application. Spring Boot or Jakarta EE on a current LTS JDK.
Upgrade: Off an unsupported line. Java 8 or 11, Spring Boot 2, javax packages.
Integrate: Systems that must agree. ERP, CRM, payments and partner APIs.
Modernize: A tangled codebase. Modules, containers and services, in steps.
Patch: Every security update. JDK, framework and library fixes on a calendar.
Extend: Your own Java team. Dedicated developers in your tools and hours.

Building a new application

New Java work in 2026 usually means a Spring Boot service or a Jakarta EE application on a long-term support JDK, a relational database, a browser front end and automated tests that run on every change. The interesting decisions are rarely the language. They are the data model, which systems the application must talk to, how it will be deployed and who will maintain it in year three.

Taking over a system someone else wrote

Many buyers already own a Java system and need a team to understand it, stabilize it and keep it running. The first weeks should go on reading: the build files, the dependency tree, the deployment scripts and the parts of the code that change most often. Nothing should be rewritten until the team can build, test and deploy the existing system reliably.

Keeping a production system current

Java runtimes and libraries receive security fixes on a published calendar, and frameworks retire old release lines on dates you can look up. Keeping a system current means planning upgrades before free support ends rather than after, and applying each security update within days rather than months.

Java software development services and what each one delivers

Seven services cover nearly every request. The table sets out what each produces, the Java tools usually involved and where to read more, because a buyer who names the right service gets a sharper proposal.

Java software development services, by what they produce
ServiceWhat gets builtUsual Java stackMore on this work
Custom Java software developmentSoftware shaped around one company’s process: quoting, scheduling, fulfillment, reportingSpring Boot, a relational database, a browser front endCustom software
Java web application developmentPortals, dashboards and back-office systems used in a browserSpring MVC with Thymeleaf templates or a React front endWeb applications
APIs and integrationsREST and event interfaces between ERP, CRM, payments and partnersSpring Boot with a message broker such as Kafka or RabbitMQAPI development
Mobile app back endsAccounts, data and notifications behind iOS and Android appsSpring Boot services; Kotlin on the Android clientApp development
Upgrades and modernizationMoves off unsupported JDKs and frameworks, and gradual restructuringjdeps, jdeprscan, OpenRewrite, TestcontainersEnterprise applications
Support and patchingJDK and library security updates, monitoring and fixesVendor JDK builds, dependency scanning, CI pipelinesDevOps services
Dedicated developersEngineers who join your team and work your backlogThe stack your codebase already usesDedicated developers

Custom Java software development for one company’s process

Custom software earns its cost when it runs a process that sets the business apart, such as how it prices, schedules or serves customers. Java suits that work when the system will live for many years, carry a lot of business rules and connect to several other systems, because long support windows and strong typing make that kind of code cheaper to change later. Our custom versus off-the-shelf guide covers the build-or-buy decision itself.

What a Java web application development company builds

Mostly the unglamorous systems that run a business: customer portals, order and inventory screens, approval workflows and reporting. Spring Boot’s web documentation describes self-contained HTTP servers using embedded Tomcat, Jetty or Netty, with most web applications built on Spring MVC and reactive ones on WebFlux. Pages can be rendered on the server with Thymeleaf, a server-side Java template engine, or served as an API to a separate front end built by our front-end team.

APIs and integrations between the systems you already run

A large share of Java work is plumbing between systems that were never designed to agree: an ERP that owns inventory, a CRM that owns customers, a payment provider and a warehouse partner. The work is defining which system owns each fact, building interfaces that retry safely and recording what moved. Our back-end development and ERP development pages go further into both sides.

What problems send buyers to a Java development company?

Usually one of four: a JDK or framework line that is past, or close to, the end of its free support, a license question after an Oracle notice, a security finding, or a system whose original developers have left. Each calls for a different first step.

Four problems that bring buyers to a Java partner, and where each starts
What sent you hereWhat it usually meansFirst step
An upgradeA JDK or Spring Boot line is past, or close to, the end of its free supportInventory what you run, then sequence the upgrade one supported line at a time
A license questionAn Oracle JDK has moved to different terms, such as Oracle JDK 21 updates after October 2026List every runtime and who installed it, then map each one to its license
A security findingA vulnerable library or runtime is somewhere in the systemPatch, then produce a bill of materials so the next question has an answer in minutes
Developers who have leftNobody can build, test and deploy the system with confidenceSpend the first weeks reading the build files, the dependency tree and the deployment scripts

The sections below take those problems in turn.

Which Java version should your production systems run?

A long-term support release. For new work in October 2026 that means Java 25; Java 21 is a sound choice for systems already on it; Java 17 still gets builds from several vendors, but its upgrade should be on the calendar; Java 8 and 11 need an exit plan.

Timeline of Java 17, 21, 25, 27 and 29 with their release dates and Oracle Premier Support end datesTimeline of Java 17, 21, 25, 27 and 29 with their release dates and Oracle Premier Support end dates
Release dates from the OpenJDK project; support dates from Oracle’s Java SE Support Roadmap, updated September 15, 2026.
Java releases and support windows, October 2026
ReleaseReleasedTypeOracle Premier Support untilTemurin builds until, at least
Java 8March 2014Long-term supportMarch 2022; Extended Support to December 2030December 2030
Java 11September 2018Long-term supportSeptember 2023; Extended Support to January 2032October 2027
Java 17September 2021Long-term supportSeptember 2026; Extended Support to September 2029October 2027
Java 21September 2023Long-term supportSeptember 2028; Extended Support to September 2031December 2029
Java 25September 2025Long-term supportSeptember 2030; Extended Support to September 2033September 2031
Java 26March 2026Feature releaseSeptember 2026September 2026
Java 27September 2026Feature releaseMarch 2027March 2027
Java 29, plannedSeptember 2027Long-term supportSeptember 2032Not yet listed

Feature releases every six months, long-term support every two years

The OpenJDK JDK project ships a feature release every six months on a strict, time-based schedule. Oracle’s Java SE Support Roadmap names Java 8, 11, 17, 21 and 25 as long-term support releases and says Oracle intends a new one every two years, which puts the next at Java 29 in September 2027. Non-LTS releases are superseded as soon as the next feature release ships, so they suit teams that upgrade twice a year and few others.

What Java 21 and 25 changed for business applications

Three changes matter more than the rest. Virtual threads, final in Java 21 under JEP 444, make it practical to write simple blocking code that handles a very large number of concurrent requests. Records, sealed classes, record patterns and pattern matching for switch, all final by Java 21, let business rules be written as data and checked by the compiler. And Java 25 made scoped values final and turned compact object headers into a supported option, which shrinks the header on every object and with it the heap.

Should you adopt Java 27 now?

Only if the team will move again in six months. Java 27 reached general availability on September 15, 2026, with G1 as the default garbage collector in all environments and compact object headers on by default, but Oracle lists its Premier Support as ending in March 2027. Check your framework first: the Spring Boot 4.1.1 system requirements list compatibility up to and including Java 26.

Still running Java 8 or 11 in 2026

Plenty of companies do, and it is a cost decision rather than an emergency, provided the runtime is getting updates. Oracle lists Extended Support for Java 8 to December 2030 and Java 11 to January 2032 for paying customers, and Adoptium lists Temurin builds for Java 8 to at least December 2030 and Java 11 to at least October 2027. The bigger problem is usually the libraries: current Spring Boot needs Java 17, so an application on Java 8 is also stuck on framework versions that no longer receive free fixes.

Still on Java 8, Java 11 or Spring Boot 2.7?Send the build files and the list of servers or containers. We reply with what we would check first and a written scope.

Plan the Java upgrade

Oracle JDK, OpenJDK and the license question

Running Java in production can cost nothing, but which build you run decides that. Oracle JDK 25 is currently free for all users under Oracle’s No-Fee Terms and Conditions; Oracle JDK 21 updates are planned to move to the more restrictive OTN license from the October 2026 update; and OpenJDK builds from Adoptium, Amazon and Microsoft are free with long-term updates.

Check grid showing which Java distributions allow no-cost production use and which receive long-term updatesCheck grid showing which Java distributions allow no-cost production use and which receive long-term updates
Editorial summary of Oracle’s Java SE Licensing FAQ and Support Roadmap and the Adoptium, Amazon Corretto and Microsoft pages, October 5, 2026. Read the license itself before relying on it.
Java distributions compared by license and updates
DistributionLicense and costHow long a release keeps getting updates
Oracle JDK 25No-Fee Terms and Conditions: free for all users, including commercial and production useUnder that license until September 2028, then planned to move to the OTN license
Oracle JDK 21No-Fee Terms for releases through September 2026; OTN license planned from the October 2026 updateOracle Premier Support to September 2028 for customers
Oracle JDK 17 (updates since October 2024), 11 and 8OTN license: no cost only for personal use, development, testing, prototyping and similar usesPremier and Extended Support dates in Oracle’s roadmap
Oracle OpenJDK buildsGNU GPL version 2 with the Classpath ExceptionShort: Oracle’s OpenJDK builds of Java 25 were updated through January 2026
Eclipse TemurinOpen source, no costLong-term support releases for at least four years; Java 25 to at least September 2031
Amazon CorrettoNo costLong-term support with quarterly updates
Microsoft Build of OpenJDKNo cost, open sourceLong-term support binaries; passes the Java compatibility kit

What changes for Oracle JDK 21 in October 2026

Oracle’s Java SE Licensing FAQ says Oracle JDK 21 updates were planned under the No-Fee Terms until September 2026, a year after Java 25 shipped, and that later updates are planned under the OTN license used for Java 8, 11 and 17. Oracle’s Critical Patch Update page lists October 20, 2026 as the next update date. A company that keeps applying Oracle JDK 21 updates in production after that date needs a subscription, a move to Oracle JDK 25 or a switch to another vendor’s build of Java 21. This is a reading of Oracle’s published terms, not legal advice; your counsel decides how they apply.

Free OpenJDK builds with long-term updates

Several vendors build OpenJDK and keep long-term support releases patched at no charge. Adoptium’s Temurin support page commits to at least four years for each LTS release and lists commercial companies that sell support with service levels. Amazon Corretto describes a no-cost, production-ready distribution with quarterly updates, and the Microsoft Build of OpenJDK is a no-cost distribution that passes the Java compatibility test kit. Oracle’s own OpenJDK builds on jdk.java.net are free too, but each release is updated only for a short time.

Taking an inventory of every JDK you run

License exposure usually hides in places nobody checks. Before deciding anything, list every runtime and who installed it:

  • Application servers and virtual machines, with the vendor and exact version of each JDK.
  • Container base images, which often pin a JDK nobody chose on purpose.
  • Build servers and CI runners, which may use a different JDK from production.
  • Desktop tools and installed applications that bundle their own runtime.
  • Vendor products that ship a JDK and may carry their own Java license terms.
  • Runtime images built with jlink, which Oracle’s FAQ says the No-Fee Terms cover.

What to expect from a Java Spring Boot development company

A plan that starts from the Spring Boot line you are on and the date its free support ends. Spring Boot 4.1 is current, 4.0 gets open-source fixes until December 2026, and 3.5 and 2.7 now receive fixes only through paid commercial support.

JDK 25: Long-term support runtime. Released September 16, 2025; Oracle Premier Support to September 2030.
Boot 4.1: Current Spring Boot line. Needs Java 17 or later and Spring Framework 7.
Servlet 6.1: Web container baseline. Embedded Tomcat 11.0 or Jetty 12.1.
Maven: Or Gradle for the build. Maven 3.6.3 or later, Gradle 8.14 or later, or 9.
Containers: Real dependencies in tests. Testcontainers starts throwaway databases and brokers.
GraalVM: Optional native images. Version 25 or later for Spring Boot 4 native builds.
Spring Boot release lines and their support dates
LineFirst releaseOpen-source support endsPaid commercial support endsBuilt on
2.7May 2022June 2023June 2029javax packages
3.5May 2025June 2026June 2032jakarta packages, Java 17 or later
4.0November 2025December 2026December 2027Jakarta EE 11, Spring Framework 7
4.1June 2026July 2027July 2028Jakarta EE 11, Spring Framework 7
4.2, scheduledNovember 2026December 2027December 2028In milestone builds today

The dates come from the support table on the Spring Boot project page, which is worth bookmarking: a new line arrives roughly every six months and each one gets about a year of open-source fixes. A Spring Boot application that is not upgraded at least once a year falls off free support.

Spring MVC or WebFlux?

Spring MVC for most business applications. It is the blocking, servlet-based model most Java developers know, and with virtual threads it handles high concurrency without the reactive style. WebFlux still makes sense for streaming and for services that are almost entirely calls to other services, but it asks more of every developer who touches the code afterward.

Virtual threads in Spring Boot applications

Spring Boot’s task execution reference explains that with Java 21 or later and the property spring.threads.virtual.enabled set to true, its auto-configured executor uses virtual threads. Java 24 removed nearly all cases of virtual threads being pinned when they block inside synchronized code, under JEP 491, which is one more reason to run Java 25 rather than 21 if you plan to rely on them.

Native images with GraalVM

A GraalVM native image compiles a Java application ahead of time into a standalone executable that starts in milliseconds and, according to GraalVM, uses a fraction of the resources a Java Virtual Machine requires. The trade is that reflection and other dynamic features must be declared to the build tool in advance. Spring Boot 4 requires GraalVM 25 or later for native images. It suits command-line tools and functions that start and stop often more than long-running services.

Upgrading Spring Boot 2.7 and 3.x applications

One line at a time, on a branch that keeps passing its tests. The official guides set the order: latest 2.7, then Java 17 and Spring Boot 3 with the jakarta rename, then the latest 3.5, then Spring Boot 4.

Process diagram of six steps for upgrading a Spring Boot 2.7 application to Spring Boot 4Process diagram of six steps for upgrading a Spring Boot 2.7 application to Spring Boot 4
Upgrade order from the Spring Boot 3.0 and 4.0 migration guides as published on October 5, 2026; the last step is editorial.

The javax to jakarta rename

Java EE moved from the Java Community Process to the Eclipse Foundation, where it became Jakarta EE. The Jakarta EE Platform 9 specification describes Jakarta EE 9 as functionally similar to Jakarta EE 8 but in the new jakarta namespace, and as removing a small set of old, optional or deprecated specifications. The Spring Boot 3.0 migration guide requires Java 17, moves to the Jakarta EE 10 versions of each specification and warns that older javax dependencies must not remain anywhere in the build, directly or transitively. Every import, every XML descriptor and every library that still uses javax has to move together.

What else changes in Spring Boot 4

The Spring Boot 4.0 migration guide lists a Jakarta EE 11 and Servlet 6.1 baseline, Spring Framework 7, Kotlin 2.2 or later for Kotlin code, and GraalVM 25 or later for native images. Undertow support is gone because it is not yet compatible with Servlet 6.1, the launch scripts for fully executable jars were removed, and anything deprecated in 3.x has been deleted.

Tools that do the mechanical edits

Much of an upgrade is repetitive renaming, and tools do it better than people. OpenRewrite is an open-source automated refactoring engine with recipes for common framework migrations, and Spring’s 3.0 guide lists it among the migration aids. Spring Boot also ships a properties migrator that reports renamed configuration keys at startup; it should be removed once the move is finished.

  1. Freeze features on the branch being upgraded, or keep the upgrade branch short-lived.
  2. Raise test coverage around the code that talks to databases, queues and external APIs.
  3. Run the automated recipes, then review every change they made in small commits.
  4. Fix what the compiler and the tests find, one module at a time.
  5. Deploy to a staging environment that mirrors production, including the JDK vendor.
  6. Release behind a rollback plan and watch error rates and response times for a week.

Jakarta EE, Quarkus and Micronaut: Java beyond Spring

Spring Boot is not the only choice. Jakarta EE application servers implement a set of published specifications, and Quarkus and Micronaut target container-first services with fast startup.

Jakarta EE 11 and what comes next

The Jakarta EE Platform 11 specification passed its release review ballot in June 2025. It requires Java SE 17 or higher, adds runtime-aware support for virtual threads and introduces Jakarta Data 1.0. Jakarta EE 12 is under development with a planned minimum of Java SE 21. Teams on an application server should follow their server vendor’s support dates as closely as they follow the JDK’s.

Quarkus and Micronaut for container-first services

Quarkus describes itself as a Java framework for fast, efficient, cloud-native applications that runs on the JVM or as a native executable and integrates with the Jakarta and MicroProfile standards. Micronaut is a JVM-based framework built on compile-time dependency injection with GraalVM native image support. Both are sound choices for small services; choose the one your team can maintain for years.

Kotlin on the server

Kotlin runs on the same JVM, calls Java libraries directly and is supported by Spring Boot. Mixing the two in one codebase works, but a company should choose deliberately, because every developer it hires later will need to read both.

Running Oracle JDK 21 in production?Tell us where it runs. We reply with what we would check first, runtime by runtime, and a written scope.

Review our Java runtimes

Modernizing a legacy Java application without a rewrite

Upgrade in place first, then restructure only the parts that hold the business back. Rewrites are the most expensive and riskiest path and are rarely the first one to try.

Four ways to modernize a Java application
PathWhat changesMain riskWhen it fits
Upgrade in placeJDK, framework and libraries move to supported versions; the structure staysHidden reliance on APIs that newer JDKs removed or changedThe design still serves the business
Modularize the monolithClear internal boundaries inside one deployable applicationBoundaries drawn in the wrong placesOne team, one release train, tangled code
Carve out servicesSelected capabilities move to separate services behind APIsDistributed failures and data consistencyParts of the system change or scale at different rates
RewriteA new system replaces the old oneLosing business rules nobody wrote downThe old platform cannot run on a supported JDK at all

Start with what the JDK’s own tools can tell you

The JDK ships analysis tools that cost nothing to run. jdeps is the class dependency analyzer, useful for finding code that leans on JDK internals, and jdeprscan scans jar files for uses of deprecated APIs. Run both against the current build before estimating an upgrade; their output turns a guess into a list.

Warnings newer JDKs print, and what they mean

Recent releases tighten the platform step by step. The memory-access methods in sun.misc.Unsafe were deprecated for removal in Java 23 and print a warning at run time from Java 24. Java 26 removed the Applet API and began warning when code uses deep reflection to change final fields. Java 18 made UTF-8 the default character set under JEP 400, which can change the output of older code that relied on the operating system’s default. Each warning is a line item in the upgrade plan, not noise to suppress.

Monolith, modules or services?

Most Java applications that feel slow to change need clearer internal boundaries, not a network between their parts. Our monolith versus microservices comparison covers the trade-offs, and cloud migration covers moving the result onto managed infrastructure.

When a rewrite is the honest answer

When the application depends on a framework or server that has no supported version, when nobody can build it from source, or when the business process it encodes has changed so much that most of the code is dead. Even then, run the old and new systems side by side and move users in stages.

Security and patching for Java systems

Patch on the published calendar and know what is inside every build. Oracle lists its next security update dates in advance, and flaws turn up in libraries as well as in the JDK itself, so both need a patch routine.

Oracle’s next listed Java security update dates
DateWhat arrivesWhat your team should do
October 20, 2026Oracle Critical Patch Update and OpenJDK update releases; the first Oracle JDK 21 update planned under the OTN licensePatch every runtime and confirm which license each Oracle JDK now runs under
November 17, 2026Oracle Critical Security Patch Update, a smaller and more targeted releaseRead the advisory for the Java SE versions you run and patch any that are listed
December 15, 2026Oracle Critical Security Patch UpdateRepeat the check and confirm nothing is left unpatched from October and November
January 19, 2027Critical Patch Update and OpenJDK update releasesPatch, and move anything on Java 27 before its Premier Support ends in March 2027
February 16, 2027Oracle Critical Security Patch UpdateRead the advisory and patch what is listed
March 16, 2027Oracle Critical Security Patch UpdateRead the advisory, and finish any move off Java 27
April 20, 2027Critical Patch Update and OpenJDK update releasesPatch, rebuild container images and redeploy
July 20, 2027Critical Patch Update and OpenJDK update releasesPatch, and start testing on the next LTS release, planned for September 2027

The Java security update calendar

Oracle releases Critical Patch Updates on the third Tuesday of January, April, July and October and publishes a pre-release announcement on the Thursday before. OpenJDK update releases follow the same quarterly rhythm, and Adoptium says Temurin binaries for the most popular platforms typically appear within a few days of those dates, with the full set taking up to three weeks. Since May 2026 Oracle has also released smaller Critical Security Patch Updates on the third Tuesday of the other eight months, and OpenJDK can produce a security release between quarters, which Adoptium builds typically on the third Tuesday of a month with no other release. A patch process that needs a month to roll out leaves production a month behind after every update.

What Log4Shell showed about dependencies

The NVD record for CVE-2021-44228 describes a flaw in Apache Log4j2 versions 2.0-beta9 through 2.15.0, apart from certain security releases, that, in vulnerable configurations, let an attacker who controlled log messages run code loaded from LDAP servers. It carries a CVSS 3.1 base score of 10.0, the maximum. The lesson for owners was that nobody could answer a simple question quickly: which of our systems include this library, directly or through something else?

Bills of materials and dependency scanning

A software bill of materials lists every component inside a build so that question has an answer in minutes. CycloneDX, an OWASP standard also published as ECMA-424, is a common format, and Maven and Gradle builds can produce one on every release. OWASP Dependency-Check is a software composition analysis tool that matches dependencies against publicly disclosed vulnerabilities. Run both in the pipeline, not once a year.

Application security practice

Framework defaults protect against many common mistakes, but only if they stay switched on. Automated tests on every change, code review before merge and guidance such as the OWASP Top 10 and the NIST Cybersecurity Framework are the baseline our software development work follows, and our website security page covers the public-facing side.

Java on Android and behind mobile apps

Java still runs on the server side of a great many mobile products, while new Android client code is mostly written in Kotlin. Know which half of the mobile product you are hiring for.

What Java app development companies build for mobile now

On the phone, less than they used to. Google’s Kotlin-first page says Android development became increasingly Kotlin-first after Google I/O 2019 and recommends starting new Android apps in Kotlin. Existing Android apps written in Java keep working, and Kotlin calls Java code directly, so a mixed codebase is common. Our Android app development page covers the client side in depth.

Back ends for iOS and Android apps

The account system, the data, the notifications and the admin screens behind a mobile app are where Java earns its place. A Spring Boot back end can serve an iOS app, an Android app and a web dashboard from one data model. Our app development agency page explains how the mobile and server work are planned together, and cross-platform app development covers sharing client code between platforms.

How to compare Java development companies by location

Compare total cost, not the hourly rate: the hours you will spend managing, the overlap with your working day and the law your contract runs under. Our app development outsourcing guide puts typical market rates from $20 to $60 an hour offshore to $100 to $250 an hour for an onshore US agency.

Onshore, nearshore and offshore Java teams
ModelTypical market range per hourOverlap with a New York workdayWhat to settle in the contract
Onshore US$100 to $250Most of it; the contiguous US spans three hoursIP assignment, US governing law, security terms
Nearshore$40 to $90Partial, depending on the countryIP assignment, governing law, agreed working hours
Offshore, including India$20 to $60Little: 9 a.m. in New York is 6:30 p.m. in India in US summer time, 7:30 p.m. in winterIP assignment, governing law, overlap hours, handover terms

Java development companies in the USA

A US team shares your working day, your language and your legal system, and that is what the higher rate buys. When we work with a client’s own team, our developers keep US working hours, sign confidentiality agreements before onboarding and assign all work to the client in writing. The New York app and software development page covers in-person workshops for clients near us.

Hiring a Java software development company in India

The appeal is the rate; the constraint is time. India keeps one time zone all year, five and a half hours ahead of UTC, so the gap to New York is nine and a half hours in US summer time and ten and a half in winter, and more to the West Coast. That suits work that can be specified a day ahead and reviewed the next morning. It suits urgent production support and fast-changing requirements less well. Put IP assignment, governing law and the hours of overlap in the contract, and keep repositories and cloud accounts in your company’s name.

Nearshore teams in between

Teams in Latin America sit closer to US hours at mid-range rates. Our app development outsourcing guide compares the three models in more detail, including what each costs you in management time.

A new Java application to build?Describe the process, the users and the systems it has to talk to. You get a written scope and a planning estimate.

Scope a Java build

How much does custom Java software development cost?

It depends on what is being built, not on the language. As published planning ranges, an integration runs $15,000 to $50,000, an internal tool $25,000 to $75,000, a client portal or business platform $75,000 to $250,000, and an enterprise system or modernization $250,000 and up.

Java project planning ranges published on this site
ProjectPlanning rangeTypical timeline
Integration or automation$15,000 to $50,0004 to 10 weeks
Internal tool or dashboard$25,000 to $75,0002 to 4 months
Client portal or business platform$75,000 to $250,0004 to 8 months
SaaS product first release$60,000 to $150,0003 to 6 months
Enterprise system or modernization$250,000 and up6 to 12 months or more
Mid-level dedicated developer$8,000 to $13,000 a monthMonthly, one month’s notice
Senior dedicated developer$12,000 to $18,000 a monthMonthly, one month’s notice
Squad of three or four$30,000 to $55,000 a monthMonthly, one month’s notice

What moves a Java estimate up or down

The number of systems the software must integrate with, the state of the existing code and its tests, the distance between the current JDK and framework versions and supported ones, compliance requirements such as audit trails, and how quickly the client’s team can answer questions. The ranges come from our software development and dedicated developer pages, and the same figures apply to clients across the United States and worldwide.

Project fee or monthly team?

A project fee suits work with a clear end, such as an integration or an upgrade from one named version to another. A monthly team suits a system that will keep changing. A sensible pattern is to scope the project, then keep one or two developers on monthly terms for patching and small changes. Our app development cost guide covers the wider market.

How long does a Java project take, and what should you measure?

From four weeks for a single integration to a year or more for an enterprise modernization, using the timelines in the table above. Whatever the length, you should see working software every two weeks and a fixed set of measures every month.

What a Java engagement should produce, and when
Point in the projectWhat you should receiveWhat it proves
Before developmentA written scope and estimateThe work is understood well enough to price
ArchitectureWritten decisions, including the JDK and framework versions and whySomeone else could maintain the system later
Every two weeksWorking software and a short written updateProgress you can use, not percentages
Every changeAutomated tests and a code review before mergeQuality is built in, not inspected at the end
LaunchDeployment into your own cloud accountYou own the running system
After launchA support plan with defined response timesSomeone is accountable for the next security update

Delivery measures worth tracking

The DORA metrics guide defines five software delivery measures: change lead time, deployment frequency, failed deployment recovery time, change fail rate and deployment rework rate. They suit Java teams well because they measure the pipeline rather than the people, and they show quickly whether an upgrade has made releases harder.

Measures for a Java delivery team
MeasureWhat it tells you
Deployment frequencyHow often working changes reach production
Change lead timeHow long a committed change waits before it is live
Change fail rateHow many releases need a rollback or a hotfix
Failed deployment recovery timeHow quickly a bad release is undone
Deployment rework rateHow many deployments are unplanned fixes after an incident
Patch lagDays from each Java security update to patched production
Supported-version coverageShare of services on a JDK and Spring line that still gets fixes

Measures that belong to the business

Orders processed without manual re-keying, hours saved per week, errors avoided, customers served through a portal instead of by phone. Agree one or two before the work starts so the project is judged by what it was for.

How to choose a Java software development company

Choose the partner that can explain your runtime, framework and upgrade path in plain terms and puts ownership in writing. Polish in the pitch matters less than clarity about the versions you will run and who owns what.

Requirements for a Java software development company and how to check them
RequirementHow to check it
Names a JDK vendor and a version planAsk which builds they would run and when each stops getting updates
Has moved code across the jakarta renameAsk them to walk through how they would sequence a Spring Boot 2 to 4 upgrade
Patches on a calendarAsk how many days after a Java security update production is patched
Tests against real dependenciesAsk to see a pipeline run and how database code is tested
You own code, data and cloud accountsRead the contract: repositories and accounts in your company’s name
Assigns IP in writingLook for an assignment clause, not a license back to you
Leaves the system ready to hand overAsk what documentation and access another team would receive
Publishes planning rangesCompare their ranges with the scope you have written down

Questions to ask a Java application development company

Short, specific questions separate experience from sales material quickly. Our general guide to software consulting covers the earlier step of deciding what to build.

  • Which JDK distribution and version would you run, and why that one?
  • What happens to our Oracle JDK licenses after the October 2026 update?
  • How would you test our database access during a Spring Boot upgrade?
  • How many days after a Java security update would production be patched?
  • What would another team receive from you if we parted ways?
  • Who owns the repositories, the cloud accounts and the code you write?
  • How do you report progress, and how often will we see working software?

Red flags in a Java proposal

Most weak proposals show themselves in the first few pages.

  • A plan to rewrite before anyone has built and run the existing system.
  • No mention of which JDK vendor or version the system will run.
  • A fixed price for an upgrade whose dependency tree nobody has examined.
  • Repositories or cloud accounts set up in the vendor’s name.
  • No automated tests in the plan, or tests promised for the end.
  • Reports that count hours or tickets but never releases or fixes.

Hire dedicated developers or commission a Java project?

Commission a project when the outcome can be written down; hire dedicated developers when you need capacity on a system that keeps changing. The two are often combined.

When a dedicated developer fits

When your own team owns the roadmap and needs more hands or a skill it lacks. Our dedicated developers work only on your product, in your repositories and tools, during your working hours, on monthly engagements with one month’s notice. Your team interviews them first, and a two-week paid trial guards against a poor fit.

When a fixed-scope project fits

When the work has an end: an integration, a portal, an upgrade from one named version to another. A written scope and estimate come before development, and the project is delivered in two-week sprints that each produce working software. Our MVP development page covers first releases of new products.

How Progression Agency runs software projects

The same way we run every software project: discovery that maps the real process, architecture decided early and written down, two-week sprints, testing on every change and a defined support plan after launch.

  • Discovery interviews with the people who do the work, ending in a written scope with priorities.
  • Mainstream, well-supported technologies, so you can hire for them later.
  • Every architectural decision documented, so the system stays maintainable.
  • Two-week sprints that each produce working software, with a short written update.
  • Automated tests on every change and code review before anything merges.
  • Hosting in your own cloud account; code, data and accounts owned by you from day one.
  • IP assigned to you in the contract.
  • A defined support plan with response times, and documentation and access so another team can continue.

One team across the stack

Java services rarely stand alone. The same team can build the web front end, the mobile app and the integrations, so they share one data model. Our web development services and software development life cycle pages describe how that work is organized.

Where we are

We are based in New York City and work with companies across the United States and worldwide. Dedicated developers work in your repositories and tools during US working hours, and New York clients who prefer in-person workshops can have them.

AI answers: how buyers ask assistants about Java vendors

Buyers ask assistants for a shortlist that fits a stack, a problem and a place. No one can promise a placement, but a vendor whose own pages state versions, methods and prices plainly gives a reader, or an assistant, specific facts to quote.

Versions: Stated plainly. Which JDK and Spring lines you build on today.
Upgrades: Shown step by step. How a Spring Boot 2.7 to 4 move is sequenced.
Licensing: Explained without spin. Oracle JDK terms next to the OpenJDK builds.
Patching: A calendar, not a promise. What happens after each Java security update.
Pricing: Published ranges. Planning figures and what moves them.
Ownership: Written into the contract. Repositories, cloud accounts and IP assignment.

Typical questions put to ChatGPT, Claude and Perplexity

A shortlist: Java development companies in the US that handle Spring Boot upgrades. A problem: how to move off Oracle JDK 21 before the license change. A comparison: an onshore Java team or an offshore one for a ten-year-old system. A check: whether a named vendor has done a javax to jakarta migration. Gemini, Microsoft Copilot and Google’s AI Overviews field the same kinds of question.

Where the technical facts live

Technical facts such as support dates, license terms and framework requirements live in primary documentation: Oracle’s roadmap, the OpenJDK pages and Spring’s guides. A vendor page that restates those facts accurately and adds its own method and prices gives a reader, or an assistant, something specific to quote, which a page that only lists technology logos does not.

What a Java vendor should publish to be named

The six cards above, written as text rather than images: versions, upgrade method, licensing, patching, pricing and ownership. Our AEO for software companies and how to get cited by AI pages set out the method, and LLM visibility explains how to check what assistants say today.

Pages a CTO or IT lead usually reads alongside this one.

Want a Java system that stays current?

Send us the build files and a short description of what the software does. We reply with what we would check first and a written scope with a planning range.

Request a Java review

Frequently asked questions

What does a Java development company charge for a new application?
As published planning ranges, an integration costs $15,000 to $50,000, an internal tool $25,000 to $75,000, a client portal or business platform $75,000 to $250,000 and an enterprise system or modernization $250,000 and up. Dedicated developers run $8,000 to $18,000 a month depending on seniority. A quote follows a written scope.
Which Java version should a new business application use in 2026?
Java 25, the newest long-term support release. Oracle lists Premier Support to September 2030 and Adoptium lists Temurin builds to at least September 2031, so a new system has years of updates ahead. Check that your framework supports it; Spring Boot 4.1 needs Java 17 or later.
Is Java 17 still supported in late 2026?
Yes, with caveats. Oracle’s Premier Support for Java 17 ended in September 2026, with Extended Support listed to September 2029 for paying customers, and Adoptium lists Temurin builds for Java 17 to at least October 2027. Plan the move to Java 21 or 25 within the next year rather than waiting for the last update.
Do we have to pay Oracle to run Java in production?
Not necessarily. Oracle JDK 25 is free for all users under Oracle’s No-Fee Terms and Conditions, and OpenJDK builds such as Eclipse Temurin, Amazon Corretto and the Microsoft Build of OpenJDK cost nothing. Oracle JDK 17, 11 and 8 updates, and Oracle JDK 21 updates from October 2026, are under the OTN license, which does not cover most production use without a subscription.
What changes for companies on Oracle JDK 21 in October 2026?
Oracle says updates to Oracle JDK 21 released from the October 2026 Critical Patch Update onward are planned under the OTN license instead of the No-Fee Terms. The next update date is October 20, 2026. Companies that want free production use can move to Oracle JDK 25 or switch to another vendor’s build of Java 21.
Is OpenJDK safe to use in production?
Yes. Amazon Corretto is certified as compatible with the Java SE standard, the Microsoft Build of OpenJDK passes the Java compatibility kit, and Temurin and Corretto ship regular security updates for long-term support releases. What matters is choosing one vendor, recording it in your architecture notes and applying its updates on schedule.
How often does Java get security updates?
Oracle releases a Critical Patch Update on the third Tuesday of January, April, July and October, and OpenJDK update releases follow the same rhythm. Since May 2026 Oracle also releases smaller Critical Security Patch Updates on the third Tuesday of the other eight months. The next Oracle dates are October 20, November 17 and December 15, 2026, then January 19, 2027. Patch production within days of each one.
Should we upgrade our applications to Java 27?
Usually not for production. Java 27 is a feature release that Oracle lists with Premier Support only until March 2027, and the Spring Boot 4.1.1 documentation lists compatibility up to Java 26. Test on it if you upgrade every six months; otherwise stay on Java 25, the current long-term support release.
What does Spring Boot 4 require?
Java 17 or later, Spring Framework 7, a Jakarta EE 11 and Servlet 6.1 baseline, Kotlin 2.2 or later for Kotlin code and GraalVM 25 or later for native images. Undertow is no longer supported as an embedded server. Spring’s guide asks you to upgrade to the latest 3.5 release before making the move.
How hard is it to move from Spring Boot 2.7 to a current version?
It is mostly mechanical but touches everything. The application moves to Java 17, every javax import becomes jakarta, deprecated code is removed, and then the 3.5 to 4 step follows. Automated recipes do much of the renaming. The real effort is testing database, messaging and security code, and the libraries that never made the jump.
What is the javax to jakarta change?
Java EE moved to the Eclipse Foundation as Jakarta EE. Jakarta EE 9 then delivered functionally similar specifications under the new jakarta package names instead of javax, and dropped a small set of old specifications. Spring Boot 3 adopted the new names, so upgrading means changing imports, configuration files and every library that still depends on the old packages, all at once.
Is Java still a good choice for a new web application?
For business systems that will live for years and carry many rules and integrations, yes: several vendors patch each long-term support release for years, and the main frameworks publish support dates and upgrade guides, so a long-lived system is easier to plan. For a small prototype or a data science product, another language may get to a first release faster.
Should a new Android app be written in Java or Kotlin?
Kotlin. Google has described Android development as Kotlin-first since 2019 and recommends starting new apps in it. Java remains fully usable, and because Kotlin and Java interoperate, an existing Java app can take new code in Kotlin a file at a time.
Can a legacy Java system be modernized without rewriting it?
Usually. The common order is to upgrade the JDK, framework and libraries in place, then draw clearer boundaries inside the application, then carve out separate services only where parts change or scale at different rates. A rewrite is justified when the platform cannot run on any supported JDK.
What are virtual threads, and will they help our application?
Virtual threads, final in Java 21, are lightweight threads that let simple blocking code handle very large numbers of concurrent requests. They help most when an application spends its time waiting on databases and other services. Spring Boot turns them on with one property on Java 21 or later, and Java 24 fixed most pinning problems.
How long does a custom Java project usually take?
As planning figures, an integration takes 4 to 10 weeks, an internal tool 2 to 4 months, a client portal 4 to 8 months and an enterprise modernization 6 to 12 months or more. Working software should arrive every two weeks from the first sprint, so you see progress long before the end date.
Is it cheaper to hire a Java software development company in India?
The hourly rate is lower: typical market rates run $20 to $60 an hour offshore against $100 to $250 for an onshore US agency, as our app development outsourcing guide lays out. The total cost depends on management time and overlap, since India is nine and a half to ten and a half hours ahead of New York. Settle IP assignment and governing law in the contract.
What should a contract with a Java developer include?
A written scope, an assignment of intellectual property to you, repositories and cloud accounts in your name, a support plan with response times after launch, confidentiality terms, a notice period for monthly teams and an exit clause that guarantees documentation and access so another team can take over.
How should we measure an outside Java team?
Track DORA’s five delivery measures: deployment frequency, change lead time, change fail rate, failed deployment recovery time and deployment rework rate. Add patch lag after each Java security update and the share of services on supported versions, then one or two business results the software was built for.
Do Java projects need a software bill of materials?
It is the quickest way to answer which systems include a vulnerable library when the next Log4Shell arrives. Maven and Gradle builds can produce a CycloneDX bill of materials on every release, and a scanner such as OWASP Dependency-Check flags known vulnerabilities in the pipeline.
Spring Boot, Quarkus or Micronaut for a new Java service?
Start with what your team can maintain for years, not the fastest benchmark. Spring Boot publishes its support dates and migration guides in detail, which makes upgrades easier to plan. Quarkus and Micronaut suit container-first services where startup time and memory matter, and both support GraalVM native images.
How is Jakarta EE different from Spring Boot?
Jakarta EE is a set of specifications implemented by application servers from several vendors, now at version 11 with Java SE 17 as the minimum. Spring Boot is a single framework that uses many Jakarta EE specifications, such as Servlet, and packages an application with its own embedded server.
What helps a Java development company get recommended by AI assistants?
No one outside the assistants can promise how a given answer is chosen. What a vendor controls is its own pages: one that states the versions it supports, its upgrade method, licensing guidance, patch calendar, prices and ownership terms gives a reader, or an assistant, specific facts to quote.
Can Progression Agency support a Java system that runs in another state or country?
Location is not the constraint. We are based in New York City and work with companies across the United States and worldwide. Send the build files and a short description of the system; we reply with what we would check first and a written scope and estimate before any development. Dedicated developers keep US working hours, and New York clients who prefer in-person workshops can have them.

Still on Java 8, Java 11 or Spring Boot 2.7?Send the build files and the list of servers or containers. We reply with what we would check first and a written scope.

Plan the Java upgrade

Get a free marketing proposal

Tell us what you are trying to grow and we will come back with a plan, not a pitch deck. Same-day reply on weekdays.

Privacy Preferences
When you visit our website, it may store information through your browser from specific services, usually in form of cookies. Here you can change your privacy preferences. Please note that blocking some types of cookies may impact your experience on our website and the services we offer.
Contact Us