Interview With Java Expert Gábor Auth
In this series, we want to interview Java experts and ask them how their professional careers started. We also want to inquire them about the recent Java and software development trends. This time our interview partner was the Hungarian Java expert Gábor Auth.
How did your career start?
I started my career as a teacher and taught in secondary grammar and vocational schools, mostly programming, electronics, and electrical engineering. Among the programming languages I taught were C, C++, and Java. Later, I became more interested in Java, and during this time, I had the opportunity to work on small Java projects.
In 2005 we started to form a Java community and held mini-conferences for community members to discuss and help each other with current Java project-related issues. In the Java community, I made a lot of contacts and got several job offers, so I moved to Budapest in 2007 and started working full-time with Java.
What major Java projects have you worked on as a developer?
My first job was at CIB Bank, where we worked on a massive Java system. There, I worked as a Senior Java Developer. My responsibilities were the secure implementation of IT systems, technical management of internal developers, support of IT operations in live environments, optimization and development of software systems, design and development of internal frameworks, and introduction of relevant technologies.
Later, I was involved in developing the magyarorszag.hu website at the National Infocommunications Service Company Ltd. Here, for example, I created the server-side interface for uploading the ÁNYK form (General Form Filling Framework Program). Later, I returned to CIB Bank for a short period and worked my way up to Senior Java Architect.
When did you become a freelancer?
After working at CIB Bank, I started working for smaller companies and with the Android and Kotlin platforms in addition to Java.
What do you do now?
Java projects make up about a third of my work at the moment. I also specialize in general and DevOps consulting, Kubernetes implementation, and creating CI/CD systems.
What technology do companies need besides Java?
Most recently, I've been helping companies with Kubernetes-related projects. I mainly work with companies that have developers and DevOps professionals and want to build a small automated system to simplify their day-to-day operations. I think the companies I work with must have information about Kubernetes. I also help companies determine what services they should and shouldn't put into Kubernetes.
How do you see technologies changing in Java? What trends do you expect to see in the next few years?
With Java, I see big banking and insurance companies using IBM or Oracle. In contrast, smaller startups often use Spring. However, there are also companies running a Kotlin backend. I don't think Java will decline in the next few years, but as we can see, Kotlin is already gaining popularity and is unlikely to decrease soon.
Is it easy to set up a Java team for a project?
Well, it always depends on the project. As I said, large enterprises such as banks and insurance companies use Java. It is because both technologies and skilled developers are expensive. Small companies generally cannot afford to use Java. I think there are fewer Java professionals on the market actively looking for work.
By comparison, for example, it is much quicker to find a PHP expert than a Java specialist. Developers with more knowledge are either already working on projects or costing a lot of money. In addition, highly skilled Java professionals are often lured away by the banking and insurance sectors.
When do you recommend Java-based solutions to a client?
The first question I ask clients is whether they need a Java-based solution. I recommend Java when building a high-performance and high-traffic system with transactions between different services. And secondly, if there is already a Java specialist working at the company. If a company has never used Java, I usually do not recommend it.
You have also been active in the organization of the local Java community for many years. How did it start?
It all started around 2005 when we organized Java meetings for the first time. I founded the javaforum.hu professional forum, where users could ask Java-related questions. There was no such thing in Hungary at that time.
Later, I started to organize Java meetings on the Meetup platform. A lot of members of the Java community came to these meetings. It was great because we had the chance to ask each other questions and the opportunity to develop professional contacts and thus building the local Java community. Often the speakers were also members of the community. We always tried to find a topic that many people were interested in and to choose a speaker who had practical experience in the field. These two factors ensured the success of these events.
What advice would you give young developers? What skills should they acquire that will help them in their career?
I see two fundamental problems for early-career developers. One is teamwork, and the other is problem-solving. The first is perhaps also a fault of education, as young graduates don't know how to work in a team. The second is that when they encounter a problem, they don't ask their more experienced colleagues and don't know how to solve it. I think these are two areas in which young developers need to improve.
In the workplace, we never work alone but in a team with our teammates, so teamwork is critically important. In my view, this is even more crucial than the new colleagues' professional skills. In the case of professional knowledge, it is perhaps most vital that a novice developer has basic programming knowledge and is familiar with the functioning of a platform.