Mark Evans, Developer in London, United Kingdom
Mark is available for hire
Hire Mark

Mark Evans

Verified Expert  in Engineering

Full-stack Developer

Location
London, United Kingdom
Toptal Member Since
September 6, 2017

Mark has over ten years of experience in the tech industry, particularly in full-stack web development. He enjoys bringing together his technical, personal, and problem-solving skills to provide the best solution for each client. Mark’s background in Theoretical Physics helps him think laterally about problems, contributing to his ability to resolve issues quickly and efficiently.

Portfolio

Sky (contract)
Streaming, Dash, Node.js, TypeScript
Bluespot (contract)
RabbitMQ, Docker, Ruby on Rails (RoR), Flow, React
pPresence (Contract)
PostgreSQL, OAuth 2, Node.js, Ruby on Rails (RoR), Ruby

Experience

Availability

Part-time

Preferred Environment

GitHub, Git, Vim Text Editor, MacOS

The most amazing...

...open source library I've written is the popular Ruby gem Dragonfly (3 million downloads), which provides a novel way to handle website images and other assets

Work Experience

Front-end Developer

2019 - 2019
Sky (contract)
  • Single-handedly developed important prototypes.
  • Liaised between design and hardware teams to ensure correct requirements.
  • Created multiple common packages for use across projects.
  • Created back-end APIs for serving content.
  • Provided feedback on process for junior developers in other teams.
Technologies: Streaming, Dash, Node.js, TypeScript

Full-stack Web Developer

2018 - 2019
Bluespot (contract)
  • Developed a pilot training app for ipad.
  • Developed docker deployment proofs of concept.
  • Developed AMQP integration proofs of concept.
  • Integrated international (variable-VAT) payments with Stripe.
  • Mentored more junior developers and helped with architectural design.
Technologies: RabbitMQ, Docker, Ruby on Rails (RoR), Flow, React

Full-stack Web Developer

2017 - 2017
pPresence (Contract)
  • Developed numerous prototypes in Node.js and Rails for testing/proving a personal data container concept.
  • Built JSON APIs in Node.js for consumption by 3rd party platforms.
  • Used OAuth 2.0 to authenticate across multiple services.
  • Created a backlog of user stories and provided estimates for development work.
  • Designed regression/integration tests for important parts of codebase that had already been written.
Technologies: PostgreSQL, OAuth 2, Node.js, Ruby on Rails (RoR), Ruby

Full-stack Developer

2017 - 2017
Barclays (Contract)
  • Created a prototype in Node.js/Angular for a new internal HR management tool.
  • Guided remote developers in India on how to provide integration tests.
  • Scoped user stories and provided remote developers with test requirements.
  • Provided demonstrations of prototype to internal stakeholders.
  • Created documentation for other members of the team so that they could easily integrate with and work on the project.
Technologies: Cucumber, MongoDB, Angular, Node.js

Lead Back-end Developer

2016 - 2017
News UK (Contract)
  • Led back-end development for Sun Goals football app as part of migration to an HTTPS JSON API backend.
  • Provided mentoring and pairing for junior Rails developer, using remote screen sharing.
  • Contributed to creation and grooming of user stories for sprint backlogs.
  • Documented back-end endpoints, usage, and permissions details for app developers.
  • Oversaw deployment to production of back-end using News UK's internal system.
Technologies: Amazon Web Services (AWS), Urban Airship, Ruby on Rails (RoR)

Full-stack Web Developer

2016 - 2016
EastMeetEast (Contract)
  • Created a novel "scam detector" service using Machine Learning (Neural Network) that learned as more data was collected.
  • Added valuable new features for increasing uptake/conversions.
  • Successfully communicated and discussed ideas remotely across multiple timezones.
Technologies: Artificial Neural Networks (ANN), Sinatra, CoffeeScript, Ruby on Rails (RoR), Ruby

Senior Full-stack Web Developer

2008 - 2015
New Bamboo (now Thoughtbot London)
  • Created popular open source Ruby library Dragonfly, for on-demand image resizing, 1.5 million downloads, http://markevans.github.io/dragonfly.
  • Developed projects for many clients including Vodafone, Intel, Disney, Channel 5, News UK, Amnesty, Which?, Spabreaks, Hounslow council, Brojure, JobsGoPublic, many more.
  • Provided evaluations and estimates of work for potential new clients.
  • Facilitated and contributed to user story workshops to scope out project requirements from the beginning, and in retrospective meetings to constantly improve the development process.
  • Met with clients weekly to demo work done, groom the project backlog and plan subsequent work.
  • Mentored and guided junior developers to ease them into projects.
  • Used test-driven development to implement projects using Ruby, Javascript, and other languages including Python.
  • Organized Javascript workshop, gave a number of talks internally and at London Ruby users group.
