# Hello, I'm Craig Fletcher. You can call me on 07480924132, email me at [hi@leakypixel.net](mailto:hi@leakypixel.net), or check out what I'm getting on with at [leakypixel.net](https://www.leakypixel.net/). I've been developing for the web for around 10 years and I'm still as eager as ever to push my skills and learn new things. I specialise in JavaScript - particularly React, but have worked with many languages, libraries and tools appropriate to the task at hand. ## Experience A short description of my last few roles and what they entailed. I'd be happy to discuss these further, but for now I'll keep it brief. ### AKQA - JavaScript consultant (3 months, fully remote) *2019* Worked on a high-profile project for a well-known international clothing brand, using React, Netlify, Next.js, AWS lambda, nodeJS and AWS dynamoDB. Working remotely as part of a small, internationally distributed team to deliver a time-critical project with many challenges and tight deadlines. ### Erlang Solutions - JavaScript consultant (9 months, fully remote) *2018 to 2019* Worked closely with a worldwide distributed team to develop a deliveroo-like service for fuel and related product delivery. As the only JavaScript developer on the team, I built a react and apollo based web application to interact with an erlang graphql service that was being developed in tandem by other members of the team. ### The Co-op Group - JavaScript consultant (6 months, part remote) *2018* As part of the ventures team, built a new marketplace application using react for the frontend and python with flask for the backend. Worked in a team of 2 to get the project off the ground and into production. This project was more focused toward user research and constant iteration than technical challenges, something I really enjoyed. ### Life's Great - JavaScript consultant (6 months, part remote) *2017 to 2018* Upskilled team into react development and assisted with building a greenfield project: * Upskilling team with limited to no prior knowledge of react through pairing, presentations and walkthroughs. * Built a new application to gather information from customers through a conditional, staged questionnaire with complex dependencies. * Various devops related tasks from scratch, such as docker scripts. * Advising management on various technical decisions vital for the company. ### Earlier *2017 - Tyres on the Drive - JavaScript consultant (12 months)* *2016 - The Hut Group - JavaScript developer (12 months)* *2015 - Bet365 - JavaScript developer (6 months)* *2013 to 2015 - On The Beach ltd. - Front end developer, Permanent* ## Skills Some of the skills I've picked up along the way and tools I've used. ### JavaScript * React, Redux, Apollo GraphQL * NodeJS * Document DBs (Mongo/Couchbase/DynamoDB) * Client-side templating (Handlebars/Mustache/jst) * Module loading & dependency resolution * Testing & automation (Jasmine/Karma/Istanbul/Selenium) * Build systems (Grunt/Gulp/Webpack) * WebSockets (Pusher/native) * Modern ECMA script ### HTML & CSS * Sass/SCSS/LESS * Responsive design * Bootstrap * Modular design & web components * BEM/SMACSS * Accessibility/Information hierarchy * Progressive enhancement * W3C Standards * Cross browser compatibility * HTML 4 & 5 ### Devops related * AWS and Digital ocean * Continuous integration (Jenkins/Travis) * Docker & docker-compose * Basic server administration (nginx/Apache/caddy) * Versioning (npm/git tags/artifactory/docker images) * Linux/UNIX-like OSes (Debian/Arch/FreeBSD) ### Others * UX and data-driven design * Git (GitHub/CLI/GitHooks/Workflows) * Agile, Kanban & Scrum * Project management tools (JIRA/Trello) * Building appliances/discreet servers (Raspberry Pi/Intel Atom SoC) * Analytics (Google/server stats/pingdom/custom built) * Bash (day to day environment & scripting) * Python ### Experience of * Java (Spring) * Ruby (Rails) * Golang (Iris) * Cordova/PhoneGap * Erlang (Phoenix) ## I'm not boring I have quite a few hobbies outside of my development work, and try to keep myself as active as I can - especially during the summer, when I can get outside. * Rock climbing and bouldering are my big hobbies... though they don't look a lot different from the outside, there's quite a gap. I vary between the two, but practice indoors twice a week and get outside when I can. * Somehow I ended up being a Scout leader, too. I was part of the organisation when I was younger, and after a couple of years break, I went back to help out. It has greatly helped me in maintaining leadership skills, and organising larger groups of people. * I also spend quite a lot of my free time tinkering and working on personal projects, such as building raspberry pi based camera systems, monitors, or arcade systems. * To keep up with the fast-paced world of development, I spend quite a lot of my free time reading, or listening to podcasts. Some of my favourites are 99 percent invisible, bad voltage and project bouldering.