From Java to Jakarta EE: A Guide to Building a Career in Enterprise Java Development
Originally published on 18 Apr 2023
Last updated on 18 Apr 2023
As an independent online Jakarta EE instructor, I often get questions like...
- “I’ve learned Java, how do I become aJakarta EEdeveloper?”
- “How do I find my path to becoming a professional Enterprise Java Developer?”
- “I’ve learned the fundamentals of Jakarta EE, what next?”
- “What are some useful resources I can use to hone my Jakarta EE skills?”
- “Is it worth becoming a Jakarta EE developer today?”
I get these and similar such questions often. I’m certain there are a lot more people out there, especially younger developers who have all these questions and more and could do with a broad overview of moving to becoming professional Jakarta EE developers. In this blog post, I’ll share some tips on moving from Java to becoming a professional Jakarta EE and Enterprise Java Developer.
Jakarta EE is an important standard in the Java world, as almost every other established Java framework uses some of its APIs. Becoming a professional Jakarta EE developer is a great way to master a core development platform whose knowledge can be easily transferred to many other development platforms, both on and off the Java Platform. The following are some tips to becoming a professional Jakarta EE developer as a Java SE developer.
Master Java
To become a professional Jakarta EE developer, you will first need to know the Java Programming Language, as Jakarta EE is built on top of the Java SE standard. Almost everything you will do in Jakarta EE will be done in the Java Language, so a comfortable working knowledge of the Java Language is a core prerequisite to becoming a Jakarta EE developer. You don’t need to know all of the Java Language, but you will need to be comfortable enough to read and write fairly non-trivial code in it.
Familiarize Yourself With Jakarta EE
At its core, Jakarta EE is just a collection of APIs that solve commonly occurring problems in software development. It may appear intimidating, but getting familiar with the platform is quite easy. The first place I suggest to start is through the officialJakarta EE tutorial. After the tutorials, you should take a look at theCargo Trackerexample application. It’s a fairly non-trivial Jakarta EE application for tracking shipping cargo. You should also take a look at the Jakarta EE Samples organisation on GitHub. It has many sample code covering all aspects of the platform. It’s an excellent, easily digestible code repository for understanding how to use the various Jakarta EE APIs.
As stated above, the Jakarta EE Platform is organised into a collection of APIs, or technically, specifications. These are documents that explain what each specification does and how to use it. Think of specification documents as the manual for each API. Becoming proficient entails being able to take advantage of the specification docs. All the Jakarta EE specifications can be foundhere. Some are very short and straightforward, others very detailed and lengthy. You don’t have to know all the specifications. But as a standardized platform, the specification for each API is the single source of truth for how that API works. Consequently, you should also check out the various specifications as and when you use a given API.
Use Available Tools
As a software developer, your job is more to think and solve problems that add business value, than plumbing. This means taking advantage of the excellent tooling available to you. The Java ecosystem arguably has the best tooling for solving all kinds of software development challenges. From IDEs (and their plugins) to build tools to anything in between. As Jakarta EE is built on the Java SE standard, you have all these tools available to you to better your life and make you more efficient. Take advantage of them. All the major Java IDEs have good support for Jakarta EE development. This will help elevate your development experience and make you much more productive. The IDEs also have a large collection of plugins that augment the functions of the IDE. Learn to use these to your advantage.
Put Yourself Out There
The best way to master a skill is to practice it. Practicing could take any number of forms, from writing your own Jakarta EE applications to contributing to other projects. Whichever option you prefer, the most important thing is that you are putting what you learn about the platform into practice. You should not only write, but also read as much Jakarta EE code as possible. GitHub is an excellentresource for Jakarta EE code. Pick a repo that tickles your fancy and read the code (this could bePayara Platform!). The more you read other people’s code, the broader your perspective becomes with regards to the different ways of using the Jakarta EE Platform.
Get An Entry Level Job
Getting a job in a place that uses Jakarta EE is the fastest way you can master the platform. Being a part of an organisation that uses Jakarta EE means you get to see how the platform is used to create software that delivers business value to real clients in the real world. You will not only learn about Jakarta EE in isolation, but also how it’s used in combination with all the other ancillary tools and services like DevSecOps to deliver value to end users. Working in a Jakarta EE shop is the single surest way to getting a comprehensive view, knowledge and experience with the platform. Payara is a Jakarta EE software company, on a massive growth journey - make sure you sign up for our job updates.
Try Helping Others
The best way to learn is to teach. Try answering questions about Jakarta EE, within your sphere of knowledge of the platform on sites like Stack Overflow. Try creating blog posts, tutorials or videos about Jakarta EE explaining the concepts you have learned. This should help reinforce what you’ve learned.
Be A Perpetual Student
As with any discipline, mastering Jakarta EE means being constantly in a state of learning. You should make learning, curiosity and the ability to say “I don’t know” a part of you. There will always be more to learn, there will always be things you just don’t know. Make it a point to be an eternal student. You can never “know it all.” Truth is, nobody knows it all. So be always curious and a voracious learner. Also, be an all round nice person people will be willing to help!
You should also make it a point to learn about other platforms. Ideally you should, eventually, be comfortable with the basics of the Spring Framework for example. You should make it a point to learn about other frameworks on the JVM. There are many such as Quarkus, Helidon, Micronaut etc. You should have a basic idea of these and what specific niche they cater for. Having many tools in your arsenal will only make you an efficient problem solver.
Network
Networking is an important aspect of career development. As much as possible, network with like minded developers. If it’s possible for you, attend Jakarta EE focused conferences, both online and offline. Follow established persons in the Jakarta EE community on social media. Join the Jakarta EE mailing list. Join relevant groups on sites like LinkedIn.
There isn’t a single path to becoming a professional Jakarta EE developer. However, by following these broad outlines, you increase your chances of becoming a well grounded professional Jakarta EE developer. The key takeaway is to first learn, then put yourself out there helping to deliver value to people. Jakarta EE is an important development platform that will grant your a long and fulfilling software development career. Get started!
Try some of our extensive guide collection:
Related Posts
Virtual Payara Conference is this week! See the Agenda Highlights
Published on 09 Dec 2024
by Dominika Tasarz
0 Comments
Virtual Payara Conference - find out more and register here - is a two-day, free event that brings together industry leaders, developers, and innovators to explore the latest advancements and strategic insights in the world of Java and Jakarta ...
Testing Jakarta EE Applications: Best Practices and Tools
Published on 05 Dec 2024
by Luqman Saeed
0 Comments