A day in the life of a Software Developer
16 April 2013
16 April 2013
When people ask me what I do, and I say I’m a “Software Developer”, they seem fairly impressed yet not entirely sure what it means. Even my parents still can’t quite grasp what it is I do. They know I’m good with computers and also useful for any technical issues they have (a hazard of the job, much like a doctor or car mechanic I imagine). So for both their sake and yours I’ll attempt to describe what happens in a day in the life of a software developer.
First cup of tea of the day, the start of many…
I’m very lucky. I not only have just a ten minute cycle ride to work, and this cycle ride is along the seafront, but we also have flexi-time at Madgex which means if I need to come in late or leave early I can start the day pretty much when I like. We can also work remotely from home if we need to.
I grab a piece of company supplied fruit from the kitchen, make a cup of tea and head to my desk. Unless it’s Friday; then it’s just the tea and an impatient wait for the cakes to arrive. No wasting valuable cake space with healthy food on a Friday.
As soon as I get to my desk I switch on my pc, log in and then check if any urgent emails need dealing with. Then I check our site monitoring and error logs to make sure there have been no issues during the night that need dealing with.
For my job it’s important to stay on top of technical happenings and news so I usually catch up on a few RSS feeds that I subscribe to during this time too. There is always a new or better way to do something in software development. Software tools and languages are constantly evolving and you have to keep learning new technologies and techniques. Madgex pays for us to have access to an online developer training library so I might spend some time doing a course in a new technology that I need for a task I’m working on, or I’ll do a course which I think might be useful for future developments.
Madgex powers the Guardian Jobs platform and I am one of the developers who work on the project. We follow a SCRUM methodology and work in three week sprints. What this essentially means is features that are to be added to the Guardian Jobs website are broken down into lots of small tasks that can be released to the live environment every three weeks. We spend two weeks writing the code to implement the features and then the final week is spent testing the changes we’ve made, fixing any bugs that have been found, deploying the features and then getting ready for the next three week sprint.
Depending on where we are in the sprint defines what task I do at this time of day. If this is a sprint planning day we get together with the Guardian product manager and go through the list of tasks that are to be completed in the next sprint. We have to estimate how complex each task is by giving the task points; 1 being not complex at all and 8 being very complex. The higher the points the longer the task will take. We have a certain amount of points available for each sprint so the Guardian product manager prioritises the tasks so the critical tasks are done first.
Lots of options in Brighton. If it’s a nice, sunny day I usually hit the beach for a spot of people watching, maybe even a swim in the sea. If it’s not so nice I go for a walk around the shops and then eat lunch at my desk. Sometimes we get together and go out for lunch, especially if someone new has started or there is a birthday to celebrate. It’s good to get away from your computer and quite often if I’m struggling with a programming issue I’ll have a eureka moment whilst I’m out and about. We also have lunchtime yoga sessions at work so if I’m feeling a bit stressed I can go and do some sun salutations and come back to my desk nice and refreshed.
Back to more of the same – cup of tea and writing code to accomplish the task I’m working on in the sprint or perhaps fixing bugs if we’re in the last week of the sprint. I might also have day to day support queries from the client to deal with. I like to wear headphones and listen to music as I work. It helps me settle into “the zone” and concentrate on what I’m doing. Time goes really quickly when you’re writing software as you’re so engrossed in what you are doing.
Quite often we work alongside the designers. They create the HTML code (which gives the website its look) and then we connect it up to the back-end code, the bit that makes the site work. I also work closely with the other developers on the Guardian project and also the developers that work on other projects; we bounce ideas off each other or I’ll ask their opinion on how to develop a certain feature. There are always so many ways to accomplish the same thing in software development so it’s good to work with your peers to get a different perspective or to just sanity check your work.
Once I’ve finished a feature, and tested it thoroughly, I deploy it to our test environment so it can be tested by our QA resource and also so the client can check it’s what they asked for. I also run an automated regression test which goes off and tests the main functions of the site to ensure I haven’t inadvertently broken some other part of the site. It can happen.
Every couple of weeks all the Madgex developers get together to talk about what developments are going on, any interesting future work coming up or someone will give a talk on something they’ve learned which might benefit the rest of the team.
Another 10 minute bike ride home or if there is an interesting technical event going on I might go to that first. Brighton has a brilliant tech community and it’s really good to get involved and be inspired by clever, creative people.
I deploy all the new code which has been created, tested and signed off by the client in the sprint to the live servers. We do this every three weeks and in the evening when the site is a bit quieter so fewer users are disrupted. If there has been a database change we’ll need to bring the site offline for a couple of minutes so we can update it. Once all the code has been deployed I’ll check the site monitoring and error logs to ensure we’re back up and running correctly and have a quick run through of the site. Then it’s time for a well-earned cup of tea and some relaxation time ready to start the next sprint the following day.