02.03.2022 - Lesezeit: 7 Minuten
There are situations in which the work of software developers looks magical. Almost like witchcraft, beautiful-looking interfaces and complex applications are created from single lines of code.
However, there is no black magic behind it. The development of software is rather a symbiosis of a lot of hard work - paired with the right planning. A lot of time is invested by everyone involved to understand what the optimal solution to a problem is and how it can be realized.
The focus here is not only on the code. Rather, it is also about understanding the bigger picture and the individual parts. It is often overlooked that it is not only important what is used, but also how it is used. Only such an understanding enables developers to make the right decisions.
What makes the day
Even though high-grade Hollywood productions might want to convey it differently, the work of software developers does not consist of monotonously typing codes with serious glances
Software development is the interdisciplinary collaboration of a wide variety of fields. This includes product owners, designers, consultants and many other roles. This mixture of work means just as much communication. As you can imagine, just making sure everyone is talking about the same thing and the same concepts is a challenge in itself.
Therefore, everyday life goes hand in hand with a lot of communication. However, there is a lot more work that is not readily apparent.
The timetable
As in almost any other profession, every day is unique. Due to certain rituals, a basic structure of everyday life exists, but at the latest, when news reaches someone that the servers are no longer available, the job definitely starts to get interesting.
Let's take a look together at what such a day in the life of a software developer looks like. By the way, we assume an eight-hour day.
9:00 - 9:15 – Arrival
In most cases, the start of the day is unexciting. The computer prepared for the day's work. This includes opening the project in an editor and comparing it with the latest work status. Developers have special tools to share code with each other and to track and compare changes.
9:15 - 9:30 – Start of the day
As mentioned before, software development means a lot of communication. Therefore, checking new notifications is not left out. This includes not only the traditional emails, but also the message history in messengers such as Slack. All project participants keep up to date via these channels.
9:30 - 10:00 – Code Reviews
Where code is written, it is at least as important to review its quality. In programming, the four-eyes principle applies. Every change to the application is checked by at least one other developer. This takes place in so-called code reviews. Feedback is given on the implementation.
10:00 - 10:15 - Daily Standup
Most teams work in agile environments. Here, individual work packages are defined in fixed cycles, usually between one and three weeks. The progress of each sprint is synchronized in so-called ‚Daily Standups‘. Thereby, all developers and product managers meet for a very short meeting and give a status update.
10:15 - 12:30 - Developing a Feature
Working on a new feature requires a lot of concentration. During this time, new features are added to the application. This involves integrating the design provided and writing the appropriate logic.
12:30 - 13:30 - Lunch break
Where a lot of mental work takes place, larger breaks are inevitable. Therefore, it is quite common to have a more debauched lunch break as well.
13:30 - 14:00 - Debugging a problem
Oh. After the break, a message comes in that a function in the application is no longer working. Therefore, debugging is on the agenda for the next 30 minutes. This is the process of tracing individual errors and understanding their origin. Luckily, it is nothing major. Only one configuration was set incorrectly and no users were affected.
14:00 - 16:00 - Further development of a feature
We continue with the feature that was started in the morning. During the implementation there were minor questions about how the application should behave in certain scenarios. Therefore, a short consultation with the project managers is held via Slack.
16:00 - 16:15 - A small break in between
After the intensive work on the application and small refactorings, which are restructurings of the code, a small break is necessary.
16:15 - 17:00 - Pair Programming
During the break a colleague has knocked. He is stuck at one point and wonders what’s the best way to solve the problem. Instead of getting lost alone, a Pair Programming session is held. Here, at least two developers collaborate to solve tricky questions or problems in particular together. The big advantage here is that really good solutions can be worked out relatively quick. Especially by the union of the knowledge.
17:00 - 17:45 - Completion of the feature
The last moves of today's feature are being finished.
There are still a few parts that need fine-tuning and testing of the execution.
17:45 - 18:00 - Communicating work status and closing time
At the end of the day, the code of the new feature is brought into the code management. Before it's time to call it a day, the product owners receive a message about the current status of the work.
Depending on the role and position, priorities obviously shift. Team leads spend much of their time on management activities. For developers just starting out in the profession, the individual learning phases are more pronounced.
Variety is part of the job.
As you can easily see, the everyday life of software developers is very multifaceted. Stubbornly typing code into a computer is no longer the case. The development of digital products involves a great deal of collaboration and communication. Especially in more complex projects.
Continuing education as a constant companion
Every project, every feature, even the smallest change can be a challenge. Therefore, it is indispensable to constantly educate yourself. This often happens all by itself. Through large communities, like Stack Overflow, questions and answers to many problems are collected together.
While working on a feature, new knowledge comes to the developer bit by bit.
Location-independence is not a problem
Our prototypical day has made no assumptions about where to work. This is no longer necessary at all. Nowadays, a lot of teams work location-independently and are spread all over the globe. Remote work is the new standard, and so it is with prepend.
Last but not least
As mentioned at the beginning, every day is highly individual. It is important for us to show that with the job the focus is not only on programming. Quality assurance, communication and bug fixes are at least as important.
With this in mind, Happy Coding.
Thanks for reading. If you found the article helpful, feel free to share it with your network. We put a lot of work into our content and it would be nice to reach many people with it.