Part one can be viewed here: I Hate Dev Work Part 1: Why I Hated Being A Programmer
A Day in the Life of An Application Developer
8:00 AM: A lot of code all looks the same, does the same, the only differences are in the order and the parameters needed, so you start your day doing what most developers would do (but would deny it) and what you are taught not to do. You copied and pasted the code you needed. Once you do that, then you go down the line making the small changes to the parameters, one word per line gets changed.
9:00 AM: You have a daily stand-up. An everyday meeting at 9:00 for 15 minutes. You get away from staring at the 20th time you have called a number rounding function or yet another “if” statement. Your “boss” talks the entire time telling you how great the team is doing before finally asking the team about status updates. He only asks half the team and then a conversation about football starts.
9:25 AM: 25 minutes later, because standups rarely fit into 15 minutes, you are again staring at your code and trying to remember what you were doing. Your mind is wandering and you are wishing it would be lunch time already. You finally start writing more code. You need yet another “if” statement, but of course you forgot to create a variable and have to add that in, but it needs to be populated with a value at the right moment so it can be added together in the hopes of passing the logic test.
10:00 AM: You realize you need to query the database and that means it is time to create a stored procedure and logic in the code to handle it. You need to get this information to show up in this spot at this time when a user does something… and now everyone in the room is talking and making it hard for you to concentrate on the logic. You decide to join in the conversation to kill some time.
10:30 AM: You and the other members on the development team have to meet with someone about a feature you aren’t even involved with, but your “boss” insists you might overhear something valuable to your work. You don’t, and the meeting runs late.
11:15 AM: Now you need to make a function call to the same block of code 27 times. Oh well, let’s see if you can sit there silently until lunch and think about the pathetic existence of your life and hope no one notices that you are not doing anything. You are a programmer, you have mastered the art of sleeping with your eyes open.
11:30 AM: Lunchtime! Now your “boss” is holding you up from leaving because he wants to take a few minutes to discuss something with the group. You silently think to yourself that you wish he would do that on his own time and not your lunchtime. He was the one who said you had to take lunch at 11:30 with the group, now he is holding you up from taking it. You just want to get outside and smell the fresh air. You didn’t hear a word he said because you were annoyed at the holdup.
12:30 PM: You are back at your desk. You start writing more code. The screen blurs in front of you as you question the life choices you made that led you to be sitting here. Yep, you messed up somewhere.
You start a conversation with your neighbor who looks like he is falling asleep. Every conversation with that guy turns to video games or Pokemon cards. Oh well, you aren’t sure what a Squirtle is, but you can pretend you are collaborating and not do any work for a bit to kill time in your day.
1:00 PM: You managed to finish the line you started at 12:30, and then you get productive. You focus yourself and for the next half-hour, you become a coding machine. You are plowing through that code, making major headway into the application’s progress. It almost looks like you did some work today.
1:30 PM: You have your standard afternoon meeting with the other developers. Your desk neighbor brings his Pokemon cards and for the first 20 minutes, half of your team is talking about Bulbasaur and Jigglypuff.
2:00 PM: For some reason, you are now in a meeting about things that have nothing to do with your work. Only one of the developers is talking, but he is clearly just trying to suck up and show off. This entire meeting was on the server upgrades planned for the weekend. They just wanted you here to be aware of the upgrade. No one was planning on developing code over the weekend, they could have sent an email.
3:00 PM: You grow bored. Your motivation is dwindling. You have just written a new function and now you realize you need that function about 38 times. So you copy and paste it where you need it, then go through and change the parameters. By the third one, you start slowing down. You need something different to finish your day or you are going to go insane from the tedium – and then you discover a block of old code with a note above it. The note just says, “?????”. You decide its best not to bother figuring out what that means.
3:30 PM: A meeting that might actually be useful to your work. In the end, you learn about something that could impact your code that they should have told you days ago. Instead, they just told your desk neighbor to begin work. It seems they were thinking he would automatically bring it up to you or you would somehow osmotically overhear him working on his own to get the feature done. All this collaboration and no collaboration seems to be occurring.
4:00 PM: You finally finished up those 38 function calls. You test it and it fails…
You decide that it is close enough to 5:00 PM that you aren’t going to worry about it today. You try to think of something else you can work on and your mind settles on some documentation. Let’s see, what can you document?
You can document the new stored procedure that you created earlier in the day. So you pull up some documentation on all the existing stored procedures. You go into the database server and look up the one you made. It is then that you notice the stored procedure you created earlier was already created by someone else previously and it wasn’t documented.
So now the system has at least two stored procedures with different names that do exactly the same thing. You close the document after adding in your own entry.
4:30 PM: You are eagerly watching the clock. You don’t want to shut your computer down too soon, it’ll make you look lazy instead of just someone who hates their job.
4:45 PM: You don’t want to be the first to start wrapping up for the day so as soon as you see someone else start shutting down you react with a bit too much enthusiasm. Your loud mouse and keyboard clicks can be heard in the now dead silent room. Your “boss” makes a joke about how hard you are working.
4:55 PM: You get up slowly, making a show of packing things up. It’s almost time to go home.
5:00 PM: You start power walking to the door but your desk neighbor is faster and bumps into you. You give him an angry look, still upset at him for not telling you about the code changes. You think about saying something and then your “boss” stops everyone from leaving to hold another impromptu meeting. You don’t manage to leave until 5:30 PM.
I am convinced that half the overhead of application development are the developers sitting there staring at their screen trying to force themselves to write another line of code very similar to the last line they wrote and the other half is meetings.
Anyway, I hate doing it professionally for a lot of reasons. I think this post isn’t long enough yet to explain all the reasons, but it certainly gives a good idea – programming is boring. It is boring and uninteresting work, especially writing it for large corporations with a lot of old code. In my early 20s, I had a factory job where all I did was sit and put plastic parts in a box and it was more interesting than software programming (it also paid more than my first full-time programming job).
Even when you encounter challenging logic, once you solve that logic you now needed it in 100 different spots and have to keep recalling that logic up. Makes me glad I chose a college major other than computer science and only had programming classes.