These days, juni­ors look­ing into join­ing the IT industry don’t have it easy. But not at Codelab! We try to go bey­ond the usu­al pat­terns and offer intern­ships for stu­dents every year, allow­ing them to con­sol­id­ate and deep­en the know­ledge they have gained. After­wards we even offer per­man­ent pos­i­tions to selec­ted interns! In this art­icle the interns will share what solu­tions they worked on, what tech­no­lo­gies they encountered, what expect­a­tions they came with as well as what chal­lenges they faced.

This year’s intern­ship was setup in a “hybrid” mod­el and took place both in our Szcze­cin and Wro­claw office. Com­pared to our pre­vi­ous remote intern­ships this change did not res­ult in few­er applic­a­tions, as many as 19 people par­ti­cip­ated in the sum­mer intern­ships! In fact, opt­ing for the hybrid mod­el was men­tioned as one of the advant­ages in the final sur­veys by the participants.

Grac­jan: What I liked most was the atmo­sphere in the office […].
Maciej: Tues­day and Wed­nes­day meet­ings in the office left me with good memor­ies. These were moments where a great atmo­sphere was cre­ated, cooper­a­tion pre­vailed, and every­one was will­ing to share their know­ledge and exper­i­ence. Con­ver­sa­tions, jokes and help were an integ­ral part of these meet­ings, which will def­in­itely stay in my memory for a long time.
Aleksander: Work­ing two days in the office and three days remotely was per­fectly bal­anced so that we could both dis­cuss the prob­lems we were facing in per­son in the office and work at home. 

The interns worked on a total of four pro­jects both intern­ally and externally.

The SCI stu­dents worked on cre­at­ing a car driv­ing sim­u­la­tion using Unreal Engine. The sim­u­la­tion allows the user to drive the car freely, along with gen­er­at­ing tele­metry data to feed the HMI demon­strat­ors, as well as read­ing the pos­i­tion of objects in the sim­u­la­tion world (traffic signs, cars, ped­es­tri­ans, road edge, etc.), map­ping them to a 2D plane and writ­ing them to a file.
Stu­dents par­ti­cip­at­ing in the intern­ship in Szcze­cin car­ried out the PONG pro­ject from the area of embed­ded sys­tems. The task con­sisted of com­mu­nic­at­ing with play­ers via BLE (Bluetooth Low Energy) and send­ing inform­a­tion using the CAN bus about the move­ment of the palette to the HMI mod­ule, where the visu­al lay­er of the game was imple­men­ted based on the TouchG­FX frame­work. The pro­ject was imple­men­ted accord­ing to the concept of the best-prac­tice soft­ware devel­op­ment, i.e. from require­ments gath­er­ing, archi­tec­ture and design doc­u­ment­a­tion, to imple­ment­a­tion (in C/C++), val­id­a­tion and the final veri­fic­a­tion of the sys­tem. The tech­no­logy stack used dur­ing the intern­ship included Git/GitLab, Cmake, Jen­kins, CubeIDE/VSCode, BLE, CAN, ARM GDB, PyQT, TouchG­fx, FreeR­TOS, among others.

On the oth­er hand, the Wro­claw stu­dents were assigned to two pro­jects. The first pro­ject con­cerned a cor­por­ate applic­a­tion for com­pet­ence devel­op­ment and the second a license man­age­ment sys­tem for one of our cli­ents. The interns had the oppor­tun­ity to learn about the soft­ware devel­op­ment pro­cess and SCRUM meth­od­o­logy by par­ti­cip­at­ing in plan­ning ses­sions, daily stand-ups, ret­ro­spect­ives and demos of the work res­ults. While devel­op­ing applic­a­tions, they gained valu­able exper­i­ence work­ing with Spring Boot, Hibern­ate, Java 17, Post­gr­eSQL, Angu­lar, PrimeNG, HTML, CSS and Git repositories.

The Interns arrived with a vari­ety of expect­a­tions… from a desire to devel­op tech­nic­al skills or a chance to gain new know­ledge, to the oppor­tun­ity to learn about the com­pany’s pro­cesses and stand­ards. Did Codelab rise to the chal­lenge? What will they remem­ber from their internships?

