In September 2023, we welcomed four excellent interns to our Zagreb office. These promising students embarked on a month-long adventure under the expert guidance of our mentors, engaging in projects designed with their competencies and needs in mind. The Spyrosoft internship experience wasn’t just about work; it was also about learning and bonding. As we look back on those four weeks, let’s explore this journey and the stories that these young people had to share.
Meet the mentors and the mentees
The first – but, hopefully, not last – group of students we took in as interns were Majda Bakmaz, Mario Mrvcic, Igor Sostarko, and Josip Grgic from the Zagreb University of Technology. Our experienced team members, including C++ engineers Dajana Bralic and Bozidar Kresaj, alongside .NET engineer Borna Juraski, became their mentors. During the internship, they designed a set of practical exercises, such as sensor data display on Graphic Display Module using ESP32, a Decibel meter using ESP32, an MVC App, and a REST Web API.
In addition to these practical experiences, we also organised three insightful workshops covering essential topics such as Git, Docker, and Scrum basics. As the culmination of their internships approached, each student had the opportunity to present their accomplishments in a 10-minute presentation.
Having young and enthusiastic faces with us for those four weeks was a breath of fresh air! Our mentors dedicated themselves to passing on their knowledge, while the rest of the team ensured the interns felt welcome and comfortable. We were not only eager to see what they could bring to the table but also keen to understand their perspectives on working in the IT industry today. Therefore, we engaged them in conversation during their stay, which led to the preparation of their presentations on the mini-projects they worked on during the internship.
When we asked them about the challenges they faced in college, their responses mirrored the experiences of many students. They expressed frustration with the abundance of theoretical topics that often seemed disconnected from practical application. The age-old sentiment of “we will never need this” resonated with them. However, they also emphasised the importance of practical exercises and the need for a more balanced curriculum.
What do students look for in an internship program?
Curiosity led us to inquire about their criteria for choosing an internship company and their expectations. As undergraduates, they were particularly eager for a high-quality internship program, an opportunity not always readily available to students at their stage of education. This contrasted with the common industry practice of offering internships primarily to older students who might later become potential hires. Here’s what they had to say about it.
Igor: Spyrosoft was the first on my wish list because the company seemed to me the most interesting, because of the description of the internship assignments, the approach and because of the technologies it works with.
Mario: I would say it’s not hard to find an internship, but most companies are focused on older students who already have some experience and who are aiming to hire after the internship. And what you’ve been offering here in Spyrosoft is an internship for beginners, and I liked that because you really gave a chance for students to learn something. To focus on learning, on practice. And it is not about getting us trapped and getting us into project work as soon as possible.
Majda: Several companies have been looking for graduate students who they could occupy, and who can continue working immediately after the internship. But I don’t want to go to such companies right away. First, I want to see what kind of companies there are on the market because I have an already formed opinion and vision of what I would like to do.
Want to learn more about the Croatian IT scene? See what our local Managing Director – Igor Kozinek has to say >>
Do you think you will be able to use the knowledge that you have now, and that you are learning now in some later work and tasks, given the speed of technology development?
Josip: I think so, yes, because here’s an exact example of a task I have here at Spyrosoft, working on the ESP 32 microcontroller. It will help me a lot in the future because I want to do embedded development. And that’s working with that microcontroller and exactly what I’m going to learn next year in class, so it will be easier for me to learn the curriculum.
Mario: I’d like to add that I have a feeling that people generally think that technology is evolving, so you have to learn new things. Which is true, but some of the fundamental things, the concepts that we work with, are the same, they just get built on. Such as C and C++.
How satisfied are you with the tasks and topics you got assigned during your Spyrosoft internship?
Josip: I’m very pleased. I bought my own microcontroller right away so I can work on a task myself at home, and I’m really looking forward to it.
Igor: My task seems interesting to me, because the creation of a webshop includes a lot of things from web development, it is necessary to do quite well both frontend and backend. This knowledge seems to me quite applicable to other things as well. The technologies we use are popular, .Net is popular.
Majda: I found the topic great because I worked on that processor core for my final paper, and so with this assignment here, I made a full story. I also got acquainted with some new things; wi-fi connectivity, MQTT communication, which was not so clear to me before. I think we’ve touched on a lot of topics in a short time, and I’m very pleased with that.
Mario: I can also say that I am very happy with the project I am working on. As far as the web shop is concerned, with this project we learned how to develop an idea and how to connect everything necessary into one whole. But apart from the project itself, we learned some practical things that in college we wouldn’t. We learned some tricks from our mentors, which on our own would probably take us a couple of years. How to do something more efficiently, and learn the conventions by which some code is written. And that helps me with further programming.
How do you, as a representative of the younger generation, imagine your ideal future workplace? What are your priorities so far, before entering the job market?
Josip: I’ve never thought about it, but it’s a great question. I would like to have flexible working hours, and remote work. But not all the time. The option would mean a lot to me. And I love how it is here at Spyrsoft’s office. We have free coffee, fruit, snacks. You make yourself a Cokolino, and no one asks you anything. But if I were to choose between a company that offers flexible working hours with a slightly lower salary and one that has strict working hours, I would rather work for a smaller amount and have more freedom.
Igor: I like the chilled Spyrosoft atmosphere, that people work on hybrid contracts, that the workplace is not stressful and with flexible working hours. And just as Josip says, I’d rather choose flexibility than a slightly higher salary. I think we need to have a balance between life and work. That’s why I like modern IT companies because of this approach. You have more willingness to work.
Majda: It’s also cool for me to have the opportunity to take coffee, and make your day much more bearable. If you’re sick of it, you sit on the couch and empty your head a little. It shocked me here, in a positive way, how relaxed it is, and yet everyone works. So I feel pretty lucky to have the opportunity to work like this, probably for the rest of my working life. Both remote and flexible working hours option is cool to me. Maybe now that I’m younger I’d rather accept a higher salary, but later I’d prioritise a more relaxed atmosphere.
Would you rather work in one company as long as possible, or would you change your employers?
Majda: I’d love to spend more than a year or two. I wouldn’t prioritise comfort, but if I had a big chance opening up, of course, I’d leave. But I like the stability.
Igor: The problem is if you stay longer in the same company, chances are that the person would stagnate. Some companies stick to certain technologies. From that perspective, I’d like to change companies even though I know it must be very tiring. I think it’s useful.
Mario: Well, yes. But I love how our mentor Borna here at Spyrosoft first worked embedded and then went to .NET. Being able to switch to new things within a company that you like is certainly a big benefit.
What was the most difficult thing to master on the internship task, and what would you do differently now if you were given it again?
Igor: When creating our task, we started with very simple things, and we upgraded it by adding various new possibilities. That approach certainly makes sense, but it also had significant drawbacks. We did not immediately determine at the beginning what exactly we wanted to add and in what way, but we had some general direction where we added functionalities that would come to mind incidentally. Although this approach makes sense for this situation in which we are just learning and not doing a professional application, it has led to some complications and situations where we have spent too much time on some less important possibilities at the expense of more important ones that came to mind only later.
I think the hardest thing for me was to implement some features because of the structure of the application and everything that has already been added, and in what way it has been added, to the application. So if I come back to this task, I would think about everything I want in my application and create it in a way that will easily allow me to expand the application with the necessary functionalities, and in this way, it would be easier to allocate how much time is spent on which part of the task.
Majda: The hardest thing for me was sending an image file over the MQTT protocol. I went to do it a little bit hastily, and if I did it again I would first study the image formatting and the display mode on the OLED display.
Mario: The most difficult task for me was to master new tools for work, as I have not worked with them before. Net, Blazor, Radzen… It took a long time to get by. I made a bit of a mistake here because I focused too much on finishing the project I was working on, even though I wasn’t familiar enough with the tools to work on. This eventually led to the fact that I knew what I wanted to achieve, but not how. I “wandered” around different forums looking for solutions to what I wanted to do, spending even more time than I would have spent if I had read the official documentation and knew which path to take at the very beginning. Another of the more demanding technical challenges was working with the Radzen framework, which is a slightly newer framework, so there is not so much support for it yet. The problem here was that I needed to go through a lot of trouble with the implementation and dig into the code from the creators of the framework if I wanted to change some ready-made components that I was taking from their templates. But all got solved in the end.
We have to admit, we already miss them in the office. But at least we said goodbye at a great get-together party after their task presentations and celebrated their success. Dearest team, we wish you all the best and root for you! All the best on your path to becoming great IT experts.
Join our Zagreb office!
If you are interested in experiencing this great atmosphere in a Croatian office first-hand, check our open positions!
About the author
Spyrosoft in times of recession. Igor Koržinek talks about the Croatian IT scene
Spyrosoft Zagreb office: interview with Luka Vretenar, Senior Embedded Software Engineer
Embedded Software Engineering internship at Spyrosoft – what does it look like?