Technologies: JavaScript, Angular, Node.js, Ruby on Rails (RoR), Ruby

Full-stack Web Developer

2007 - 2008
Wide Area Communications
  • Designed and developed Indesign importer tool, saving Spectator Magazine many hours of work weekly.
  • Developed Apollo Magazine website.
  • Ran weekly reports for Dennis Publishing using SQL.
Technologies: SQL, JavaScript, PHP

Research Scientist

2003 - 2006
BAE Systems
  • Developed blob tracking software using C++.
  • Built C++ utility libraries used by other researchers in the department (of 45).
  • Led research project investigating Simultaneous Localization and Mapping technology for robotic systems, using Bayesian methods.
  • Saved Airbus many thousands of pounds yearly developing a magnetic aircraft wing screw system.
  • Gained an advanced C++ qualification.
Technologies: LaTeX, MATLAB, C++

Dragonfly Open-source Ruby Gem

http://markevans.github.io/dragonfly
A highly customizable Ruby library for managing assets and processing them on-demand. It is used on thousands of sites and has been downloaded 1.5 million times.

Many others have provided third-party plugins (e.g. https://github.com/markevans/dragonfly/wiki/Dragonfly-add-ons), and I've provded some official ones:

- https://github.com/markevans/dragonfly-s3_data_store
- https://github.com/markevans/dragonfly-couch_data_store
- https://github.com/markevans/dragonfly-mongo_data_store

Treehouse JavaScript Framework

https://github.com/markevans/treehouse
An open-source library called Treehouse, written in JavaScript, to work with React.

It is an opinionated framework for dealing with the state in single-page JavaScript applications. It provides cursors and other tools for updating and querying a single immutable state tree.

It is similar in scope to Redux and could be thought of as an alternative to it.

It is not publicized due to the already saturated JavaScript framework marketplace because tools like Redux are well-supported and sufficient. However, in truth, there are things I prefer about Treehouse's approach to that of Redux.

Details for its use are here: https://github.com/markevans/treehouse.

"Fake Server" Command Line Tool for Testing

https://github.com/markevans/fake_server
Command line http server for proxying HTTP requests and caching GETs, using the excellent VCR ruby gem.

Router library for Treehouse JS

https://github.com/markevans/treehouse-router
A very simple but elegant way of providing URL routing (a different and superior approach to most routing libraries).

Tax Calculator for Which? Money

http://www.which.co.uk/money/tax-calculator
Which? is a large UK organization that provides information and advice to consumers.

I helped develop the tax calculator, including complex tax logic that had to be thoroughly tested according to the correct tax rules.

Spabreaks Website

https://www.spabreaks.com
I developed, with a colleague, the Spabreaks.com website (front-end and back-end), making use of PostgreSQL's geolocation extensions.

Languages

JavaScript, Ruby, Sass, ECMAScript (ES6), SCSS, HTML5, HTML, CSS, CoffeeScript, TypeScript, Python, PHP, Elm, Elixir, SQL, GraphQL, Go, C++

Frameworks

Ruby on Rails (RoR), Redux, Angular, OAuth 2, Phoenix, Capybara, Sinatra, Selenium, Svelte

Other

Physics, Mathematics, Freelancing, APIs, Urban Airship, Artificial Neural Networks (ANN), Dash, Streaming, Machine Learning, Neural Networks, Spanish-English Translation, Unix Shell Scripting, WebSockets

Libraries/APIs

Node.js, React, Ruby on Rails API, Rack, Pusher

Paradigms

REST, Agile, Kanban, Functional Programming, Scrum, Test-driven Development (TDD)

Tools

Vim Text Editor, MATLAB, LaTeX, Flow, RabbitMQ, GitHub, Git, Capistrano, Docker Compose, Cucumber

Platforms

MacOS, Amazon Web Services (AWS), DigitalOcean, Docker, Unix, Amazon

Industry Expertise

Teaching

Storage

JSON, Redis, MongoDB, MySQL, PostgreSQL, Amazon S3 (AWS S3)

2015 - 2016

Master of Science Degree (Distinction) in Theoretical Physics

Kings College London - London, England

2007 - 2007

Cambridge CELTA Qualification in English Teaching

Cultura Inglesa - Recife, Brazil

1998 - 2002

Master of Physics Degree in Physics

Oxford University - Oxford, England

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring