Ever wondered what a typical day as a junior developer at a tech company looks like? Join as we explore a «day in the life» from an Ayfie-developer’s point of view.
Hello, World! I’m Martin 🙋♂️ 25 years old and a fresh graduate from NTNU with a Master’s Degree in Computer Science. I work as a consultant in Capgemini, and I am currently specialising in cloud development. However, in the past, I’ve worked more with web development than anything else. Consequently, I was an excellent match for Ayfie, to join a project with them, in collaboration with CapGemini.
In Ayfie, I primarily work with their .NET codebase, where we are preparing services for the near-future cloud migration. The overarching idea is to go from a monolithic delivery model to a micro service architecture. This can bring a lot of challenges, especially when you are new in a project and need to familiarize with the existing codebase. Thankfully, I have my mentor Steinar by my side; always ready to answer my questions, as well as my colleague from CapGemini, Hifsah Khan, and together we make a great team.
ARRIVING AT THE OFFICE
As a typical night owl, it is a huge plus for me that Ayfie has flexible work hours: It doesn’t really matter when I work, as long as I do my tasks. When I stumble through the door right before 9 am, most of the team is already there. It is then to my joy to take a quick walk around the office to greet everyone and have some early-morning laughs.
After catching up with the latest from some of my colleagues, whether it is how the chess tournament went for Steinar, checking out photos of Ragnhild's new dog or which workout Andri did in the morning, it's full focus on getting work done. One thing worth mentioning is that even if I am technically a consultant, becoming integrated into the Ayfie-team was honestly such a breeze!
When I’m done greeting the folks, I bring myself a freshly brewed cup of coffee to my desk. Of course, this could not be a day in the life of a real programmer without it 😋
My POV when arriving in the morning (except that this image was taken at 2PM🤣)
After a one-hour work session from 9 to 10, catching up on yesterday’s work, and cracking out a plan for the day, it’s time for the daily stand-up. You know, the time of the day when the entire team (Norway and Poland) meets to try and convince each other who has done the most work the previous day. In reality, the tone in Ayfie’s stand-ups is very light-hearted and it provides a great opportunity to see what others are working on, as well as a safe arena to ask for help with any impediments. Joking aside, the standup meeting is a crucial part of the agile methodology because it promotes transparency, collaboration, and accountability within the team. By sharing our progress and challenges with each other, we can quickly identify and address any roadblocks, adjust our priorities and plans accordingly, and ensure that we are all working towards the same goals.
Overall, the standup meeting is a valuable tool that helps us stay connected as a team, stay focused on our goals, and ensure that we are delivering high-quality work that meets the needs of our users.
Lastly, as a hard-working developer I love my dosis of caffeine so a quick stop by the kitchen for another fresh cup of coffee to fuel my work is necessary!
11:00 means lunch. For me, this is the social highlight of the day - of every day perhaps! The first sign that lunch is closing in is that Andri starts wandering around the office like an unfed toddler and asks if people are ready for lunch. And of course, we are. In Ayfie it's great to take a well deserved lunch break to discuss weekend plans or hobbies with each other.
Andri sneaking up behind us to ask who’s ready for lunch at 11:00 sharp
The time after lunch is the longest consecutive session in my day, so it’s time to work, baby!
During my work at Ayfie, I've learned that transitioning from a monolithic delivery model to a micro-service infrastructure can be quite daunting. One of the biggest challenges is getting familiar with the existing codebase and the overall architecture. This is where asking questions becomes crucial. As a newcomer to the project, I'm constantly bombarding my mentor Steinar with questions. And he's always ready to provide answers, even if they seem silly or trivial. Also the combination of having my key colleagues locally here in the Oslo office together with the developers in Poland is brilliant, as the pool of resources and skills bring me so much advice, guidance and support. We learn so much from each other.
ON A MORE TECHNICAL NOTE
Let’s take a step back and give you a bit of background for this project.
The first Ayfie platform (<2.11) is a monolith application. Building the new platform, version 3, was drastically different as we changed to a micro service architecture. Version 3.x and later versions are running on top of the Docker platform with independent Docker images for each service. Most of the services are now independent, but there is still a remnant of the monolith, running multiple services inside of it. The Search Service is running these services inside of it: RestService, Index Builder and Admin Dashboard.
My task for this project was to break out the RestService into its own independent service. In the monolith all services shared the same database access layer. To make the service independent the RestService needs its own independent Database Access Layer. This was an important part of project I was involved in, along with another colleague from CapGemini who got this opportunity together with me.
In addition, while creating the independent RestService, we also had the following tasks:
- Publish both Windows and Linux Docker images for the RestService
- Remove Windows dependencies
- Refactor the code
Overall the project consists of updating from .NET Framework to the .NET version 6 and the biggest advantage of the latter is that .NET 6 is Cross-Platform, which allows us to run the RestService on Linux.
WHAT'S GREAT ABOUT AYFIE
A cool thing about working in Ayfie is that you have a high impact on the projects you are working on, which in turn gives you a sense of ownership and a great feeling of satisfaction when things work out (which they always eventually do😉). We also practice test-driven development (TDD), so you know that quality is prioritised and can be confident that your latest code pushes won’t suddenly break everything.
It’s safe to say that post-lunch Martin is the most productive Martin. However, constantly working over numerous hours without any breaks is not doable, so I make sure I share a cup of coffee with my colleagues, either talking about work related topics or getting to know the real personalities behind these friendly faces. As I work out a lot too, I also need an afternoon snack to make sure I make it to the gym after work.
After 8 hours it’s time to head home. I might even do some more work from home, to make sure I get a head start tomorrow and can share my learnings and thoughts with the dev team. Another reason to stay in the office? If there's an after-work event or some of the great social and team building happenings taking place at Ayfie.
Since this is a “day in the life”, it’s kind of mandatory to include some documentation of a social event. So here it is; After a great time at “Fangene på Fortet”, the picture depicts us preparing for the Christmas party with a chef, loads of good food and drinks, fun games, and awesome people. We work hard, therefore we can also party hard.
This blog post is my thanks to Ayfie for letting me be a part of the team and
absorb all the knowledge I am able to.