Dan Govan
Senior frontend software engineer with a passion for UI/UX and over 18 years experience building for the web
Skills
React
The evolving React ecosystem has been my focus since 2018. Recently forms with React Hook Form and Formik, mocking with Faker and MSW, data fetching and state management with React-Query and Redux Toolkit, animation with Framer-Motion, server-side rendering with Next.js 14 and Gatsby.
Scripting
My first JavaScript specific role was in 2014, and by 2018 it was all JavaScript, with the last 3 years in TypeScript. Mostly frontend with React, GQL or RESTful APIs etc, but regularly contributing to Node backends. I’ve also worked with Atom, React Native, express, socket.io and had exposure to a variety of backends.
Styling
Lately Tailwind, but my first task in 2006 reducing the size of the CSS file for a well-trafficked Intel site, so it's continued from there. CSS3 (Sass, LESS, Stylus), BEM / SMACSS-based architecture. JS modules, styled components, styled system, styled jsx, JSS, TSS, and frameworks like Chakra-ui.
Testing
End to end with Playwright and some Cypress, Unit/Feature with Cypress, Jest, Enzyme, React Testing Library, visual regression with Chromatic.
Markup
Building sites for international brands like Vauxhall and Colgate gave me a grounding in semantic HTML with a mind to accessibility, SEO, scalability & unexpected localisation. The practical challenges of keeping apps and websites performant and device-agnostic. Over the years I’ve also learned (and forgotten) a bewildering array of templating syntaxes.
Design
Talking to creatives on their own terms, translating and pulling assets out of creative comps from Photoshop to Figma, adding interstitial layouts & interactions that those don’t cover, identifying UX breakdowns early.
Mentoring
I usually collaborate in small interdisciplinary teams, but I value knowledge sharing and via pairing and code reviews whenever possible. At EDD London I had the opportunity to mentor and lead two juniors.
Tooling
VS Code, Docker, Webpack, Azure, Chromatic, Yarn, NPM, Git, CI with GitHub & Jenkins, Travis and Semaphore, Jira, Trello, Fibery, Netlify.
Experience
AltiumSeptember 2023 - present
Joining Altium's Octopart in-house web team at an exciting time of investment and team growth I was able to be instrumental in overhauling a legacy codebase on a component comparison website with 2.3 million monthly users.
I led on a move from Styled JSX to Tailwind for improved site performance and DX, supported by documenting components in Storybook and Chromatic for visual regression testing, and implementing a new design system and style guide for visual consistency.
The new team took ownership for tech debt as well as new features so on top of new search filters for better UX and landing pages for better SEO we were able to add Playwright e2e tests, and move to pnpm, node 20, and Next 14 with App Router, as well as break down confusing and disparate legacy redux patterns.
Side projectsJun - Aug 2023
To skill up on testing and keep abreast of the latest developments in the React ecosystem, I did courses on and tinkered with Cypress, Next13, Tailwind, React Server Components and GitHub Copilot.
EDD LondonJul 2022 - Apr 2023
An agency role where projects included two booking platforms and a CMSd showcase site for the agency itself (which I also did the photography for). All involved prototyping components in TypeScript, React and Storybook before integrating them into a dynamic SSR Next.JS app. Lead two developers on building and integrating React components.
For a booking system project I built a UI library extending Chakra UI with custom components to take advantage of their theming system and laying the groundwork for a white label offering.
Fun new things included React Hook Forms, mocking with Faker & MSW, state and data fetching with React Query, animation with framer motion, and for the CMS content I consumed a custom Headless CMS.
Photographer siteNov 2022 to Jan 2023
Designed and built a photography showcase site in TypeScript with Gatsby/GraphQL and Chakra-UI, deploying from Git via Netlify, running polls and forms with Formik and Firebase.
FesticketApr 2021 - Jul 2022
In-house, product side role on an event ticket marketplace platform, building interfaces to increase transparency to partners on fees and sales performance. I built out a succession of portals and other components in a large mostly React / Redux codebase.
Fun new things included learning TypeScript and Redux Toolkit, testing as standard with Jest / React Testing Library, and CI/CD with Jenkins. I also integrated with React-i18next and worked on on PHP templating with Twig and PHPTal.
JollywiseSept 2020 - Mar 2021
Lead on retrofitting a legacy React and Redux-heavy content-driven site for Cartoon Network show Ben Ten with a new design, api and components for their new property Elliot from Earth. I also contributed to the Climate Champions project, styled a company Christmas quiz SPA, and built a set of React / JS dragon-themed mini games.
EDD LondonFeb - Mar 2020 / Jun 2020
I built missing React UI components for a new camera rental eCommerce site then led on overhauling the layout from desktop-specific to device-agnostic.
Rehab AgencyOct 2019 - Feb 2020 / Jun 2020
Working on a SCORM-based anti-phishing educational tool, I built 8 localisations of 6 iterations, consuming a great deal of copy in JSON form. Ended up leading the field and advising parallel projects to bring them up to speed. Used React, hooks, CSS modules, JSON, SCORM & Sketch.
YunoJunoMay - Aug 2019
Returning to this in-house product team I used React with modular scss to implement a new registration & onboarding system to their freelancer platform.
22 designMay - Oct 2018
Boutique agency role where projects included an HTML5 banner for the front page of Talk Talk, updates to an OpenCart eCommerce site, a JS 360 spinner & an interactive quiz.
KoffeeCupMay - Sept 2018
Quickly got up to speed on a legacy Angular/Cordova app that needed urgent updating for a client company conference. Updated it with a new year of content, assets & structure for an on-site tablet & kiosk deployment.
YunoJunoJul 2015 - Dec 2017
In-house role working on a platform to connect freelancers with companies. I built out an evolving UX & Frontend, tamed legacy CSS built in the startup years, and maintained an extensive design system using practical BEM, Stylus/SASS and Django templating, later moving to React.
A highlight was carrying out a platform-wide redesign with a single CSS retheme for a seamless and non-destructive transition.
MetaBroadcastJul 2014 - Jun 2015
In-house Creative Technologist in a backend engineering team, brought on for rapid prototyping, creating UIs to test and consume their extensive experimental TV-based metadata APIs for the BBC. I was also contributed to the company blog and spoke at monthly meetups.
VooDooBytesFeb 2014 - Jun 2015
Long-running team up with a small agency on a series of content-based and eCommerce sites including agreatplacetobe, Cameraworks, Heineken, Rex & Mariano, DMB represents & Blossom Hill, using Mixture, Liquid, Sass & jQ for integration to Umbraco.
Maynard MaloneFeb - Apr 2014
An agency role on a content-based Organix site, where I was quickly able to pick up Drupal and used PHP, CSS & jQ to implement new sections of the site.
VML London2012 - 2014:
Senior Interactive Web Developer specialising in responsive builds, from microsites to enterprise-level CQ builds, for Colgate, Premier Inn & Premier League.
My longest project was 6-months building a fluid mobile site that receives 500k uniques a day and 3mil in revenue a week. As the team increased from 6 devs to 20 I started out as Front-end lead then specialised to CSS and UX Lead.
I also organised knowledge-sharing workshops, was on the social media committee as tech voice, & was in-house photographer for portraits & events.
MRM Meteorite2011 - 2012:
Interface Developer building microsites for Vauxhall & Nationwide, an Intel facebook campaign, iPad site for Regus, a PhoneGap'd iPhone app for The Mall & championed responsive & parallax design.
MRM London2006 - 2011:
Starting as an Associate Frontend Developer before promotion, I worked in HTML, CSS & later jQ, reconciling the work of copywriters, designers & backend devs to produce sites, localisations & HTML emails for clients like Intel, Vauxhall, Sky Movies, MSN & MasterCard.
Away from the keyboard I led initiatives in improving communication between the tech & creative departments, and presented on company values & best practice.