Working in a post-waterfall development company

December 25, 2013

I’m an avid Hacker News reader, and in doing so I came across one of Aaron Swartz’s old blog posts called Office Spaces. In essence, he talks about how we have a terrible routine where we are always surrounded by “grey noise” which blocks us for actually doing work. This puts me in an odd place because I feel exactly as how he described the office space, a place where you go to not get work done because we’re constantly travelling there, bothered by others at work, or distracted by a broad range of things.

I recently finished an internship at BlackBerry and I’m fairly pleased with what I’ve accomplished in the past 8 months. A background of the work culture needs to be understood before I can go any further.
At this time, the company isn’t in the best financial standing as it was only a few years ago having lost massive amounts of the North American ecosystem to competitors. One of the reasons this may have been, because of the slow release cycle that was followed all these years that come to getting a major release out the door. Since then, they’ve moved to an agile work flow, i.e. fewer meetings, more development. ReadWrite has a nice article about enterprise needing to change to this model. This change is still a work in progress so it’s a half implemented development process which leaves you wanting more. You still get the feeling there are places in the company that don’t like the idea of working how you please as long as you get the job done. Maybe it’s years of having developed the habit of working from 9 to 5. This may work in some companies, but software development is definitely not one of them.
Keeping this in mind, I tried to follow as little as possible of the norm, with the sole idea of getting things done even if it meant bothering people daily. I’m not a moron, I wouldn’t be pushy if I knew someone was working on something more important. You can easily see over time who those people are, and who aren’t. Even through the short time of my internship I felt the pattern settling in where I would slow down and follow a laid back schedule. This may have been because I started realizing my internship was coming to an end, but there was more to it than that, since I was fully aware of this being an issue, I chose to forget the days and not focus on the time left. Luckily, I was in one of the teams that were open to a flexible work timings and giving you, the developer, more control on what to do. This made a huge difference as well on how I would work. Instead of working on what others thought were more important, I was able to fix bugs that I felt required more time.

Another interesting observation I came across was while I was sick. I was too sickly to get to work (which takes about a hour just going there), so I decided to work at home. I was staying at my parent’s place and the entire house was empty since everyone else had gone to work. I sent the occasional email from my phone while still in bed with one eye barely open and then went back to sleep. Later on, I cleaned myself up and since there wasn’t anything urgent I launched Steam and started an early afternoon DotA game while my work laptop was starting up and settings up my environment. I was amazed at how many bug fixes and early feature implementations I was able to accomplish at such an extraordinary speed. Having no one around, gave me a pressure-free work environment. I screwed around for some time, grabbed a snack every now and then without annoying others with my Cookie Monster styled eating habits. The point I’m trying to get at, is that I wouldn’t be able to get half of what I accomplished that day than I would have if I was at work. I would constantly need to get up for something or the other, which breaks your entire focus. It just all feels like a waste of time. I’m not trying to say that everyone should work at home and we’d all be better off, but the work environment should be similar to one that doesn’t come with the extra baggage and stress.

You start to think of the what your ideal work place would be, and I don’t even have anything concrete thought up yet. What I do know is it shouldn’t be a hassle to get there, work timings and mandatory meetings shouldn’t exist, and what ever else management can think up should be ignored. Dan Pink mentioned in a TED Talk that Atlassian started a program called Fedex Days (renamed to ShipIt Days) to help their employees motivate themselves and come up with something new. He has a similar take on this as well.

Coming out of this, I still feel I could have accomplished more with the right mindset. BlackBerry was an amazing work experience and I would definitely consider going back there. This post is mainly a reminder for myself that I can always do better, and that the feeling of lazy satisfaction is what will slow me down. Also, like Aaron mentioned, I should start blogging more, just to keep myself in check - a reminder to learn something new and then confirm it, but writing down what I learned.

I’ll be going back to university again come January and there’ll be a time where I try realize that I’d prefer this work schedule rather than what I’ll have then.

Related link: No Managers: Why We Removed Bosses at Treehouse

Discussion, links, and tweets

I'm a software enginer that's worked on various Android projects for a while now. If you'd like to follow me on Twitter, I don't always post about tech things.