Rocky Road to Software Engineering

Heikki Ahonen

Picture full of yellow rubber ducks

In January 2020 started a new education path in Pietarsaari, when Centria University of Applied Sciences in collaboration with the city of Pietarsaari launched Road to Software Engineering (R2SE) program. The mission is to locally produce software developers in one year for the needs of local companies – only the teacher was imported from Helsinki.

The first program started with 25 students, all who were chosen with personal motivation letters. As the goal is to transform anyone into junior software developer, no previous knowledge of software engineering was required. After all, software development is more a question of motivation than initial skills. Skills can be learned along the way, but one needs to have the drive for it.

The mission for R2SE was an ambitious one, but not impossible by far. During the first half a year of the program, the students began from the basics of coding. Starting from the classic “Hello World!” (https://en.wikipedia.org/wiki/%22Hello,_World!%22_program) and advancing into graphical interfaces with C#, students learned something new every day. By May they were already able to solve and plan quite complex algorithms, and even implement Dijkstra’s famous algorithm for finding shortest paths (https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm). At the beginning of the autumn semester, we reached the point of no return, as there is less road to travel than is behind us.

This spring was challenging for the R2SE students, as they started from the very beginning and aim to reach the level of being able to work in software engineering by the end of the year. That is not, of course, the only challenge they have faced this spring of 2020. The corona virus has made the difficult road even harder. While learning a new profession in a year is a challenge on its own, doing it online while stuck at home makes it all more difficult.

As the world ground to a halt in the spring, the Road to Software Engineering kept on trail. Very quickly the students acquired the talent of online working, as the classrooms were closed indefinitely. Communication tools, such as Slack and Teams, became even more meaningful tools of the trade, alongside with the already familiar GitHub and C#. The daily lectures where they got to meet and support each other side by side, had changed into daily meetings with text chat and occasional questions spoken out loud.

After the first rough baby steps, online communication became an easy way to keep up with not only the exercises, but with how everyone in the team was doing. The questions became from scarce to abundant, and text chat filled with code snippets and discussion about algorithms. During the difficult times, or maybe even because of the difficulties, the students seem to be quite welded together as a team.

Even though the spring was an eventful one, and quite a difficult one, it showed that education can be done online. The students rose to the task and were eager to keep studying, even though the familiar faces of fellow students were now only images on a screen. The challenging task of balancing studies and rest of the life became more apparent, as now the children were there to study with us, there were no team lunches, and no teacher to physically point you to the right direction. We did still manage and continue to do so this autumn. As the situation in the world is not as grim as it was in the spring, and at the very moment of this article we can meet in the classroom, the possibility of closing the country is still looming over everything.

With the corona virus still with us, we head to the autumn semester, learning once again more and more. This time the focus is on databases and full stack development, broadening our view of software but also learning at least one new coding language of JavaScript, alongside database knowledge such as SQL and MongoDB. The pace is fast as the Road to Software Engineering is soon meeting its final steps, but it does not mean autumn would be any less eventful.

Before the year ends, the regularity of work is broken with a coding weekend, a “crunch” or “hackathon” as some would call it (even though not precisely being either): a weekend of long days coding, pizza and energy drinks will finalize the courses for the year, before students move on to short training period in actual software development companies. Even though the tasks are still the same, a step up in the pace and working habits is a great way to find inspiration, maybe even some motivation and perspiration.

The Road has been a rocky one this year, and unfortunately not everyone stayed on the path for the whole journey. Of the original 25 students, just a bit more than half are left. Those left are more motivated than ever, even doing exercises a week ahead of schedule, keeping the teacher on his toes. It seems indeed, that will get to our goal of locally producing software developers in Pietarsaari, and those reaching the end of the Road will have their shoes already well worn.

P.S. You might wonder, why is the picture filled with rubber ducks. In software engineering, “rubber ducking”  is a form of debugging code. When stuck, take out a rubber duck, and explain your code and intention to it. The duck works as a substation to a peer, who would listen to your problems and might give some advice. Often the advice is not even needed, as the explanation out loud helps to see problem in your own code. All the students continuing on the road received their personal rubber ducks as a trophy for surviving the tough spring and still being on the Road to Software Engineering. (https://en.wikipedia.org/wiki/Rubber_duck_debugging)

P.P.S. How many puns about walking, road or travel can you find from the text? 😀

Heikki Ahonen
Lecturer, ICT
Centria University of Applied Sciences
tel. +358 (0)40 653 6064

Facebooktwitterlinkedinmail