A Day in the Life of… a Senior Software Engineer — .NET

Graham Fearn
BGL Tech
Published in
4 min readMar 21, 2019

I have been employed in the Business Technology department since December 2015. In that time I have seen the department go through considerable change especially around our implementation of Agile. I thought it was high time that I started to blog about some of my experiences in my day-to-day work.

Photo by Charles 🇵🇭 on Unsplash

20th March 2019

As I was travelling to work this morning I finished the podcast that I started listening to yesterday from Agile for Humans titled “AFH 105: Agile Leadership and Management with Dave Dame”. It was quite an inspirational podcast as Dave discussed his experiences as an Agile management coach with Cerebral Palsy working for medium to large software and IT companies in Canada. Oddly enough the two biggest takeaways I got from the podcast were nothing to do with Agile but life lessons — 1) Senior Managers and Leaders within large organisations have earned the right to be where they are and don’t take kindly to being told they are doing things wrong! 2) If your calendar is rammed every day and you have limited time to do your work — prioritise the meetings by only attending those that add value to you or that your presence adds value otherwise cancel your attendance!

I had been given the responsibility of being the hiring manager for .NET Software Engineers in January and the department is currently aggressively recruiting to build new Agile software delivery teams in our Sunderland office. I was conducting a half hour first stage interview followed by a one and a half hour third stage interview — both in the morning. So I re-read both the applicant’s CVs figuring out what questions I would be asking and reviewed the technical test that the second applicant submitted. The combination of preparation and conducting the interviews took me up to lunch. Immediately after lunch was a meeting with some of the other .Netters in the department to discuss the technical requirements of adding a new brand to our white labelled sales and service website platforms. I had already prepared for this meeting during my lunch break with points that we needed to consider such as ID ranges, affinity/mask codes, source control branching and merging strategy, the questions we needed to ask our business analysts, new subdomains that would need setting up, which servers would be used to host the different environments we have and so on. I setup a page in Confluence for us to fill in as we got answers to our questions. I would be joining the others with the development from the next sprint.

Last year I headed managed the software engineering apprentice and graduate programmes in the department, this lead me taking on two new direct reports and technically mentoring two others. Back in December, I was asked to lead a new project to develop an internally used website to monitor how the Agile development teams in the department were getting on by displaying various metrics in charts and graphs (the data coming straight out of JIRA). I thought this would be a great project for the graduates and apprentices to work on and an opportunity for us to do the development in ASP.NET Core 2.2 and how it could be done using TDD. This afternoon the team were mob programming to add a new metric to the website. The metric displayed was dependent on the selected sprint and agile delivery team. The list of sprints would be displayed in a new drop down list. I had previously spoke to them about implementing the observer pattern in the JavaScript (using pubsub) whereby the drop down list emitted the change event and the JavaScript handling the display of the chart listened for the event. They were struggling to implement it correctly so I sat with them, guided and explained how to get it working (whilst keeping an eye on the code they were writing adhered to our in-house coding standards for JavaScript and C#). Once I could see they were able to continue without me, I cracked on with the BAU changes I started yesterday that the Agile delivery team I am a member of is working through (standardising the NCD proof cycle) for each of our partner brands. This required me to write a few INSERT and UPDATE statements to adjust the content for one of our brands in the sales website content SQL Server database. I also updated our automated content tests to check for these content changes. This work took me to the end of the day and as I got in to the office early this morning, I was able to leave a few minutes early.

This is a typical day for me, working on stories and tasks within my Agile delivery team, helping my .NET colleagues, training and mentoring the apprentices and graduates, conducting interviews and having 1–2–1s with my direct reports. Next week I am attending a department wide event as the second stage of this year’s goals are presented and discussed. Also I have some meetings with the other Senior Software Engineer — .NET in the department to discuss a technical roadmap for the customer facing sales and service websites and tools used internally in the department. The roadmap will be presented to the Technical Lead Engineers in the department next month.

--

--

Graham Fearn
BGL Tech

A .NET Software Engineer with 15 years experience working in financial sector