There are a lot of statements on the Web that Java Programming Language is no longer needed by the IT community if the point is about technological innovations, and that Java developers are like the Mohicans, that is they are living their last days.
I’ve tried to find out whether the situation is like this or it is just an exaggeration and overstatement.
Interesting Facts about Java
As of the middle of 2020, Java was the 2nd in terms of a number of job openings across the world, showing that it is way too early to send this language to the barn for storage. Some other great stats are:
- 400+ companies from the Fortune 500 List utilize Java for their solutions, products, and sites
- Over 40% of the world’s developers program in Java (overal number of Java devs globally is approaching 8 mln)
- More than 2 mln active websites are created with the use of Java EE
- Java is having its 25th Anniversary in 2020!
The below pictures explain the role of Java as a programming language in 2019 and 2020.
I think that is pretty awesome for a 25-year old programming language, isn’t it?
Designed to have the minimum possible number of implementation dependencies, Java is a class-based and object-oriented language which makes it a perfect choice for games and mobile app development and for web application development as well.
Why Startups and Established Businesses Choose Java to Create Their Products
I’ve asked this question to my colleague, a CTO with a US-based startup that produces high-end software solutions for the healthcare industry and medical institutions. His answer was as follows:
*Our startup opted for Java as the programming language to create our products because of our niche, which is help save human lives. Our work is life-critical and Java provides that level of security and safety of our solutions that allows them to work faultlessly. Reason #2 is that we use web apps a lot in our work, and programming languages that allow building high-quality web applications, other than Java, have no such simplicity of their web components and frameworks.”
Another person, a professional inhouse software architect of one Paris-based transportation startup, gave me a bit different answer:
“I have no idea why many developers and other IT people think Java is dying. I think that is because they cannot understand that Java in 2020 is not that Java that used to be 5 or 10 years ago. In 2020, with completely reactive out-of-the-box frameworks like Spring, Spring Boot and Play you can see web applications up and running within minutes from the start. Our company used Java to build an efficient REST backend and then put on top of it React frontend, and this combination ensured the great interaction within our solution and provided its lagless responsiveness.”
Benefits of Java for a Startup or for an Established Enterprise
The second step of my research was to get the understanding of Java benefits gained by startups or established companies and corporations. I literally interrogated like 10 CTOs/Chief Solutions Architects and summarized their responses and my comments to them below.
All Platform Coverage as Java-based solutions run anywhere, on any platform – Windows, MacOS, Linux etc.
Comment: Startups usually have tight and very limited budgets, so if they want to build a product for as many potential users as possible, without going bankrupt, Java is their perfect choice: the code written in Java will work everywhere.
Adjustable Security as we can flexibly configure multiple security levels and user restrictions
Comment: Security of Java is proven by time and you can work with the untrusted code without any harm to the software.
Network nature of programming as we want as many our clients and users being connected as possible
Comment: Java sports a great set of client/server and multitier architecture which allows to easily work with all the resources across the entire network and, respectively, build great network applications.
Dynamic and Estensible Nature so we can avoid packing everything into our products and making them huge and heavy
Comment: Java’s feature to automatically load new classes over the network in case they are needed makes Java-based solutions truly dynamic
Global language from the ground as we have no need to add some alphabet support on later stages
Comment: 16-bit Unicode support, unlike certain other programming languages’ 8 bits, make Java a 100% internatonalization language
There are multiple more advantages that make Java one of the most popular and loved by programmers language, and they are easily google’able so I will not provide them here. I will better tell a bit about how a startup can find and hire high quality Java developers.
Where and How to Find a Qualified Java Developer
Before starting to answer these questions, I need first to explain which issues startups usually have in terms of hiring developers.
Issue #1: No hiring resources
Since all startups are new to the industry, they lack experience, necessary knowledge, time, and resources to ensure high quality hiring. In particular, they have highly qualified recruitment people in-house.
Issue #2: No startup brand
This issue is directly linked to the startup nature – they still need to build their brand, both as service/product providers and as employers. Most people don’t want to work with unknown companies as they don’t have trust in them and don’t believe them. One of the biggest things is that most startups fail, and there is a great article about it. Potential candidates just don’t want to risk their time and efforts, working for startups.
Issue #3: No good compensation packages
Startups in most cases have very limited budgets to get rolling, so they offer way worse compensation packages as compared with big businesses and corporations. They simply can’t win this fight with big and well-known brands. Talents prefer working at established businesses known as reliable and reputable employers offering awesome compensation packages to their employees.
These are main issues, in my opinion, which must be addressed by a startup before proceeding with their hiring process. And there are multiple recommendations on how to address and resolve them properly and with reasonable efforts.
Where to Find Java Developers
So, your startup is going to create and market some Java-based tech product. But you cannot do that on your own unless you are Vishnu or another Hindu god endowed with several pairs of hands, hehe. You need to find and hire software developers, which will build your product. But you cannot just get out to the street, find a software developer there and bring him with you to your office. Good Java developers are not sitting there and waiting for you. You need to use the appropriate resources and options, which are local hiring via a well-thought employee referrals program (ask your employees/friends if they have some software developers as acquaintances and offer them some bonuses for bringing such for interviews), use LinkedIn as a great source of experienced Java developers, especially LinkedIn’s group Java Developers Community, use such resources as Upwork etc. Use every possible way to draft the list of potential candidates for your software development positions
How to Assess Candidates
Before hiring a software developer, you first need to find out where this person’s qualities meet your requirements. But you don’t delude yourself: there are 100% ideal candidates. You need to identify the key qualities you want to see in your developer and use them as a starting point for finding and hiring your new employees.
I see these key priorities as follows:
Technology and hard skills, as it will sieve out those candidates who have no experience with technologies (programming language, framework(s), library(ies), testing environment, database(s) etc.) you choose for your product
Previous experience, as you certainly don’t want to teach your developer(s), you want them to do what you need.
Personal and soft skills, because you need not only a developer or developers, but person(s) who will become members of your team.
Who to Choose: an Expensive Senior Java Developer or a Cheap Junior Dev?
As we all know, startups have in 99% cases very limited budgets for everything. But from my experience I’ve learned that the saying “buy nice or buy twice” is absolutely true. Success of the entire startup business depends on the work of the startup’s first developers, so don’t even think about saving on them.
The startup owners can be tempted of much lower salaries of junior developers as compared to senior engineers, but I INSIST that they need to:
HIRE A GOOD SENIOR SOFTWARE ENGINEER FIRST!
Inexperienced software developers, even if their technology stack is in line with the startup’s project, will not provide the same level of quality and achievements as an experienced senior engineer. The latter is essential for building out the basis of the entire system. Startups can scale up their development team with young developers at any time later, but the first hire must always be a software engineer who shares the vision and knows how to implement the ideas. This person is also able to mentor young teammates and help them when they need such help.
Yes, there can be a problem that experienced senior developers won’t work for a startup as this startup cannot offer them high salaries and other benefits. But the proof pudding is in the eating. At least there will be a try.
The most important take from the above text is that “Don’t go for the touchdown before you catch the pass”. I mean that there is not even a minor reason to bury Java as it’s not dead and not even close to being sick. How can that be said for the programming language that remains among Top 3 most used, most loved, and most needed for 25 years! Long live Java and the entire Java Community!