A battle-hardened technologist interested in building beautiful, large-scale and user-friendly web and mobile applications. ♥ functional programming, full-stack coding, optimising infrastructure, the command line & Vim. When not behind the keyboard, I'm cooking, travelling or professing my undying love to micro-containers.
♥ building teams that deliver great, pixel-perfect, usable products & getting my hands dirty with code when duty calls. I care deeply about the people I work with. I bring a never say die attitude to the team and ensure that everyone is pushing code of the highest quality. ♥ writing tests & teach as much as I learn.
Spearheaded core architectural changes to Travelperk's Engineering infrastructure, from the backend to the frontend resulting in improved performance and scalability
Proactively mitigated recurring critical incidents, enhancing product scalability and reducing risks for hypergrowth
Led the sharing of Redis improvements with the tribe, optimized Elasticache usage by implementing gzip compression, TTL optimizations, averting potential outages, and ensuring system stability
Improved various monitors and alerts to ensure system health is always monitored, making it easier for L1 & L2 level support to respond to incidents
Improved developer experience and product quality by enhancing Docker builds, reducing latency, timeout errors in various tornado based services
Improved log access via a CLI tool built using Node, and later Golang to download, parse, and search transactional logs from S3
Strengthened communication with the product team by initiating regular contact, fostering a collaborative relationship, and enhancing understanding and teamwork.
Diligently monitored and supported multiple domains, ensuring accurate implementation of Service Level Objectives and contributing to enhanced reliability and stability
Involved daily with full-stack work in Python/Django, React, Docker, Terraform, Redis & more
Optimized base Docker images and developed and maintained CircleCI Orbs to standardize and streamline the CI/CD process, resulting in shaving minutes off build times & increased efficiency
Implemented quality of life improvements using caching, parallelization, and other techniques to speed up how fast Travelperk serves its content
Optimised core parts of the application, ranging from the database to the frontend, in one case reducing load times from 7 seconds to 1.5 seconds when searching for hotels
Led the effort to move the frontend to a monorepo, using PNPM, that paved the way for micro-frontends
Co-Led the effort to implement Turborepo to speed up development and reduce build times in the frontend
Involved in Travelperk's design system, using Storybook, Styled-components & React
Involved in most guilds and hackathons over the past 3 years
Mar 2019 – December 2020 Senior Front-end Engineer
888Holdings, Dublin | Ireland
Delivered, ahead of time, two web applications weilding React 16.8+, Redux, Hooks, Styled-components and newer concepts in front-end development.
That should become a hook!
Implemented boilerplate-free state management using minimal code, but tested Redux architecture to easily build web applications.
Increased code quality across teams, setup code standards, lint rules.
Pushed system-side improvements & fixes that increase stability and use core concepts like context, hooks and higher-order components.
Setup new build system for React based apps of tomorrow.
Promoted component re-usability & setup icons/assets/theme to have a single source of truth.
Involved with UX team to create mobile-friendly and performant web applications.
Mentored other front-end developers on how to build future-proof front-end software.
Introduced cross-team pull-requests and reviews to increase transparency and developer involvement.
Addressed pain-points of the development process, avoiding pitfalls and increased overall output by ensuring teams share code and knowledge, outpacing the rate at which work was coming in.
Held workshops and tutorials to show developers best practices in front-end development like writing performant code and debugging.
Addressed technical debt across the system from build to production whilst improving developer experience.
Updated core modules such as Webpack, React and introduced the teams to newer technologies like styled-components and hooks.
Seen as the go-to person for other developers who require advice on an upcoming issue they're working on.
Dec 2017 – October 2018 Front-end Technical Lead
BAE Systems Applied Intelligence | Kuala Lumpur
Leading a team of Front-end developers tasked with building a next-generation product using React / Redux / RxJS / Styled Components, Storybook using ES7 that focuses on big-data, drill-downs, geolocation & clustering, Elastic Search, GraphQL and Docker (♥) amongst other technologies.
That button is 1 pixel too low.
Jun 2016 - Dec '17 Front-end Team Lead
BAE Systems Applied Intelligence | Kuala Lumpur
Engineered a web app built on Angular, ES7/8, SCSS, Angular Material that runs of 30 different browser/device combinations from Retina displays to mobile browsers, weeks ahead of schedule.
Led a team of ten developers to deliver, ahead of schedule a web application & mobile app which strict acceptance criteria for performance in low bandwidth areas.
Engaged with UX daily to ensure delivery of a usable and slick-looking product, advising against bad user experience and convoluted user journeys.
Evaluated requirements with Business Analysts to ensure stories are short, well-worded with clear acceptance criteria and most importantly, closeable.
Spearheaded a culture of writing good code with performance and usability as pillars.
Planned sprints and delegated tasks across the front-end team, and delivering features 4-5 sprints ahead of schedule.
Promoted reusability and configurability by building a library of UX components within the first couple of sprints - resulting in minimal to no effort necessary to implement features at the later stages.
Involved heavily in code-reviews and (declining) pull-requests that would take the easy way out, have bad tests, or lack code comments - delivered with 90% test coverage when expected baseline was 80%.
Streamlined team output by using an assembly-line mindset when managing task delegation. We closed every sprint by delivering impressive work, consistently, keeping morale and confidence high.
Automated repetitive DevOps and pushed the mobile apps to the Apple/Google stores with one command using fastlane.
I am a higher-order function. We all are.
Dec 2015 – Apr '16 Lead Front-end Developer
BAE Systems Applied Intelligence | Kuala Lumpur
Delivered dashboards consisting of heat-maps, filters, timelines and drill-down hunting using Highcharts / Highmaps / Angular / SASS that would interface with an elastic search back end.
Accelerated development of a pixel-perfect product with a strict delivery timeline, whilst keeping a focus on best practices.
Undertook the interviewing and hiring of a capable (and super-awesome) front-end development team, which I would lead, that could deliver complex and interesting projects.
Formulated a guide of best-practices in building good software for the front-end developers.
Sep 2014 – Jul '15 UI Developer
Lavaboom | Cologne Area, Germany (remote work)
Built a next-gen encrypted email client for Lavaboom, a start-up from Cologne, Germany.
Engineered a pixel-perfect (yes, I use that word a lot!) email front-end with rich-text composing and multiple inboxes using Jade (now known as Pug), Gulp, ES6, Angular, Bootstrap & SASS
Generated an icon font automatically from SVG files provided by UX