«We believe that someone who chooses Java will still be able to code in it when they retire.» Interview with Solbeg Leaders

Blog Post

Pavel Hraznykh and Maxim Grinevich, talk about the presence of Java in their professional lives and the associated challenges. We ask them whether advances in digitalization and the development of AI are also having an impact on Java and why it is still worth learning it. We invite you to read on!

Interview with Solbeg Leaders

Hi, to start with, please tell us something about yourself. What do you do in your professional lifes?

Maxim: I’m involved in building long-term relationships with clients and engineers, as well as organising teams and developing their leaders. I have to understand what the next steps will be, anticipate and plan what we will have in a year’s time as well as in the longer term, what skills are required and what to do with them. In addition, we try to build a developmental environment. Everyone has some limitations and topics that interest them. Our aim is to support engineers in the process of self-development, not only in terms of a specific project, but also their own future.

Pavel: As Lead Engineer, of course, my main job is to solve technical issues and also to help and supervise other team members. I handle a bit of operational tasks, sometimes mentoring, but we have very good engineers in our team, so there is no need to mentor them too often.

Maxim, can you talk about your main challenges in building and managing customer relationships?

Typically, clients expect stability, a high level of skill and responsibility for what we create. They don’t need people who will just do what they’ve been taught, but a partner who embraces everything related to technology. We try to understand what the client’s real goals are and we organise everything, not to be told what to do, but to propose what is worth doing. Sometimes we even audit some of the clients who need it.

On the other hand, we have customers who know exactly what they want. Then we just go in and say: OK, we know how to do it. Either way, we build long-term relationships, customers refer us on, and we build a network. 95% of our customers come back for new products or upgrades, and we create a huge proportion of these products using Java.

When it comes to client relationships, it’s important to see them as people and not just the object of our work. Even if you only know each other online, it always works the same way, when you open up, they start to open up too. If you are interested in their feelings, needs and goals, they start to respond with the same and try to understand you too. When you build a relationship and trust, both parties are confident not only in the outcome, but in the whole process.

Pavel, how do you balance the tasks of a Team Manager with those of a Lead Engineer?

Actually, it is a good question. Sometimes it is difficult because the time I have is limited. It requires me to have strong organisational and time management skills, the ability to delegate effectively and to maintain a balance between technical and managerial responsibilities. Open communication is key to combining roles effectively and ensuring the team runs smoothly. I divide my days between management and technical tasks, but I have to be flexible and adjust priorities because sometimes there are urgent tasks.

As a manager I follow a few schedules, I have to check what’s going on in the team, say hello to the guys, ask a few questions about the work. From time to time, I may arrange a one-to-one chat and simply ask about some day-to-day, non-work matters. For a certain period of time, we held monthly team meetings. We went to the pool and the gym. It’s not management, but a kind of different relationship. I think I should have more contact with people, not on the technical side, but more on the human side, and a visit to the gym connects (laughs).

Maxim: I came to the managerial position about 7-10 years ago. Before that, I was a Quality Assurance engineer and worked with Java. After I took a management position for a while, I built up the Java team, which then grew into a department, one of the largest in our Business Unit. As Java occupied more and more spheres, domains in which it could be used, it took more and more time to invest in developing the department. Java appeared more and more in our work because of its versatile application.

Pavel: To be honest, I didn’t choose Java, Java chose me. At university I had a lot of difficulty learning it, but after two years, after many books and courses, I really liked Java compared to other languages. At first, I thought about maybe another language, but Java has impressive advantages for me.

Based on your experience, what benefits are most commonly cited when working with this language?

Pavel: Java has a very large, strong, and reliable community. It’s also a lot of educational courses, as well as active use by companies. If you want a robust application, it’s only Java. Furthermore, it is a free tool. Oracle’s JDK has some paid components, but most of it is free. Java has an adaptive JVM platform. Technically, there is no need to have additional platforms or install additional tools. Java resides inside the JVM and can run other modern languages.

Maxim: It’s worth it, because it’s one of the languages that will be with us for decades to come. Many highly responsible applications (banking, transport, fintech) are based on Java. Looking ahead to the next ten years, there should be no change in these domains that would mean abandoning Java in favour of another technology.

I believe that someone who chooses Java will still be able to code in it when they retire.

The only problem is that this language practically has to be learned every day because it is constantly evolving. At the moment, we already have the 21st version. It is a never-ending learning process and constantly involves creating things anew.

Pavel: After Maxim’s words, we feel like learning Java all over again (laughs). I agree, it’s an everyday learning experience. But actually Java has a lot more educational resources than other languages. It’s very popular for various reasons. Firstly, as I mentioned before, it’s because of cross-platform compatibility. Another is that it is a very strong and foundational language for Android, Kotlin, Scala, Groovy, and other systems, which also make Java a great point for development and the future.

And what’s new in Java? Are advances in digitization or AI also having an impact on Java?

Maxim: The manager has to know when to keep quiet and pass the baton; therefore, I give the floor to Pavel.

