What they don’t teach you at software university: 5 insights
Besides all the fun and meeting new people, your time as a student is the perfect moment to gain new skills and practice. But when you’re fresh from the university and roll into your first fulltime job, you will notice some differences between the classroom and the office. Funda's Software Engineer Jelle van Noord, who graduated from his Master Software Engineering in 2019, shares five insights on his first software job at our company.
#1 Deploying code
If you develop a project during your study, you only have to worry about the program running on your and your professor’s local machine. That completely changes when working at a company like funda, where millions of people on a monthly base visit our pages. ‘Before I started working here, I never realized how much work it is to get your code safely to production.’ All the code at funda is first tested in a staging environment before we release the updates or new features to users.
Also, the way of deploying your code is different. While in university it is acceptable to do this process manually, within a company this is too error-prone. ‘I was surprised by all the automations that are needed to actually get my code deployed. Luckily, I do not have to create and maintain that all by myself. At funda, we have a Site Reliability Engineering (SRE) team to keep the infrastructure up-to-date and working. They make sure that when I hit the deploy button, the needed resources are created in Azure and the pods with my code are added to our Kubernetes cluster.’
See also: 6 highlights during my first four weeks at funda: Product Owner Ugo
#2 Working together instead of being a lone wolf
Which brings Jelle to the next point: the team around you. As a student you mostly work alone, if you are unlucky in a group exercise where we all know that one student that slacks and lets you do all the work. ‘But working in a team really helps you to get better at your job.’ He was surprised how many people actually work at funda when he first came in. ‘I thought it was a platform for houses that are for sale, how much work could that possibly be?’ Turns out there are 140 people, half of them being Software Engineers who make sure that all applications are constantly running.
Another thing that surprised him was how all those applications, and thus teams, work together at funda. ‘All those apps are connected, so if you want to change something, you have to think how that affects someone else’s application as well. As a student, you worked on your own on one project. You were the main stakeholder, here you truly have to learn how everything is connected.’
#3 What does your customer want?
But it’s not only your team member you work together with - as a Software Engineer, you constantly ask yourself the question who you design the product for and how you can make their experience on the website better. ‘Funda has quite a unique position when it comes to stakeholders, because we work for people who want to buy or sell a property, but also for the real estate agents who advertise their properties on our platform. A lot of the solutions we build for the website are a combination for those two target groups. As a Developer, you constantly switch between those two stakeholders.’
As an example, Jelle mentions the search engine he recently built for real estate agents. ‘They can search on specifications that are important for consumers while searching for a house. But before you can build a solution like that, you have to know what both stakeholders think is important. If you don’t balance that out, the whole search engine won’t work.’
#4 The legacy of twenty years funda
The company you start in as a freshly graduated student has been there for many years. And where as a student you start from scratch every time and only work on project for the time of a semester, applications within companies often have a legacy code. ‘Funda was founded twenty years ago. Sometimes I stumble across a codebase that is so old my colleagues don’t know how it works. My work is not only to create new things, but also to do some research on how certain things work and how we will change or improve them. I never had to work with old codebases when I studied, but this is actually what makes my job challenging and exciting.’
See also: How does funda actually work technically?
#5 Becoming part of the whole project
As a student, your tasks are quite defined. But when Jelle started at funda, he was amazed by all the different projects people were working on in a single day. ‘We work with Jira, where tickets constantly are added to the backlog. It wasn’t only the amount, but also the diversity of the projects that you get to work on as a Software Engineer that surprised me.’ He had learned before to prioritize, but not on this level, he admits. ‘You do not only work on your own tasks, but also think along with colleagues and work together on the whole project. Before you even start on a project, there’s a whole lot of work that needs to be done to create a plan.’
For example, I have a refinement every Tuesday with the entire team in which we take some time to think about the user-stories that we have on our backlog. During this time, we don’t write code at all, but just think about the acceptance criteria and scope of a ticket. This way everybody knows what the expected result of a ticket is and we work together to get to the best outcome.’
Curious if funda is the place for you to grow? Have a look at our vacancies right now.