Today we have something special for you, namely an interview with young programmers who participated in the summer internship program at SoftSystem a year ago.
The guys told us how they joined our company, what their internship was like, what tasks they had to perform and what challenges they had to overcome. We will also learn what skills they developed during their internship and how they use them in their current careers.
There will also be their insights on the internship program and the support they received from the mentor and the development team. Together with them, we will trace their experiences during the internship and how they envision their future career with our company.
The interview can be a valuable source of inspiration for anyone pursuing a career in IT.
Tell us how it happened that you joined SoftSystem?
Patryk: A fellow student told me about the company when we were returning from classes. From word to word, he told me how he started his internship with the company and that another internship program was starting next month. That same day I checked the company’s website and its current job/internship opportunities. I submitted my resume and a few days later received a phone call inviting me to an interview. Before the interview, I met Arek, with whom we got on the team together for the internship.
Arek: I joined SoftSystem by applying for an internship program I learned about in the scientific club. It was at the end of my 4th semester when I was looking for summer internship opportunities. Interestingly, at that time I was still not quite sure in what direction I wanted to go further in IT. This uncertainty resulted in me waiting too long to apply for an internship. I applied a day after the deadline, but still got the chance to interview and ultimately qualified for the internship program.
How long was your internship in our company and what department did you work in?
Patryk, Arek: The internship lasted 3 months, we worked in the Research Department, where we still work.
How would you rate the internship program and the support you received from your mentor and the team?
Patryk: The internship program, in my opinion, was conducted very well. From the very beginning, we had constant contact with our mentor, who introduced us to the technologies the team works with.
Then we were given a simple project to do. After it was done, our next task was to create a full-fledged web application in a team of two. All the time we were supervised by our mentor, who was helpful at every stage of creating this application. His task was also to do code reviews for us to improve the quality of the code we wrote and identify bugs in the application.
Arek: The internship program was very well organized and everything went smoothly. From the first day, we were getting a lot of attention and support from our mentor. The tasks were always clearly defined and we always had something to do. In situations when we needed help, we received it quickly.
Before the internship, I had more theoretical knowledge than practical skills in programming. Thanks to active learning through practice and the support of the mentor, I gained enough knowledge in a short period of time – only 3 months – to start working as a programmer and join a large project.
What were your main duties and responsibilities during the internship?
Patryk: Our main duty during the internship was to learn, learn and learn. At first, it was mainly theory, so that later we could put it into practice in the form of application code. It is known that the best way to learn is through practice, which is why our internship mentor chose this way of conducting the internship, and I can say without hesitation that it was a good decision. While writing our own code, we could really learn a lot. Every challenge, bug or problem we encountered required us to engage and search for a solution. Analyzing and solving these difficulties allowed us to draw appropriate conclusions, which further enriched our knowledge and skills in programming.
Arek: Our main responsibility was to learn. In the beginning, it was clearly defined from what range of skills we would master, and what technologies we would learn. Initially, we had to master theory in order to move on to practice. We were given projects for assignments, which we later developed according to the mentor’s instructions in order to fully learn the capabilities of the technologies used.
What programming skills did you develop the most during your internship, and do you use them in your current job?
Patryk: During our internship, we worked with frameworks used by our team, such as Angular and Spring, and also used the PostgreSQL database and the Hibernate tool. I gained basic knowledge of these technologies during my studies. The practical application of these technologies in developing larger applications, rather than those written during my studies, is a totally different experience.
Our internship consisted in developing applications from scratch, according to project guidelines and specifications. We had to know the theory, but also be able to put these frameworks and tools into practice. Our mentor conducted regular code reviews, which allowed us to look at our solutions critically. That allowed us to identify and effectively solve our own bugs. This experience taught us how to avoid similar problems in the future.
In addition, working in a team allowed us to learn how to use the source code management platform, GitLab. Although I already had some experience with Git itself thanks to my previous use of GitHub, GitLab was a completely new tool for me. Therefore, it was valuable that I was able to familiarize myself with it and assimilate its functionalities during my internship before joining a larger team, much larger than our two-person internship team 😊
Arek: During the internship, we mainly developed programming skills related to developing web applications in Spring Boot framework, Angular, and Postgres database support. These skills are an integral part of my current job, where I use these technologies on a daily basis. The work of a programmer is not just writing code. It was also important to develop soft skills such as teamwork, communication, analytical thinking, time and priority management.
Did you encounter any challenges or difficulties during your internship? How did you deal with them?
Patryk: The biggest problem during the internship was understanding our team project guidelines and then coding that into the app. However, we could always contact our mentor, who explained how to do the functionality. That allowed us to spend more time writing code instead of wondering what a particular part of the program in the guidelines should consist of. The additional difficulty was to start to develop our group application. It was necessary to plan everything carefully to avoid having to change direction or start over at later stages. We had to plan the database structure, think about the ultimate look of the application and the file structure.
Arek: The biggest difficulty was our inexperience. We encountered problems during coding that we couldn’t solve or had difficulty choosing the most effective solution. In such situations, we would ask for help from our mentor, who would give us tips, and guide us to a solution, or we would have in-depth discussions, analyzing the advantages and disadvantages of various proposed solutions. There were quite a few such problems for which we initially lacked solutions, but now I think the experience was very beneficial. Through these challenges, we gained valuable knowledge, which now allows us to encounter similar difficulties less frequently in our daily work.
Were you involved in any team projects during your internship? What were your roles and what lessons did you learn from the experience?
Patryk: As I mentioned earlier, we had two projects to create during the internship. The first was a simple CRUD-type application that each of us created separately. This application was intended to learn or remind us of the technology, and then we developed our own team application for conducting audits in the company. We assigned roles in the project to each other. Our task was to prepare a given functionality, so I would establish with Arek that, for example, I was now in charge of embracing the database tables and relationships and the backend, while Arek focused on the front-end area, and then when doing another functionality, we would swap responsibilities.
The main lesson from this experience is that teamwork can sometimes be difficult. Everyone has an opinion, so some things we had to discuss thoroughly, and present arguments for and against. Nevertheless, working in a team improves the application development process. As the saying goes: “two heads are better than one”, and in the case of a larger team, this principle is even more powerful 😊
Arek: At first, our mentor suggested that we separately create projects with similar themes and functionalities so that we could implement each other’s technologies. That was interesting because it allowed us to discuss our solutions and learn from each other. We then received another, more extensive task – the development of an application for auditing companies. We were given basic design guidelines and a list of features we needed to implement. In order to properly implement this project, it was necessary to carefully plan the work, and design the database. Ultimately, we made a fully functional application that met the guidelines. We gained a lot of experience from the entire process of developing this application.
What does your work consist in now and what are your tasks in the project(s)?
Patryk: We work as programmers in the Research Department, where we interned. We are involved in the development of applications created by this team. At the beginning of our work, we were given simple tasks, such as fixing bugs in applications and correcting translations on pages. However, over time, as we became more and more involved in the operation of the applications, we were given “bigger” and more important and demanding tasks. That allowed us to prove ourselves in the team and to contribute more and more to the development of the applications created by our team.
Arek: I am involved in maintaining and developing the LIMS product. My responsibilities include a variety of tasks, such as implementing new features and developing existing ones, as well as fixing bugs. After completing my internship, at the beginning of my work, I gained experience by performing tasks of lower difficulty. That allowed me to familiarize myself with basic processes, procedures or the application itself. Now that I have gained more experience, I am dealing with more challenging and complicated tasks. I am constantly developing myself, acquiring new skills. Generally speaking, I try to keep moving forward.
Another internship program at our company started in July – what would you like to pass on to your fellow interns?
Patryk: Exactly one year ago I was in the same situation as them. Therefore, I think the most important thing I would like to pass on to them is the value of learning during the internship. I encourage them to actively explore the technologies used by the team where they are currently interning. If the company is interested in further cooperation, there is a good chance that this is the team where they will be hired. Learning about the tools used by this team will help them integrate more easily into the application development process and participate more effectively in the project.
It is also important for them to take an active part in projects, ask questions and try to find answers on their own. This proactive approach will allow them to develop their skills much faster, and at the same time allow them to develop confidence.
Teamwork should also not be forgotten. If they participate in joint projects, both smaller and larger, they should engage fully, take on more difficult tasks and support their colleagues.
Finally, I encourage them to enjoy what they do. The work of a programmer is extremely passionate, although it may seem otherwise to those outside the industry. Anyone who participates in the development process and sees how gradually all the pieces come together until finally a finished application is created feels pride and satisfaction in their own contribution.
Arek: I would like to tell the interns to try to make the most of this time, and learn as much as possible from the internship because it will definitely be fruitful in their future careers. It is worthwhile to engage fully and not be afraid to make mistakes because this is the time when we can make them and learn from them. Remember the rule that there are no stupid questions, ask even the simplest things, and don’t be ashamed, because everyone started the same way from scratch. And besides, I would like to encourage you to enjoy your work. It is important not only to perform your duties but also to enjoy every step and every achievement.
What are your interests outside of work?
Patryk: After work, I like to spend time outdoors, go out for a bike ride, and sometimes for a walk or jog. In addition, once a week we meet with colleagues from the company at the field to play soccer. In my free time, I also like to relax with a fishing rod by the water or hike in the mountains. In addition, I’m also interested in automobiles, mainly I’m passionate about older car models.
Arek: I love motorization, working on my car, participating in automotive events, integrating with other motorists, and simracing. Also, I like to play soccer, once a week we get together with colleagues from work to play together.
How do you imagine your future career in our company?
Patryk: I envision my career at our company as an opportunity to grow and achieve new skills. After one year of working here, I can confirm that I want to continue my professional path here. I am constantly striving to further improve myself in the field of programming. I know that here my work is noticed and appreciated. Certainly, if I manage to gain enough skills and experience this will also be noticed and I can expect to be promoted to a higher position.
Arek: I imagine my future career in this company as challenging and rewarding. I want to develop in different areas and gradually acquire new skills. I hope to take part in many interesting new projects. At the same time, I see myself someday as a mentor for younger colleagues, sharing my knowledge and experience, just as my more experienced colleagues are currently doing.
Why would you recommend working at SoftSystem?
Patryk: Certainly because of the nice atmosphere in a young and energetic team, flexible working hours, the opportunity to develop your skills, training, trips to programming events, and the possibility to work remotely and from the office.
Arek: I would recommend working at SoftSystem because of the unique atmosphere, which not only promotes effective work but also creates a friendly and inspiring environment. The company provides very good working conditions and also many opportunities for development. Senior, more experienced employees are ready to share their knowledge and experience to help less experienced people. The projects are varied and interesting. For young and inexperienced programmers who are just entering the IT world, the internship program is an ideal opportunity to gain valuable experience, develop skills and learn from experienced colleagues. It’s a unique chance to put into practice the knowledge gained during their education and learn how the IT industry works in real life.