Dan Cook
Verified Expert in Engineering
Full-stack Developer
Tamba-Sasayama, Hyogo, Japan
Toptal member since January 11, 2021
Dan is a hands-on, full-stack software engineer, cloud systems architect, and technical leader with 20 years of experience. He specializes in Azure, .NET, and React, and development of highly scalable, globally distributed, secure, and resilient software systems targeting the cloud. Dan delivers groundbreaking software; builds stellar software teams; and instills a high-performing engineering culture, using Agile and Lean techniques, DevOps, SOLID principles, and extreme programming practices.
Portfolio
Experience
- C#.NET - 15 years
- ASP.NET MVC - 8 years
- Entity Framework - 8 years
- Azure - 8 years
- Azure SQL - 8 years
- Azure PaaS - 8 years
- Azure Cosmos DB - 3 years
- .NET 6 - 1 year
Availability
Preferred Environment
C#, Azure Cosmos DB, SQL, React, Azure, .NET Core, ASP.NET, Full-stack, Agile, Azure DevOps, Software Architecture, Cloud, Web Development, Blazor, Visual Studio, Razor, MVC Razor, ASP.NET Razor, HTML5, ASP.NET MVC 5, Ajax, Azure App Service, Microsoft Azure
The most amazing...
...invention of mine was the first-ever automated "matched-betting" odds compiler, enabling 80,000+ users to find arbitrage betting opportunities in real time.
Work Experience
Software Architect | Developer
Bespoke Kitchen and Door Carpentry Company
- Analyzed the client's requirements, architected and delivered a WinForms application that imported product and variant prices from tables in an Excel spreadsheet. Created and updated products and variants in Shopify using the ShopifySharp API.
- Managed communication with Shopify to lift the daily variant creation limit.
- Developed an application that enables the client to update their prices in Shopify for over 90,000 product variants within 30 minutes, creating any new product handles encountered as drafts.
Back-end Lead Software Engineer and Cloud Architect
Slack/Reddit-like Web Platform for Subscription Channel-based Insights.
- Architected, designed, and implemented the highly scalable, globally distributed back-end APIs using C#, .NET 6, and CQRS, message brokering with Azure Service Bus, SignalR, and serverless Azure Function command handlers.
- Designed and implemented the SQL database using Entity Framework 6 in conjunction with Azure Cognitive Search for filtering, facetting, full-text searching, auto-complete suggestions, and recommendation engine.
- Integrated Stripe and Stripe Connect payment platform for brokering subscription payments.
- Set up and maintained the CI/CD pipelines, IaC, and automated testing (unit, integration, and e2e), and created data-driven dashboards, metrics and alerts, notifications, and error logging to enable the team to make data-driven decisions.
- Collaborated effectively with the front-end lead and full-stack developers to design and implement the API interfaces and design flows for new functionality, assisting with front-end feature development and bug fixing where practical.
- Acted as Scrum Master, facilitating Scrum Ceremonies, promoting Scrum values, refining user stories, estimating velocity and capacity, and planning technical implementations. Integrated tooling and automation to help the team inspect and adapt.
- Integrated first Azure AD B2C and then a customized Open ID Connect Identity Server 4 SSO authentication provider with a custom login, sign-up, and administration UI.
Software Development Lead (Data and BI)
Arriva
- Led a team of around 20 software developers, data scientists, and test engineers to deliver a new BI and data platform, using AWS Platform as a Service (PaaS).
- Delivered a single-page application with a serverless back end running on AWS Lambda to manage the creation and maintenance of serverless ETL resources.
- Designed and implemented a config-driven data pipeline mechanism, allowing users to perform big data ingestion, transformation, and cataloging, and to seamlessly deploy and run PySpark data pipelines on AWS Glue and Step Functions.
Tech Lead
CBRE Singapore
- Led a team of 20+ IT professionals, including software engineers (on and offshore), SDETs, QA testers, and data engineers.
- Architected, designed, and built the application framework for a global corporate system, using technologies such as Azure PaaS, Serverless Azure Functions, .NET Core/C#, CosmosDB, Azure SQL, Azure Service Bus, Event Hub, CQRS, and SignalR.
- Developed and oversaw an extendable, scalable React/Redux progressive web application (PWA) and front-end application framework that works offline, using service workers, SignalR, React Intl (27 languages), Yup, Formik, Hooks, Jest, and more.
- Collaborated with stakeholders, product managers, and end users to define and capture product requirements. Created technical specifications, using UML, OO design, and SQL and NoSQL database design with strict performance and security requirements.
- Built the development team, instilling a productive and sustainable development culture and implementing tech and business processes that embody Agile, Scrum, Kanban, and Lean principles, along with a DevOps mindset.
- Created and maintained the infrastructure, pipelines, configuration as code, and GitFlow releases, enabling the development team to build and deploy many times per day.
- Designed systems to capture fast feedback, using logging, alerts, and usage analytics, and to monitor elastically scaled production systems.
- Drove and co-developed two cloud-based PaaS systems, from conception to global rollout and beyond, in 30+ languages.
- Won a SPOT award that's presented to a select few individuals across CBRE's design and technology department for outstanding achievement in technology.
Software Engineer and Team Lead
Jaguar Land Rover
- Finished second out of 40,000 contestants to solve the Jaguar Land Rover (JLR) mixed-reality app coding challenge in collaboration with Gorillaz, as part of JLR's drive to recruit world-class software engineering talent.
- Delivered software-over-the-air (SOTA) capabilities for JLR's first-ever, award-winning electric vehicle (EV), the Jaguar I-PACE.
- Integrated a complex Linux embedded build into a GitLab CI/CD pipeline to continuously deliver binary deltas of software and firmware to vehicle infotainment head units over 4G.
- Reduced the time from Git commit to deployment on a vehicle from 4-6 weeks to under one hour, revolutionizing the speed and efficiency of the software team's delivery via the new SOTA capabilities that simultaneously streamlined the SDLC.
- Rewrote part of the toolchain, enabling low-level carrier-bus communication firmware on the V-850 microprocessor to communicate with the vehicle's CAN bus to support ongoing SOTA capabilities following changes to the vehicle hardware configuration.
Technical Director
Freebets4all
- Co-founded Freebets4all and served as the technical director while in university from 2004 to 2005.
- Built the web application in ASP.NET MVC, AngularJS, C#, and SQL.
- Automated the core business functionality by developing and continually improving the AutoMatcher, the world's first-ever automated matched-betting odds compiler.
- Oversaw all technical operations and developed the business through new software projects and partnerships.
- Headed the offshore software development team as the technical lead and scrum master, capturing and creating requirements, designing the core architecture, and reviewing pull requests.
Software Development Manager
WHITE SPRINGS
- Designed and implemented sales training and analytical web applications for stakeholders in the sales performance improvement industry.
- Led the SDLC, developing a strong Agile environment and software engineering culture.
- Eliminated manual builds by migrating the suite of software products to Microsoft Azure and implementing CI/CD pipelines for eight software systems.
- Integrated software systems with CRMs, including Salesforce.com, Oracle, Microsoft Dynamics, and Sugar CRM.
- Defined IT strategy by exploring emerging technologies and building proofs of concept. Contributed to the continual learning and experimentation of the software team.
- Created native mobile apps for iOS and Android with Xamarin and Xamarin.Forms and managed deployment to app stores.
- Introduced Kanban for support and maintenance, bringing the number of open support tickets down from 130 to zero, resulting in a healthy flow of requests and a drastically improved resolution time.
Software Developer
Experian
- Designed and implemented data-driven web applications using an Agile methodology and adhering to strict security and UI accessibility requirements for the public and private sector.
- Optimized SQL stored procedures through normalization, denormalization, indexing, and query performance analysis.
- Maintained development of a commercial mapping platform written in Classic ASP and C++.
Programmer
Sensor Technology
- Researched and developed sensor-related technology, writing code in C++ and Visual Basic for Palm handheld devices.
- Interfaced with various hardware, including PCs (RS232 serial bus), Palm devices, proton magnetometers, solar panels, and GPS systems, to create a ground station for monitoring magnetic interference during wreck-location expeditions.
- Completed a bachelor's degree dissertation on wreck location using digital signal processing and fast Fourier transform (FFT).
- Created a website to trade surplus electric test equipment, including HTML and CSS, SEO, databases, and payment processing.
- Joined Sensor Technology as an employee after completing an internship, working part-time throughout university studies.
Experience
Jaguar Land Rover and Gorillaz Code Breaking Challenge
https://www.youtube.com/watch?v=y14EU9LJctYThe challenges were designed to test curiosity, persistence, lateral thinking, and problem-solving skills. For example, obtaining passwords and keys by analyzing sound waves, interrogating binary data hidden in images, writing JavaScript to mathematically align randomly swirling pixels, and manipulating color hues programmatically. Instead of questions or instructions, participants had to figure out how to crack the codes.
For my prize, I was fast-tracked through JLR's recruitment process where they were seeking world-class engineering talent to build the software for their first- ever EV, the Jaguar I-PACE.
Once onboard with JLR, I delivered software-over-the-air capabilities by sending binary deltas of Linux software and firmware to the car via 4G, enabling new features, bug fixes, and performance optimizations to be delivered to the car and installed, even while the car is in motion.
Freebets4all | AutoMatcher
The system received changes to sports betting odds from 50+ sports betting providers, up to 100 times per second via a WebSocket. The odds were then stored in both SQL and NoSQL format and could be analyzed and queried to identify closely matching odds for the same betting market (e.g., correct score, match winner, and horse race winner) across different bookmakers to locate matched-betting opportunities.
The opportunity could then be selected to show the user how to make a risk-free profit on the arbitrage situation by covering all outcomes of the event, often using bookmaker's free bets and bonuses to enhance winnings. The AutoMatcher then generated instructions in multiple languages to show the user how to place the bets using a variety of techniques, such as slight variations on a mathematical formula, depending on the type of bonus the bookmaker had to offer.
This pioneering system helped Freebets4all become the UK's best-known matched-betting website, generating revenue via affiliate marketing and well-loved by the matched-betting community of 80,000+ users.
Education
Bachelor's Degree with Honors in Computer Science
Nottingham Trent University - Nottingham, UK
Advanced Levels in Information Communication Technology and Business
Warwickshire College - Leamington Spa, UK
Certifications
Microsoft Certified DevOps Engineer
Microsoft
Microsoft Azure Developer Associate
Microsoft
Professional Scrum Product Owner (PSPO)
Scrum.org
Professional Scrum Developer (PSD)
Scrum.org
Professional Scrum Master I (PSM I)
Scrum.org
Skills
Libraries/APIs
Entity Framework, Azure API Management, Stripe Connect API, Stripe, REST APIs, React, jQuery, React Redux, SignalR, Node.js, Shopify API, ShopifySharp
Tools
Visual Studio, Azure App Service, Microsoft Excel, Terraform, Azure Active Directory B2C (ADB2C), Azure Application Insights, Microsoft Power BI, Jira, Apache Maven, GitLab, Ansible, AWS Glue, Amazon Athena, Webpack, Azure Key Vault, Azure DevOps Services, Azure Search, C#.NET WinForms, Crystal Reports
Languages
C++, C#, C#.NET, JavaScript, VB.NET, ASP.NET Razor, SQL, Java, TypeScript, ECMAScript (ES6), HTML5, Python, CSS, Active Server Pages (ASP), HTML, C
Frameworks
.NET Core, .NET, ASP.NET MVC, ASP.NET Core, .NET 5, ASP.NET, ASP.NET Web API, Razor, MVC Razor, ASP.NET MVC 5, .NET 2, Windows Presentation Foundation (WPF), MassTransit, Redux, ASP.NET Web Forms, AngularJS, Bootstrap, Entity Framework Core, Angular, Blazor
Paradigms
Scrum, Azure DevOps, Continuous Delivery (CD), Continuous Integration (CI), Kanban, Serverless Architecture, DevOps, Agile, REST
Platforms
Azure PaaS, Azure, Azure Functions, Docker, Amazon Web Services (AWS), Azure IaaS, Shopify
Storage
Azure Cosmos DB, NoSQL, Microsoft SQL Server, Azure SQL, Data Integration, Azure Active Directory, MySQL, Amazon Aurora, Azure Blobs
Other
Architecture, Cloud, SOLID Principles, APIs, Full-stack, Full-stack Development, Team Management, CI/CD Pipelines, Software Architecture, Web Development, IT Consulting, Team Leadership, Cloud Architecture, Ajax, Microsoft Azure, Code Review, Source Code Review, Project Consultancy, IIS, IT Strategy, SEO Tools, Security, Azure Data Lake, Front-end, Amazon API Gateway, Agile Coaching, Scrum Master, Lean, Azure Service Bus, Azure Event Grid, User Experience (UX), Serverless, .NET 6, Azure Data Factory, Messaging, .NET 7
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring