I’ve been told that software engineers are a mysterious bunch. I suspect that even my own family doesn’t really understand what it is that I do every day. Too polite to probe further, they stay quiet. I feed and support my family, take vacations, and seem to enjoy a good life; people close to me reason that all must be well. Here’s my take on life as a software engineer for those that are too shy to ask.
From Chaotic Morning Commute to Quiet Campus in Electronic City
The morning commute for people who live in the neighborhoods surrounding Noida, India is going to be pretty much the same whoever you are and wherever you work. We know traffic is snarled and difficult in the morning and that it can take up to an hour or more to get where you want to go. But the morning commute is probably as stressful as my day gets.
Once I get to Noida Electronic City and the “Graphix” building, which is where Highlands is located, the day improves, in large part because the office is located on a quiet, 5-acre campus well away from the noise and chaos of Noida. For the software programmers and engineers at Highlands we have the flexibility to start the day at variable times, anywhere from 9:00 to 11:30 am, depending on how late we worked the previous day. We are granted some discretion in how we structure our workday, a freedom that is greatly appreciated.
A note on the building itself: A few have compared it to the high-tech office buildings of Microsoft or Google. It is one of the newest buildings in the area, with floor to ceiling windows, large open spaces, filtered air via Blue Air Systems, and other amenities that I’ll discuss shortly. Highlands occupies the entire 3rd floor. The programmers at Highlands have state-of-the art equipment, two to three computer monitors, and large desks for their own use. The programmer’s workspace doesn’t have the feel of a coding mill or factory; it’s more like a low-pressure think-tank or creative space found on the campus of a university. Some people have headphones on as they work to play music to help their concentration and enjoyment.
Once I arrive at work, I review the notes I wrote at the conclusion of the previous workday. These permit me to get up to speed early on what tasks I need to tackle first. I also review the benchmarks that were set at yesterday’s stand-up meeting and assess what I need to do to prepare for the day’s meetings. I review and refine code until the stand-up meeting, which takes place daily around 12:30 pm.
The Stand-Up Meeting is at the Center of a Programmer’s Universe
Here’s a key insight into the spark that fuels the direction of a programmer’s day: the stand-up meeting. The stand-up meeting is integral to the agile development process (more on this in a future post) and nothing much is accomplished in the way of coding without it.
Hard Work, Midday Break at a Cricket Field and Flexibility
Lunch at Highlands can be anywhere between 1:00 and 2:00 pm. We have a cafeteria in our office and a full restaurant and coffee bar on the top floor overlooking the city. People can also take their lunches up to the rooftop terrace as well, which can be pleasant when the weather is good. Did I mention that everyone’s birthdays are celebrated at Highlands? We eat plenty of cake, and we eat it pretty regularly.
The remainder of the afternoon, which can stretch to 7 pm or possibly later at times, consists of carrying out the goals outlined at the stand-up meeting. Programmers work independently, writing or refining code for most of the day. The daily stand-up meeting, combined with a company culture that depends on team effort and collaboration, means that we check in with each other regularly to see if there is need to change direction or alter course slightly.
If we have a particularly intense morning due to deadlines or other factors, we take breaks as necessary. We are encouraged to unwind in the cafeteria or leave the office and walk the campus grounds for some stress-release; perhaps even play a short game of cricket at a nearby field.
The job of a software engineer at Highlands is not as mysterious as it seems. We are intensely focused on the mission at hand, which is to write code for software that tackles important engineering tasks. Our software is used on very important engineering projects throughout the world and it feels good to be working on something that has such important global implications. In my opinion, working as a software engineer is one of the best jobs you could have at Highlands.