Experience
Soundtrap by Spotify
Software Engineer II. . Glasgow (Remote).
At Soundtrap by Spotify I have been involved in several key product-focused projects. One of my notable achievements was leading the project to build and release a new login and signup application from the ground up.
In this project, we migrated from Angular to React to align with Spotify's recommended technologies. The new application includes features such as email login and signup, third-party social login, password reset functionality, as well as robust logging and monitoring capabilities. It involved a significant transition from a monolithic architecture to a microservices-based approach, enabling greater scalability and flexibility.
As part of my role, I actively contribute to the technical documentation and write RFCs to ensure effective communication and alignment within the team. I also take the initiative to prototype proposed solutions, exploring different approaches to find the most suitable one for the given requirements.
In addition to my core responsibilities, I actively contribute to the overall improvement of our development process. I help set goals, plan work, write tickets, and conduct experiments to evaluate the effectiveness of solutions and enable data-driven decision-making.
BBC World Service News
Senior Software Engineer. . Glasgow.
The BBC World Service News application, known as Simorgh, is an open-source application that provides news in over 40 languages to an audience of around 456 million every week. As much as 88 percent of Simorgh traffic is generated by mobile devices and browsers, often in areas with poor network conditions or data limitations. It presents the team with a variety of interesting technical challenges to solve while also building and using experimentation with new features in order to increase user engagement.
One of the extra responsibilities I have taken on is being available outside of work hours to help resolve any issues that arise. Additionally, I am a BBC Accessibility Champion. As part of this role, I advocate for inclusivity in the development process, and test our products with various assistive technologies to ensure our products do not disable users.
Technologies I work with in this role include JavaScript, TypeScript, Node, React, CSS-in-JS, Google AMP, AWS, Elixir, Ruby.
BBC Global Experience Language (GEL)
Software Engineer. - . Glasgow.
Detailed UX guidelines and design systems are presented on the BBC GEL website. It was my responsibility to migrate GEL's existing Vue-based website, hosted on BBC datacenters, to a new one built for the cloud and rendered with React. In order to accomplish this, we utilised in-house services built on AWS. We also took this opportunity to improve the automated testing of the application as well as simplify the business logic.
Technologies I worked with in this role included JavaScript, CSS, React, Vue.
Scottish Television
-
Senior Front-end Web Developer. - . Glasgow.
-
Front-end Web Developer. - . Glasgow.
In the engineering department of Scottish Television, we developed apps for a variety of platforms, such as web, mobile, games consoles, and TV. I had many opportunities to test and evaluate different ideas and technologies all while learning and growing along with the brilliant team. This provided me with a wealth of experience that would be difficult to find elsewhere. A few of the projects I worked on included:
-
STV Player - This service provides viewers with on-demand and live streaming access to STV content. During my time at the company, the STV Player was available on a wide range of devices and emerging platforms, including FireTV, Roku, Samsung Smart TV and Chromecast.
-
STV News - The STV News web app and mobile app features local, national, and international news. The mobile app was particularly interesting as it was built on React Native, so the majority of business logic and UI can be written once. The time savings were especially evident when we implemented features such as analytics, ads, and rich live blog experiences for election and major sport events coverage.
-
Content management systems - As design and engineering resources were more focused on customer facing applications, internal systems were under-resourced, hence I took the lead to determine what requirements editorial teams had for each system. Using this information, I would develop prototypes of features for initial feedback and then iterate until each feature was highly effective and met their needs. In this way, we were able to write detailed user stories and build precisely what editorial teams needed to streamline their day to day activities.
Technologies I worked with in these roles included JavaScript, HTML, CSS, PHP, React, React Native, Next JS, PHP, Angular, Ember.
Barrhead Travel
Front-end web developer. - . Glasgow.
At the time, Barrhead Travel was one of the biggest travel agencies in the UK operating multiple websites with search and booking engines for tailored holiday packages, flights, hotels and cruises.
I would mainly assist in the development of the front ends while also learning how to develop the back end using ASP.NET MVC in C#. Initially, we developed desktop-only websites. However, due to the advent of CSS3, HTML5 and mature tools like jQuery, I was able to experiment with building rich and responsive web app experiences while also preserving support for notoriously buggy browsers. When I look back on my time there, I realise how valuable it is to have a knowledgeable mentor. It is important to me that the juniors I work with receive the same guidance I received to help them progress professionally.
Technologies I worked with in this role included JavaScript, HTML, CSS, jQuery, Knockout JS, ASP.NET MVC, C#.
Education
Glasgow Caledonian University
BA, Applied Graphics Technology. 2006 - 2010
Hochschule Esslingen - University of Applied Sciences
Erasmus Student Exchange, Computer Science. 2009
About me
Using best practices and established patterns, I work to write clean, testable, and maintainable code, something that I consider constantly and am excited to discuss with fellow engineers. I am experienced in both designing and developing new software from scratch, as well as managing and improving legacy code. I enjoy being involved in the entire software development cycle. This includes gathering requirements, prototyping and informing design all the way to planning and deploying software that meets business requirements, is performant, reliable, scalable and accessible. Using Kanban and Scrum methodologies for managing projects I work on has been part of my work experience for many years.
The environment I thrive in is one of collaboration and inclusiveness which fosters a broad range of skills and personalities. Knowledge and skills sharing, mentoring, pair programming, presenting, and effective code reviewing are all practices I promote within the teams in which I work.
My passion for making things, experimenting with technology, and personal development has always been strong. Every day I try to learn new things, hone my skills, and evolve how I think and act. It is for this reason that I regularly attend training courses, conferences and hackathons to learn from the best and stay informed of current industry trends and standards.
Having experimented with a wide range of technologies over the years, I am particularly adept at writing JavaScript and TypeScript for client-side and server-side applications, especially React and Node to develop cloud applications with continuous delivery and automated testing. Additionally, when given the opportunity, I am willing to dig in and help out wherever there is a need, even outside my area of expertise in engineering.
During my free time, I enjoy running, riding my bike, hiking, cooking, and eating.