Pavel: If we think about AI or IoT, Java is currently the most popular language for creating custom solutions for machine learning, neural networks, search algorithms. These are, for example, solutions such as Google Vertex AI. One very interesting project using Java in AI is a mobile robot to explore the Arctic Circle, reaching Greenland and Antarctica. You may also have heard of Chatbot Alice. This is also ELSA Speak, which draws on the technical knowledge base of Google and other services. Java in AI is actually a very common thing and offers a huge amount of possibilities. In terms of my Java AI projects, I use Apache Jena and an RDF model-based application on a daily basis. I have also used JOONE (Java Object Oriented Nature Enginee), whereas this model requires a lot of machine time and a very powerful machine to run the neural engine.

Can you give any specific examples of projects you are currently working on in Java?

Maxim: There is a myth that outsourcing companies are only involved in low-level or low-quality projects, whereas in several projects we are involved in developing new core solutions. This is due to long-term cooperation and solid trust. Above all, we are currently working on solutions for transport. We are responsible for processing all ticket payments, in more than 15 different cities and capitals, and at the moment our team is working on building a new model on this topic.

We also work on fintech projects such as the creation of corporate credit cards. Our product, with the push of a few buttons, generates virtual credit cards for the customer that can be used for payments during business trips. Furthermore, we’re engaged in a banking solution that processes transactions between the ATM and the bank, in the meantime working on a new product completely from scratch. Our portfolio also encompasses public service projects. Sometimes these are also small projects, such as for car rental, monitoring or security, and also related to the use of mobile devices. We also develop new domains where previously advanced IT systems were not popular.

What are the biggest challenges you typically face when running Java projects?

Maxim: We use a variety of tools, including well-known ones like Kafka, which you can’t always just install and use by default. You need not only to configure them, but also to understand them in depth in order to get the maximum possibilities and develop your solution. In doing so, you need to be aware of their limitations and how they are built to maximise the system’s performance. It is not just about knowing Java, you need to know all the tools you are using, know the processes inside these tools, because only this understanding will help you build a quick solution for your specific needs while maintaining the required level of quality.

Pavel: The first challenge is, of course, the issue of performance. Applications developed in Java tend to be large and complex. The next problem is generally a memory issue. Java applications are very ‘memory intensive’, and we need to avoid leaks and the use of extra memory. Another challenge is scalability.

What advice would you give to young developers who are just starting out in Java or who want to grow in the field?

Maxim:  First of all, Java, like C++, C# or other old languages, is not a technology you can jump into in a few days. I usually joke that at some point, when you think you understand everything, your journey has only just begun. The biggest challenge is to keep an open mind, because you may know something, but there is always something new, some new elements, additional libraries. You also have to learn Linux. The biggest change is the endless learning. I think a lot of engineers who have entered this world might have expected at some point to know everything, but that never happens.

On the other hand, you can always do some simple tasks such as creating CRUD, creating database objects and working with them, providing data. If you don’t learn, you will only do simple tasks.

Pavel: In terms of young engineers looking to get started, I would say the main challenge is to get commercial experience or whatever. I recommend starting with GUID, with SAM, in collaboration with open source applications, at least one or two. It can be an easy project, but with different libraries, it shouldn’t be just creating, updating, reading, and deleting some entities. It should be some business logic. I know it’s very difficult to imagine something accessible, but now on the web junior can find some ideas to create their own application. My suggestion is not to start with typical things like library, library management, thread management, etc. but to start with more business aspects to use more libraries. Dependency management is essential to make a good application with interesting libraries and strong solutions. Of course, the junior should have a solid knowledge of the core of the language, but the key part is to have a vision of the architecture, related to libraries.

The next point, of course, is the soft skills related to thinking critically about your project in order to make progress and create new and better solutions all the time. Then negotiation skills, the ability to ask the right questions and to understand not only from a high-level perspective, not only from a ‘how to’ perspective, but also from a deeper one. The third point is languages. This could be English, or additionally another language, at least to the extent of being able to read documentation. Of course, books, some courses and meetups. Many engineers meet at meetups and start to collaborate, share knowledge and experience, develop their own projects, create startups. Containing this in a few points: learn the basics, join the Java community, get experience in a real project, learn English.

Interview with Solbeg Leaders

Maxim Grinevich: Senior Project Manager and Programme and Portfolio Manager in the IT, Rails, Banking, Radiology, Mobile and Fulfillment industries. As a Leader, he is particularly recognised for motivating and fostering creativity in teams. He is an experienced judge of the largest and most prestigious global award for PMOs and PM professionals (PMO Global Awards).

Interview with Solbeg Leaders

Pavel Hraznykh: He has been building his knowledge and skills in high-load application development, design of scalable architectures and performance optimisation for 12 years. Organises and leads projects from the ground up. Can create and implement solutions based on a general description or discussion. Has led a team of 30 developers and worked on several deep tech projects.

Read the interview exclusively on the original source of Geek Just Join IT!

We use cookies to optimise site functionality and enhance your experience.

I agree