Skip to content

Instantly share code, notes, and snippets.

@pixelbreaker
Last active June 29, 2023 13:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pixelbreaker/55906a6948391300b2c75475b88502fe to your computer and use it in GitHub Desktop.
Save pixelbreaker/55906a6948391300b2c75475b88502fe to your computer and use it in GitHub Desktop.
CV 23

Gabriel Mak

Senior Web Developer

Email: gabriel+cv@pixelbreaker.com
LinkedIn: linkedin.com/in/gabriel-mak/

I've been working with web technology since the early days, learning new technologies as they emerge along the way. Starting out with HTML and JavaScript in the mid-nineties I worked with all sorts of web technology over the years, including Perl, PHP, Shockwave Lingo and Flash. I spent a significant part of my career as an ActionScript developer from around 2001 and developed a fascination with interactive animation during that time. Having worked closely with designers I have an eye for detail and am comfortable offering input on design/UX as a project evolves.

Around 2010 I moved back into the JavaScript world, and have been working almost exclusively in JavaScript and TypeScript ever since. Over the past 5 years I have worked mostly with React, React-Native and Node, though I can pick up other frameworks if required.

I have been working almost entirely remotely since 2012 when I moved from London to Devon.


Recent Work

* All projects remote unless otherwise stated

Senior React developer at Measured Co working on https://www.hubblehq.com

Q2 2022 to Q1 2023

Working as part of a small team of highly experienced developers to make large changes to the Hubble HQ site. We worked closely alongside Hubble's internal engineering team. The site front-end is built in NextJS.

Stack: React, NextJS

Lead Frontend developer at Crearty

Q1 2020 to present

Building a custom greeting card creator web application in React for both desktop and mobile.

Stack: TypeScript, React, Redux & Redux Saga, Responsive, GitHub Actions, Storybook

React Native lead developer at meet https://meet-eric.com.

Q2 2020 to Q3 2021

Leading a small team to build an app to replace their existing PWA with a React Native app for iOS and Android.

Stack: TypeScript, React Native, Google Firebase, Expo, Adobe XD

Senior Frontend Developer at Rise

Q3 2019 to present

Building a large progressive web app for the employee platform at Rise. A large application built using React, Gatsby, Redux and Redux Sagas. All built in TypeScript.

Stack: TypeScript, React, Gatsby, Redux & Redux Saga, Responsive, Material UI, PostCSS, CircleCI, Netlify, Storybook, Sketch

Lead Frontend Developer at Zero Deposit

Q2 2017 to Q4 2018

Initially building Zero Desposit's UI Component framework for consumption by their Python/Django app and later reworking from the ground up for their first React based product.

Stack: Pyhton, Jinja2, PostCSS, ES6, Code splitting, AWS, CircleCI, Sketch, Storybook

Q3 2018 to Q1 2019

Technical lead on React SPA for tenants to sign up for Zero Deposit policies, deciding application architecure and pairing with junior developer to guide them through the initial project setup and structuring process.

All the UI components were built in Storybook for rapid reuseable component development, all tests for these built with Jest. The main app was then built quickly using existing components, React, Redux and Formik to manage the lengthy forms.

Stack: React, Redux, Formik, Storybook, Styled components, ES6, CircleCI, Netlify, Jest, Responsive, Mobile first

Technical Lead at Drop (getdrop.com)

Q3 2017 to Q1 2019

Technical lead on internal/partner white-labelled React SPA app for the adminstration of their kitchen automation systems. Starting from a vague brief to create an admin interface to match the endpoints in their large and well documented API. The app had to be themeable so it could be adapted to third party kitchen appliance manufactuers requirements and seperate systems.

Redux-saga was used as it offers a really clean way to handle both chained and concurrent API requests when making bulk edits. All Sagas were tested with Jest to ensure their effects on the redux state remained consistent throughout development.

In readiness for multiple developers joining the team, the project workflow was set up with lint-staged and husky to ensure all tests and linting passed before any code could be committed to ensure code quality.

Stack: React, Redux, Redux-saga, ES6, Material UI, Styled components, Jest

Lead developer at BuRP app

Q2 2016 to Q4 2016

BuRP was a startup with the ambition of connecting new parents to help them share tips and advice with each other and also a platform for the promotion of products and services relevant to new parents.

The app was initally built in Cordova with React, Redux and CSS Modules, but later rebuilt in React Native. Unfortnuately the startup failed to gain enough funding before an MVP was released :(

Stack: React, React Native, Redux, CSS Modules, Cordova, Sketch

Senior Front-end Developer at ACS Solutions
Q4 2014 to Q4 2015 (on-site)

Lead on front-end development of a large enterprise app for legal companies to look up details from the Land Registry API. This was a significant challenge as TypeScript was still in its infancy and JSX was yet to be supported, however given the scale of the application TypeScript was a neccessity, especially as the rest of the team had a long history with C#.

Stack: React, Flux, TypeScript, Microsoft Azure

Skillset

HTML Deep knowledge and able to create clean, concise markup
JavaScript, TypeScript Over 20 years experience with JavaScript, 5 with TypeScript
CSS 3, Sass, Less, PostCSS & BEM Expert understanding
CSS performance optimisation Good knowledge
React, Redux, React-Native Most of my work the past 5 years has been react based
Jest testing Familiar with TDD and writing stringent tests for applications
GatsbyJS Good understanding for both static and hybrid static SPA apps
NestJS, Express REST API creation Good understanding of the TypeScript Node platform
MongoDB, Mongoose, Typegoose Good understanding
Npm, Yarn, build workflows Lots of experience with various tooling
jQuery, Handlebars, Pug Lots of experience
Backbone, Backbone.Marionette 5+ projects with these two frameworks
Python, Django, Jinja templating Worked on a couple of projects, proficient
C Used to writing firmware for custom keyboard and arduino projects, proficient
C# Used in some small experimental projects with Unity
PHP, Laravel, Wordpress Intermediate understanding
Git, GitHub, BitBucket Years working collaboratively and remotely, great CLI understanding
JIRA, Clubhouse etc Lots of experience
Photoshop & Illustrator 20 years using both
Sketch Good knowledge of both designing and producing assets
Blender Modelling, and IK animation setup for use in Unity Engine
APIs Google Maps, Leaflet, Mapbox, Strava, Instagram, Facebook, Dropbox, Campaign Monitor
Agile, Shape Up Familiar with all styles of working

Work History

  • 2006 to present: Founder/Freelance developer, Pixelbreaker Limited
  • 2009 - 2011: Creative Technologist, Pirata London
  • 2003 - 2006: Lead Developer, de-construct Ltd, London
  • 2001 - 2003: Flash/JavaScript developer, Tonic Design Ltd, London
  • 2000 - 2001: Web Developer, dotMedia, Hong Kong
  • 1997 - 2000: Web Developer, Deepend, London

Education

  • 2001 - 2003: Diploma, Japanese language, SOAS, London
  • 1994 - 1996: National Diploma, Electrical and Microelectronic engineering, Exeter College, Devon

Other pursuits

  • 2015: Finished 40/170 Tour Divide ultra-endurance mountain bike race, 2750 miles (4420 km) unsupported from Banff, AB, Canada to Antelope Wells, NM, USA. Finished in 21 days 16 hours and 14 minutes.
  • I have designed and built several custom keyboards for my personal use, designing the case and 3D printing, and hand wiring the key matrix and writing custom firmware in C using the QMK library.
  • Side Project to create a web app for live tracking racers in multi-day ultra-endurance events using SPOT/Garmin satellite trackers.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment