🐓 The Daily Life of a PROGRAMMER

It’s Monday morning, you’re a software developer and you have to go to work.

I’ll tell you how the day-to-day of a programmer is like.

Categories
IT Sector and Employment

The Daily Grind of a Software Developer

It’s Monday morning, the sun is rising, and just like every morning, the birds are belting out the latest hits from the trees. Unfortunately, for some of us, this new dawn signals yet another spin on the relentless wheel of the working world.

YouTube player
This video is in Spanish, but you can activate the English subtitles.

Mondays mornings, programmers like you and me dive back into the work routine after a weekend away from the screens.

Since there’s no escaping the 8-hour workday, why not try to make it as bearable as possible to enjoy this job we love so much and have time for other aspects of our lives?

I’m Charlie Brown, a software developer, and I want to show you how I organize my time during a workday, the tasks I tackle each hour as a programmer, and what my feelings are after years enslaved by the grind.

Let’s get started!

(06:00 – 09:00) Carlos’ Time

Everyone’s different, and I know people who swear they’re more productive at night, but honestly, I find it hard to believe. Let me explain.

Day and Night

Nighttime has a negative connotation, in my opinion, and rightfully so. If you have anxiety, fear of death, or even a fever, you’ll notice spikes in discomfort when night falls and you go to bed. Besides, in many countries, it’s not even safe to go out at night because that’s when crime rates soar.

Character crying in bed.

However, when a new day begins, all the problems you had when you went to bed have disappeared. You’ve recharged your batteries sleeping, and if you got stuck the day before programming a feature for hours, you have a fresh chance to find a different perspective to solve the blockage.

Cow and Chicken dancing.

Overall, I feel alive and happier in the morning, and in that state, my mind works better for anything.

Make Yourself a Priority

I believe it’s reasonable for me to be my priority in life. So, although I haven’t always done it, lately, from the moment I wake up at 06:00 until 09:00, I dedicate three hours of the day to myself when I have the most energy.

Johnny Bravo dancing.

During this part of the morning, depending on the day of the week, I do one of the following two activities:

On Mondays, Wednesdays, and Fridays, right after getting up, I head to the gym and do a full-body weightlifting routine, with four sets of twelve repetitions (4×12) per muscle group, which takes me almost two hours. Once back home, I swing by the supermarket to pick up anything I need and shower before starting work.

On Tuesdays and Thursdays, I seize these three hours of clarity to work, with a smile, on my personal projects, content creation, or if I’m really tight on the deadline for the project I’m working on at the company, then I prioritize it and incorporate this time into the next time slot of the day, which I’ll talk to you about shortly.

In either case, I have a protein shake with water and two tablespoons of coffee for breakfast to start the day, since I don’t usually feel hungry at that time.

(09:00 – 09:15) Work Preparations

Before diving into programming, I like to clarify, in no more than fifteen minutes, any outstanding matters from previous days. These matters include:

  • Taking a quick glance at the calendar to remember any meetings scheduled for the day.
  • Checking the company email inbox to see if there are any emails or Slack messages from colleagues that require a response.
  • Reviewing the pull requests assigned to me by my colleagues for any of the company’s projects. Pull requests are changes in a code repository, aiming to add a new feature or fix a bug, created by one programmer and reviewed by another. Here, I review them, but when I’m coding, I’m the one creating them.
  • Lastly, I refresh the project tasks in my mind by opening the project task management software. We use Jira, to see the status of tasks and what I’ll be programming.

As you can see from these pre-programming steps, I stopped relying on memory for work years ago. I prefer to spend fifteen minutes reviewing everything in writing rather than trying to rely on memory, risking forgetting something along the way and ending up with a fried brain over something unnecessary.

The Setup of a Programmer

And we’re almost at the code, but let me briefly talk to you about my workspace and the tools I use daily.

Workspace

Until a couple of years ago, I hadn’t experienced back pain, but I vividly remember the day when, after a weekend of sitting for too many hours, I felt a twinge in my lower back, and since then, I’ve always had discomfort after sitting for a few hours.

Homer Simpson's spine.

So, for a year now, I’ve been using a standing desk to alternate between standing and sitting time, and it really helps alleviate my back. It’s true that standing has its own discomforts, but that’s why it’s important to switch between the two every two or three hours.

When I’m sitting, I use an Ikea Markus chair. It’s reasonably priced and comfortable, but, from my experience, there’s no chair that will change your life. You’ll need to combine it with a fitness routine, good posture, and breaks every few hours.

What Computer Do I Use for Programming?

A programmer’s computer is their main tool, but you don’t need a NASA rocket to write code.

Apple MacBook PRO 2022 with M2 chip.

I use a 2022 MacBook Pro with the M2 chip for programming. The first time I used a Mac was to develop iOS mobile applications, and since then, I’ve been in love with Apple products. Although I also have a Windows computer as a backup plan, just in case I need to rely on the old reliable.

What I like most about this computer is undoubtedly the battery life, which can last almost an entire day of use.

