One of the first questions anyone considering a career in technology should ask is ‘what training do I need?’. Once you’ve sought credible advice, you’ll likely ask; ‘what does a regular day look like?’. Zupa loves innovative software, so we asked Software Developer James Privett to answer both questions and tell us what coding skills he uses across a normal day to build lifestyle apps and platforms to manage businesses – all within an Agile environment.
08:30 Having walked about 10 minutes from the local train station to the office, I get in and my immediate priorities include climbing the three storeys of stairs to my desk to plug in my laptop, log in, and get to the coffee machine. Once logged in I usually check out JIRA to see how the Sprint is looking and reacquaint myself with my current tasks.
09:15 All the different teams in the company have their own ‘Stand up’ morning meetings. This is a time where we take turns telling the rest of our team what we did the previous day, what we are planning to achieve today as well as highlighting any problems or issues that we think others may need to know about or could possibly help with.
09:30 I grab my notes from the ‘Stand up’ and head to a second meeting called the ‘Scrum of Scrums’. This is where spokespeople from all teams get together to reiterate the news from the ‘Stand ups’. This is a good place for issues to be escalated to other departments where necessary, as well as news to be taken back and shared with the rest of the teams. Essentially, we are communicating our team’s work throughout the company daily. This is valuable when working iteratively on new projects, (things can change quickly) so instead of fighting workflows we embrace it and continually communicate throughout the process.
10:00 I am back at my desk. Typically, if I am in the middle of a piece of work from the previous day I will want to jump in and carry on. This can take a few forms though, it could be something that I am working on alone, with someone else practicing Pair Programming or perhaps researching or ‘spiking’ as a team. Alternatively, I check out our issue tracker JIRA again to see if there are any code reviews that need to be done.
We begin Sprints with a Retro. This meeting covers everything that went well (and didn’t) and leads to suggested improvements (Actions). We also have a company-wide Show & Tell demonstration of new product features. We operate using a ‘work from the right’ philosophy, this enables us to help others get their work done asap and provide value up front before starting new pieces of work. Given the many technologies that we use; React.js and Redux, ASP.NET Core 2, Azure, Octopus and Git to name a few, it is important for us to knowledge share as much as we can. This benefits us two-fold. Firstly, it enables us to all learn new things and strengthen our skillsets as developers; secondly we don’t silo information as this would create software from a singular viewpoint.
12:00 Lunchtime! Our team usually have a sociable walk around town, personally I enjoy getting out and exercising every day.
13:00 Back to work. We operate in small sub-teams of 3-4 people which can change on a Sprint-by-sprint basis. As such what we are doing depends largely on where we are in our Sprint. At the beginning of the Sprint (after the Show & Tell) we’re usually huddled around whiteboards to design solutions. If it’s the middle then we’ll be programming/ pair programming, ‘spiking’, code reviews and deployments. Towards the end (often when teams have completed their Stories) they will continue to help the other teams complete their Stories. This is all done in an iterative way to remain as Agile as possible.
17:30 Update JIRA with where I have got to. I quickly catch-up with the rest of my team to make sure they’re okay and then it’s a walk back to the station to head home.