Aleksander: The intern­ship exceeded my expect­a­tions, I can­’t think of a single thing I would change. One could even say that [the intern­ship] exceeded my expect­a­tions in a pos­it­ive sense.
I did not expect that while doing an intern­ship and work­ing on a com­mer­cial pro­ject I would have such a pleas­ant time 🙂 I will remem­ber the people with whom I had the pleas­ure of work­ing most fondly.
Domin­ik: Every­one was pro­fes­sion­al in their field but also under­stand­ing and help­ful. I was able to learn some­thing from every­one and expand my hori­zons in IT, start­ing from the way a large pro­ject works to the details that enhance the user exper­i­ence of the applic­a­tion.
Paweł: There are many things I will remem­ber most fondly from my time as an intern at Codelab. First of all, I learned a lot about soft­ware devel­op­ment. Prac­tic­al exper­i­ence work­ing on advanced pro­jects allowed me to gain skills that are extremely valu­able in the IT industry. 

What the interns val­ued most about their intern­ships at Codelab were the applic­a­tion of know­ledge in prac­tice, the large num­ber of tech­no­lo­gies used in the pro­ject, the sup­port of ment­ors, the atmo­sphere and the appro­pri­ate pace of work. The par­ti­cipants of the sum­mer intern­ships worked mainly in Agile meth­od­o­logy and could count on sub­stan­tial help from exper­i­enced professionals.

Michał: The ment­ors, both Michał and, for a time, Paweł, were extremely help­ful and pro­fes­sion­al. They not only helped us in our work, but also steered us in the right dir­ec­tion, offer­ing valu­able advice and con­struct­ive feed­back on our ideas.
Paweł: Every­one is ready to help and will­ing to share their exper­i­ence, which helped me a lot in my pro­fes­sion­al devel­op­ment.
Karol: My fond­est memor­ies will be of the people who took care of us (Mari­usz and Rita), there was nev­er any prob­lem, the daily meet­ing passed smoothly and in a pleas­ant atmo­sphere, they always found time for us. 

How­ever, through­out this time, some things were of course not so bright… The interns also faced many chal­lenges. In their own words:

Paulina: The biggest tech­nic­al chal­lenge was get­ting famil­i­ar with the spe­cif­ics of the assigned pro­ject, the doc­u­ment­a­tion and the tech­no­logy stack used, which also con­sisted of tools that were new to me. It was a chal­lenge for me to start work­ing in a SCRUM team and to break through to openly com­mu­nic­ate my con­cerns and ques­tions, to oth­er employ­ees and teams, which became easi­er for me over time.
Aleksander: The biggest tech­nic­al chal­lenge, in my opin­ion, was require­ments gath­er­ing and require­ments engin­eer­ing, because as stu­dents we had our first expos­ure to this in the con­text of a liv­ing organ­ism.
Wojtek: Due to the fact that none of the people on my team had pri­or exper­i­ence work­ing in SCRUM, this is what I would con­sider to be a major organ­iz­a­tion­al chal­lenge […]. In terms of tech­nic­al chal­lenges, I think the biggest chal­lenge was the adapt­a­tion of OpenAPI […]. 

How­ever, by their own admis­sion, the dif­fi­culties allowed them to thrive in their cur­rent tasks.

Paulina: What sur­prised me was the impact I could have as an intern on actu­al pro­jects.
Mateusz: I was very pleased that we were treated as “nor­mal” team [mem­bers] and had the chance to work in SCRUM.
Staszek: I was sur­prised that I would be work­ing on a [real] new pro­ject that I had a real impact on. 

Intern­ships are about learn­ing, chal­lenges, new acquaint­ances and diversity. This year’s edi­tion has come to an end, and some of the par­ti­cipants have stayed with us per­man­ently, which makes us extremely happy. 😊
An intern­ships at Codelab is not only an oppor­tun­ity to gain inter­est­ing exper­i­ence but also a chance to get your first job, in spite of the ste­reo­types that pro­claim that there is no place on the job mar­ket for juni­ors. We thank you for your con­tri­bu­tion and commitment.

We hope to launch the next edi­tion of our intern­ships in in the spring. 🌷