As for accessories, I have a humble extra monitor from Lenovo, 23.8 inches, which cost me a hundred and a few euros. I don’t even find a significant difference in my productivity when using an external mouse or keyboard compared to the Mac’s built-in ones, so I prefer to work without makeup. All-natural.

The Integrated Development Environment (IDE)

To wrap up the tour of my setup, let’s talk about the Integrated Development Environment, or IDE.

Visual Studio Code Extensions.

Currently, I hold a position as a frontend developer, so I work with HTML, CSS, and JavaScript. Mainly with React and Angular, but after so many years, all frameworks feel quite similar to me, and it doesn’t take me much time to learn to develop with them.

For working with these technologies, the best development environment you can use is Visual Studio Code. And I’ll give you a few reasons why I think so:

  • Visual Studio Code is a Microsoft tool. So, updates to fix bugs and add features are more frequent than in any other IDE.
  • It’s the most widely used development environment with the largest community, making it the one with the most available extensions.
  • And lastly, it’s a free tool.

Visual Studio Code has become a standard in the web development scene. It’s not worth complicating your life by using lesser-known tools just to be different from the rest.

(09:15 – 12:00) Programming – Round 1

With the task I need to program in mind, I put on my headphones, choose a metal or rock playlist on Spotify, and start pounding the keyboard.

American Sniper.

During this first three-hour programming session, I’m full of energy, so it’s the time of day when I make the most progress.

Implementing a Design

The job of a frontend developer is to build the visible part of a website, so everything we do revolves around a design with the final appearance of the page we want to build.

One of the most commonly used tools for sharing the layout of a website or application in real-time between the design department and developers is Figma.

User interface design in Figma.

The design team prepares, for example, the login page in Figma, and when it’s ready, I translate it into functional code. This is where having two monitors makes sense for me because I can have Visual Studio Code on one screen for writing code and a web browser with the final design in one tab and a preview of what I’m doing in another.

When the design is OK:

  1. I add functionality to buttons and other interactive elements of the website to connect them to the backend.
  2. I create a pull request on GitHub with the task identifier.
  3. I update the task status in Jira so the rest of the team can see how the project is progressing.

With this, we would have the login page finished. So, we choose the next task, whichever is more prioritized, and go through this cycle again until 12:00, when the time to take the first break arrives.

(12:00 – 14:00) Programming – Round 2

After disconnecting for five or ten minutes, the bell rings to start the second round of programming.

During this second round, the level of focus has considerably decreased. So, while I continue solving programming tasks, I take the opportunity to ask the rest of the team any doubts I have about the design or the backend API that I need to connect the frontend to.

Scrum, Daily Stand-up, and Project Manager

At 13:30, we hold the famous daily stand-up meeting, which lasts no more than five minutes, to give a summary to the project manager of how we’re progressing with the tasks, if we have any issues to resolve, or any other reason that might affect the project’s delivery date. But let’s talk a bit more about the project manager.

Project Manager micromanaging.

The project manager is the person responsible for ensuring that the project, likened to a ship in this metaphor, reaches its destination smoothly and that the client is satisfied with the delivery date and the state of the project.

The project manager’s role may sometimes seem like an elongated shadow chasing after the programmers to investigate what each one of them is doing. However, in my experience, this perception arises among programmers when they start falling behind on tasks because they slow down their work pace, or the task in question had an estimated development time that was too short.

The project manager’s job is to ensure that the project progresses smoothly, and to alert them of any delays, you have the daily stand-ups. So, be transparent about what you’re doing, and you’ll find a friend in your project manager.

Woody and Buzz Lightyear friends.

After this mini-meeting, as usual, we’ll continue programming until it’s time for lunch, from 14:00 to 15:00.

(15:00 – 18:00) Programming – Round 3

If life were a video game, working right after lunch would be the final boss.

Dark Souls Final Boss.

With a full stomach, we still have to tackle a three-hour third round of programming. So, it’s a good time to raise your desk and stand up because if you get too comfortable, you might end up falling asleep.

The key feature to successfully complete round three is your professionalism. Anything you don’t finish today, you’ll definitely have to finish it the next day in a rush and stressed out.

Prepare yourself a coffee, choose a playlist that motivates you, and make that final effort to finish the workday without any pending issues.

Tomorrow Is Another Day

After finishing work, after twelve hours of being productive, all I want to do is sink into the couch and watch some series until dinner time. Right now, I’m hooked on Dexter, although the series takes a terrible downturn when it reaches the third season.

Close-up of Dexter.

And yes, I confirm, I don’t have a social life during the week. From Monday to Friday, it works best for me to enter focus mode and turn into a Korean soldier rather than hanging out and having a laugh with friends.

I must be one of the few programmers who actually codes while telecommuting because the rest of the videos I’ve seen on this topic were basically about cooking, eating disgustingly, and petting cats.

Anyway, I’m Carlos Sala, a software developer, and see you soon!

Carlos Sala Samper

Handmade software.