Is there more to a software engineer than the stereotypical mundane geekdom? What makes them tick? Do they still see things in 8-bit, monochrome or is there a tinge of color? Basit Saeed shares some insights…
Software engineers (or programmers or developers or wizards with keyboards) are super important in this modern world of ours. The systems they build are fundamental to the way we communicate, travel, and run our businesses. But not much is known about this breed of engineers, which is why I decided to allow you a sneak preview into these mysterious lives. Come and have a look at a typical day in the life of a software engineer.
The alarm sounds. The screen gets pushed to the left and a calculated decision is made to snooze for another 5 minutes. Should I? I talk to myself. I rationalize options and determine what the best course of action would be. Because of the nature of our jobs, most software firms don’t have a strict 9-to-6 time restriction. I have the option of reaching the office by 10AM and complete my work, however I don’t do that.
My first task upon getting up is to check the download status of a new build of ArchLinux, a variant of Linux, on my Raspberry Pi. Playing with different Linux builds are just one of my many nerdy hobbies and I use Raspberry Pi for huge downloads as it saves a lot of energy. The mini computer runs on just 5 Volts.
At work, I take a sip of tea and turn on my computer. Many of us have a poison we stick with. It’s either tea or coffee or an energy drink. For me, it really depends on my mood though it’s mostly tea or an energy drink depending on the weather and other conditions. Taking another sip, I sift through the emails. There are a few bug reports by QA, client documents, event invites and more. I mark unimportant ones and would respond to them later. A notification pops up – it’s time for a stand-up meeting.
The culture of stand-up meetings have made its way into our industry. These are gatherings that take anywhere from 5 to 20 minutes depending upon the size of the team. So, I explain what my day involves, which includes looking into and solving the bugs reported by QA and reading the specifications document a client has sent. Oh, did I tell you we have another meeting set up to discuss that? But that’s different. It’s going to be with other developers and architects where we’re going to discuss what technology stack will be used to in this new (sub-) project. Those discussions are always fun.
Back in the chair and I notice two Skype notifications. Skype is almost ubiquitous with engineers. We have general groups, team groups, developer groups, 911-groups, and whatnot. Although my employer will be moving to Slack, Skype remains our preferred choice of communication within the firm. “Coming to the balcony for smoke?” is the message on-screen. I initiate an automated unit test, grab my pack of cigarettes, lock my computer and walk towards the balcony. A couple of developers there already and a heated discussion has already begun on Apple’s recent stock hit. Look at that – my smartwatch gets a notification that I have 5 minutes before my next meeting. I take a final drag and go to the conference room.
An hour has passed and we’ve made some great progress. Big decisions have been made down to minute details. This is a great start to the new (sub-) project. These sort of meetings are always interactive and interesting. If you aren’t prepared, you put the entire project at risk. Focused meetings like these help to make sure everyone’s updated and on the same page. Ask any software engineer – if you a project fails, you can usually trace it back to bad planning.
It’s lunch time so I Skype a few colleagues and we lunch. There are companies that expect you to order lunch, and then you have mine, where the food just comes to us. where you have to manage yourself, mine provides me lunch. It’s Friday and Biryani is on the menu. After lunch and a little bit of conversation, I’m back at my workstation. Those tests cases must have run by now.
I’m right; they have. I study the reports which look satisfactory and email them to my project manager. It was time to debug so I grab an energy drink, put my earphones on, and dig into the code. I’m crushing it all over the place and making great progress. My concentration is intense and the isolation helps the focus. I’m in my groove and then I feel a tap on my shoulder. I take my earphones out only to find a QA standing beside my seat. “I don’t understand a business flow. Can you tell me what it is?” “Umm.. it’s in the document.” “Can’t you tell me?” “*sigh* okay! Give me a few.” And that’s that. Disturbing a creative worker has its downside. I have lost my rhythm and like sleep, it needs time and effort to come back.
It’s almost the end of the day and I’ve debugged all that I targeted for today. I actually got through everything on my ToDo list. “Holy sh**!” yells a developer. “Basit, check this out, dude!” he calls out to me. I go to his screen and almost mimic his “Holy sh**!”
Someone had uploaded a project and source code for a filesystem based on the digits of Pi onto GitHub. We read through the code completely mesmerized by the achievement. We forked (copied) the project and went on to building it on our PC.
“Do you have anything to do this evening?” asks my colleague.
“Who cares?” I reply. “This is gold.” We continue as the clock moves just past 6:30 PM on a Friday evening. This is so cool!
About the Author: He’s the irregular geek.He develops software passionately and professionally. He’s crazy about tech, a huge gadgets enthusiast and occasionally blogs about tech. He tweets at @basit_saeed. (Author photo credit: Basit Saeed)