Curriculum Vitae
Contains details of my experience, education, skills and certifications.
Skills
- Backend: Microsoft, .NET (WebForms, MVC, Core, Web API), C#, SQL Server, Contentful, Umbraco 7-10, Sitecore 6.5 through to 9.0.1 Helix, Azure, AWS
- Frontend: HTML 5, JavaScript, Angular, CSS3, SASS, Bootstrap, Gulp, NPM
- Tools: Visual Studio, Visual Studio Code, Git, GitHub, BitBucket, Azure DevOps, TeamCity, Octopus Deploy, Jira
- Agile and Scrum
Awards and Certifications
- Upper Second Class BSc (Honours) degree in Computer Science (2:1)
- 2018 Umbraco Certified Professional
- 2010 Sitecore 6 Certified Professional
Experience
Senior Backend Developer
I currently work as a Senior Backend Developer for Stadion who create bespoke digital experiences for the most respected brands in sport.
Focusing on .NET Core C# 6, Azure, Contentful CMS, Azure DevOps and comprehensive 3rd party integrations. Also on occasions .NET Framework C# and Umbraco.
.NET Developer
I currently work at Dare which has now been merged into its parent company OLIVER. My main focus is backend development using .NET C# 5 and working with the CMS Umbraco. However during my time here I have actively pushed to refresh my frontend CSS and JavaScript skills.
I’m now mainly leading the Diageo Johnnie Walker website team and helping to maintain and add new features to the site. Since I started in January 2021 the Diageo account has grown considerably due to the stability and delivery of my dedicated work, from myself and a project manager initially, to now a fully dedicated team of 3 backend developers, 1 content manager, 1 frontend developer and 2 project managers. We work with an Agile philosophy and have regular sprints to deliver user stories and functionality. Highlights of work done include a generic competition form module which can be reused across the 44 locales and for multiple different competitions. A nice feature of this is the URL QueryString Hashing which protects access to the page for only valid URL users and stops QueryString parameters from being modified. Other highlights would be rebuilding the Contact Us form to use AJAX submission, security, SEO and UX improvements.
When I started at Dare my responsibilities were split 50/50 between Diageo Johnnie Walker and Barclays LifeSkills. My responsibilities on Barclays LifeSkills website included working on the regular maintenance and development of the website during sprints.
During my time here I have been allowed to train and up skill. From self training and watching videos on CSS, SASS, FlexBox, JavaScript, Gulp, Umbraco, Azure and Azure DevOps. I put all of these skills into practice by building a portfolio website https://www.danielmcilroy.co.uk for myself on Umbraco 9 using ASP.NET Core, which is hosted on Azure and deployed via Azure DevOps. I use this website to showcase my CV and blog about technology.
Lead Developer
I initially joined Aqueduct as a Software Developer, progressing to Senior Developer and then finally Lead Developer during my nine and a half years. My main responsibilities involved leading the development and management across multiple projects and clients. This included mainly ASP.NET C# MVC development, Agile sprints, estimations, planning, retrospectives, deployments, client standups and meetings, managing the Continuous Integration and Deployment infrastructure TeamCity and Octopus Deploy, managing client servers and Azure hosting, managing other developers and contractors and conducting interviews for potential developers. Specific project details can be found below.
More recently I was involved with the Scope charity website which was built using ASP.NET C# MVC Sitecore 9.0.1 and Helix, I was responsible for fixing bugs and making further improvements to the existing site based on client requests. Furthermore during my time at Aqueduct I also co-built from scratch the Ministry of Sound website with ASP.NET C# MVC Sitecore 8.1. Another ASP.NET C# MVC Sitecore 8.1 website I maintained was for SAFC. SAFC was built with a modular approach and used StructureMap DI, Command Query Responsibility Segregation (CQRS) with the mediator pattern and Glass Mapper. I solely lead and managed all development and deployments on Manchester City FC, a Sitecore 6.5 ASP.NET C# Web Forms site. Towards the end of my Lloyd’s period I lead the Lloyd’s of London website Sitecore 8.1 ASP.NET C# on my own and within a team of developers. Work included regular retainer sprints and projects. One particular project was to replace their expensive Google Search Appliance (GSA) XSLT search page with a free Lucene index.
I lead the development of the new Wolverhampton Wanderers FC website (https://www.wolves.co.uk) which was an Umbraco 7.1 build using ASP.NET C# MVC, MS SQL Server, Azure and SOLID principles. Agile practices were used, working in sprints, creating stories, estimating and end of sprint show and tell. Development patterns and features included Dependency Injection using Autofac, feature slices, Command Query Responsibility Segregation (CQRS) supported by MediatR and Lucene. The site was built with a modular approach where key features included News, Fixtures, Team, Grid (module) Content Pages and Hash Stories. This was hosted in Azure on a Web App Service running four instances and one dedicated CMS Web App Service for content editors. The whole project was delivered on time, to budget and launched on time. More complex integrations for Wolves included Single Sign On (SSO) which was provided by Sport Alliance and also the video streaming provider Stream UK. The stream development included integration with Sport Alliance, therefore allowing users to login and purchase packages to watch videos given the correct entitlements. I also built JSON APIs which were used to feed their mobile app.
WolvesTV (https://tv.wolves.co.uk) was a microsite built as another instance on the existing Umbraco build. Its purpose was to deliver video content to users, users could either watch for free or access restricted videos by logging into their SSO (Sport Alliance) account. Integration to Stream’s Matrix API was required to get lists of videos by category and to check the videos' individual access restrictions. Giving the Wolves fans one dedicated website to view all video related content.
On numerous occasions totalling three years I worked both on and off-site for Lloyd’s of London, the world's leading insurance market. Initially I worked on the first Lloyd’s of London build (https://www.lloyds.com) which was Sitecore 6.1 ASP.NET C# Web Forms. This was closely followed by the MyLloyd’s Intranet build, using a similar approach to the main Lloyd’s site Sitecore 6.1 ASP.NET C# Web Forms. One main feature was developing a basic Twitter like messaging system for internal staff. Furthermore on site work included building a host of custom ASP.NET C# MVC and SQL Server applications collectively called AgencyDB to replace their existing Access database driven Agent management systems. I was involved with managing and leading a team of contract developers, integrating into their own SSO provider called LAF, developing the different MVC management pages, data migration from an Access database and using the ORM Entity Framework.
I also oversaw and lead the launch of Tottenham Hotspur website (https://www.tottenhamhotspur.com), which was an Umbraco 7.1 ASP.NET C# MVC, MS SQL Server, Azure Web App website with ReactJS.NET integrated. ReactJS.NET allowed the majority of the frontend to be built using ReactJS rather than CSHTML Razor Views. Meaning the backend developers could concentrate efforts on functionality rather than HTML integration. Tottenham was heavily modular built therefore feature slicing was used to separate and organise individual modules. Other development patterns and features included Dependency Injection using Autofac, Command Query Responsibility Segregation (CQRS) supported by MediatR and Lucene for search. Project work included developing the SpursTV module for displaying all video content (https://www.tottenhamhotspur.com/tags/spurstv/). Furthermore I built JSON APIs which were used to feed their mobile app.
I also volunteered for out of hours support for Aqueduct’s clients such as Wolves, Spurs and SAFC matchday centre applications on match days. Furthermore as a lead developer if there were any problems with a clients site out of hours I was the first to investigate the issue, fix if possible and follow up with reports.
Software Developer
As a software developer my responsibilities revolved around developing internet based software. A large majority of projects I was involved with were based around Microsoft technologies ASP.NET C# Web Forms and MS SQL Server. Ranging from content management systems (CMS) to bespoke solutions.
Content management systems developed using Cuyahoga, an open source ASP.NET C# and MS SQL Server CMS, including FirstServ and Polygon Investment. I worked on both these projects alone from initial design, through to build, testing and deployment.
Bespoke ASP.NET C# and MS SQL Server projects I have worked on have been for the Federation Internationale de l'Automobile (FIA). These FIA projects include FIA ASN Funding, FIA Historic and FIA Medical Programme Registration. ASN Funding is a system that allows motor sport groups to apply for funding for their motor sport related project. This involved developing a registration and a lengthy nine step application form. Both registrations and applications were administered within an administration area and a separate area for applicants where they could track and apply for funding. I was mainly involved with the CSS, registration, administration and database development.
FIA Historic is a system that allows the FIA and historical vehicle owners to keep records of their vehicles. A large form was developed to collect these vehicle details and additionally a vehicle PDF upload version of this form was built for existing documents. Within the administration area the FIA could manage users, manage workflow processes and carry out advanced searches for historical vehicles. I was involved with the design sign off and CSS, the advanced search, administration sections and NUnit tests for the vehicle form. This was a team project that I worked on with two other co-workers.
Lastly the FIA Medical Programme Registration project is aimed at medically trained professionals applying for FIA membership. This required a multi-step form with a French payment provider integration. Membership order details were stored within the MS SQL Server database. An administration area accompanied the project to manage new and renewed memberships, handle work flows and extract membership details in CSV format. During the life span of this project I managed two other developers as I was the lead developer and reported back to my project manager.
All these bespoke FIA builds used the data access layer generation tool SubSonic, the database version tracking tool Liquibase, Log4Net for logging and NUnit tests.
Senior Web Developer / Programmer
Result Marketing Limited was a creative marketing company that provided design, web, marketing and public relation services. My responsibilities at Result mainly consisted of the development of client websites. A majority of builds were for websites with a standard content management system. However some required more bespoke programming for news, property or product management. Client websites I developed included Delibero, Aquatech, Teknis, ROJO Shoes and James & Co. Both Teknis and ROJO required the client to be able to manage their online products along with their page content. James & Co are a Harlow based estate agency that required a website that allowed them to control their properties. My last projects involved e-commerce builds such as e-tradecounter. This was a customisation, both front and back end of AspDoteNetStorefront. Furthermore I built a complete custom e-commerce website in ASP.NET 2.0 (C#) and MS SQL Server 2005 for Netcom Audio Visual with HSBC payment provider integration. Other aspects of this job included search engine optimisation and the management of Result’s hosting solution.
Web Developer
Richard Daley Associates (RDA) provides software development, web development, software training and software consulting to its clients. My position started off as voluntary work experience that turned into a full time position in March 2004. I was involved with the design, implementation and maintenance of client websites. A majority of my work involved HTML, CSS, JavaScript, VBScript, ASP, Microsoft Access, Dreamweaver, Fireworks and Flash. Many of the websites I developed were dynamic database-driven websites with bespoke content management. Towards the end of my job I was developing web applications using Visual Studio .NET and programming in C#. These ASP.NET C# web applications include a newsletter system and a jobs website called Top Sporting Jobs.
Education
Anglia Polytechnic University
- Upper Second Class BSc (Honours) degree in Computer Science (2:1)
- Dissertation Title: A comparison between Relational and Object-Oriented databases.
The Bishop's Stortford High School
- June 2000 A-Levels
- June 1998 GCSEs