A few days ago, I was asked, how my day-to-day job looks like. And I thought, that might be a good topic for another blog post.
I work as a developer for about 10 years now. First at a small start-up, then as an IT Consultant and for about two years now at a chemical company from Germany, where I was working as Consultant for the three years before.
My job is to automate processes around the management of about 60000 smart device (phones, tablet and recently hololenses). Starting with the order process and ending with the termination of the phone and the service for it.
I work a lot with Azure Active Directory, Intune and since we decided to move everything to the cloud, I can play with other Azure Cloud Services (Web Apps/APIs, Azure Functions, Azure SQL Databases...).
I am also responsible for a monitoring solution, that involves the head count in factory plants, for emergency forces. Basically they need to know, whether they can let it burn down in a controlled fashion or if someone has to enter the flames to rescue someone else. I also help from time to time with the ongoing changes for some other software in the company, which I already wrote in the three years before I was hired as a full time employee.
To be frank: Most of the time it's boring. But I also guess, so is any other job after a while. But from time to time, it's pure fun, very interesting and even during the boring parts, I am creating. And I have the chance to get paid, for something I really like - coding.
Like any other person, I have to get out of the bed in the morning and - if I am not working from home - to the office. We have very flexible times at our company, but I try not to start later than 9:30 am. Working 8h with some breaks in it makes it between 5:00pm 6:00pm until I leave for home. Most of the time it's getting later, because I am in the middle of coding something, which I don't like to abandon in it's current state. But we have a flexitime account, so I get the time back later on - leaving ealry another day, having an extra vacation day for every 8h accumulated and usually short Fridays.
You would not believe it, but most of the time I am talking. As a junior dev it was not that much, but since I am the Senior Dev at our team, people tend to come to me, asking for some input: be it my opinion on something or plain advice. Also there are meetings plus phone calls or emails, when I am doing some 3rd level support. The amount is around a 3rd of my time. There are days, when I only talk and not code at all, but there are other days, when I have the time and I can do, what I like most, tackle a complex challenge in code.
Those days, if you see me, you might think I am not doing anything, because this is the time, when I look mostly out of the window or at that spot on the wall - thinking about, how to approach a specific problem.
- What data do I need?
- Where can I get it?
- How can I get it?
- How is it supposed to get together?
- How can I put it together?
- How can I do it all with the minimum of code?
- How can I fit it into the overall architecture/design?
- Would other developers in the team benefit from it?
- Who do I need to talk to, to get more information about X?
This is about 25% of my time.
When something forms in my head, I start prototyping. Googling and visitng stackoverflow, if there is something I don't know yet or I am just not sure. Mosty these days, it is about either some obscure error message or about the exact behavior of a specific API I'd like to use. And when the prototype works as desired, it is time for refactoring and integrating it into a solution.
This takes about a 3rd of my time.
In the last few percent there is always something. Nothing specific but many different small tasks. Just yesterday I managed to decouple my local git repository from the one on the DevOps Server.
First of all, I am not doing any work. My mobile phone is either in the office or switched off. It kind of defies the purpose of a mobile phone, but I am reachable during working hours and when I am off, I am off. This holds also true (and more importantly so) for vacations. And I think, it is very important for anybody's mental health, to leave the work at work.
I put emphasis on this, because I often read or hear people (even my wife) who stay connected to work with their mobile phone also in the evening or during vacations. PLEASE DON'T! Do it for yourself and the people around you.
Since I work mostly with my brain, I try to relax in the evening. So no private coding, no heavy reading. Nothing too heavy on the brain!
My own homepage is still under construction and the Let's-Encrypt-Certificate is already renewed twice. If I had an easy day (more talking, than coding) I like to dabble into F#, just because I like the paradigm and so far I also like the language. And from time to time, I even write a blog post on dev.to.
Mostly I just like to spend some time with my wife, talking about her and my day or planning our next weekend/vacation. Since we both studied the same (Economics with a major in Marketing), on rare occasions, we tackle some of her problems at work.
And last but not least, twice a week I try to hit the gym and on the weekend we go for a run together.
What does you day look like?