In the summer of 2021, I started working at Zengo as a junior PHP backend developer. For me, this job was a big change, as before that I dealt with Java, especially the Spring framework. Already in the first period, I faced many challenges and enriched many experiences: you can read about it below!
The biggest professional challenge for me was picking up the yarn in terms of both technology and workflow. Previously, although a member of a smaller team, I worked in sprints in the same way, so this division was familiar, and I already had experience with other technologies besides PHP. A big change in terms of workflow was that I was able to take part in planning much better at Zengo. My experience so far has been based on developing the given tasks, but here I was also involved to the brainstorming phase. In addition, I had the opportunity to participate organically in the development of the database structure. These were all big changes, but they were also big advances for me!
Difficulties in changing the language
I spent the first few months learning about PHP and the Laravel framework. There is quite a difference between PHP and Java, as Java is a very fixed, while PHP is a very flexible language. However, the logic of the two frameworks is extremely similar: in both I followed the MVC pattern and developed it with a Service and Repository layer. The use of Rest application solutions and collections also overlap, but there are big differences in the syntax and handling of types, as it is mandatory to unload everywhere in Java, while in PHP it is only recommended. For me, the biggest difference in the syntax was the usage of the attributes of the objects. In Java we call the attributes of objects with a dot, and in PHP with a right arrow. In PHP, you must also start declaring and calling variables with a dollar sign. It took me quite a while to get used to it, but practice makes perfect.
My first project
My first major project was the development of a B2B internal use system and I still do most of the work here. I have been involved in this from the very beginning, which was a big novelty for me, as so far I have always been employed in the development of an existing project. I really liked that I had the opportunity to see the initial structural decisions and thus to understand the motivation behind them. The peculiarity of the task is that its logic is terribly complex, which stems from the nature of the B2B system. Ever since I started programming, implementing this discount system structure has been the biggest challenge for me. From a technical point of view, the most interesting part was the implementation of the communication between the backend and the frontend. In order to make the data transfer as fast and smooth as possible, we used two-way socket communication. The first project will always be remembered, so it will be an eternal experience for me!
Is the university prepared me for all this?
A common question is how well the university prepares students to solve real-life problems, how well it is worth going to university and graduating. I think it's important, but it's major what one expects from higher education. In no way will marketable software developers be eliminated from universities just like that, as the knowledge and experience required for this can be gained through internships and work. In my very first lecture here at the University of Szeged, the professor began by saying that the university would not teach us how to program. Instead, the goal is to provide us with the right tools to learn to program on our own. This was indeed the case throughout education. They taught us a little bit of everything, but they always showed us only the basics. However, we had to spend a lot of time programming in our spare time. In retrospect, I am glad that I decided to go to college and persevered in graduating. For me, the most useful knowledge I gained during my university times, in addition to my basic programming knowledge, is perseverance and openness to examine a given task or problem from several perspectives. Without them, I wouldn't have been able to be successful in the job market, so I encourage everyone to pursue higher education!
I’ve come across a lot of new, but also a lot of familiar things here at Zengo. I was able to use my previous experience effectively and successfully learned new technologies and procedures. A lot of help in the learning process was provided by video-based courses as well as help and guidance from more experienced colleagues who were always very happy to answer my questions. I managed to fit into the team, of which I feel a useful member. I can also see what else I could improve on, so in 2022 I will try to focus on these. Just ahead!