Senior python and go developer with 8 years experience. Versatile programmer, good mentor, and award winning eBook animator. Read more…
2015 - present: Senior Software Engineer @ Ingresso
Ingresso is a international aggregator for the primary ticketing market
- Maintained and extended a large monolithic objective c web API.
- Created numerous micro services in python and go for new functionality.
- Refactored and rearchitected django B2C products.
- Integrated with multiple third party APIs.
- Heavily involved in the hiring and training of new staff.
- Introduced testing and the benefits of CI to the team.
- Production experience at scale of docker, kubernetes and google cloud.
- Maintained open source libraries.
2014 - 2015: Web developer @ Leto
Leto was a fast paced Django shop, building out prototype sites for startups
- Built and/or maintained a number of django/js applications.
- Involved in specification and estimation for new clients.
- Set up automated deployments.
- Production experience of AWS.
2010 - 2014: Digital director @ Stunjelly
Stunjelly was a digital publishing consultancy that specialised in complex ebook covertions and corrections
- Created and corrected of large number of ebooks for London publishing houses.
- Fabricated tools for in house teams.
- Pitched and won work from multiple clients.
- Predominately perl and python
2009 - 2010: Web Development Assistant @ Random House
Random House is large book publisher that required a lot of micro sites and internal tools
- Built small websites for authors, or book launches.
- Mainly in ASP classic but also some PHP.
2004 - 2006: Assistant Climbing Instructor @ Westyway Sports Center Weekend/holiday work supervising/coaching children and adults in indoor rock climbing
2007 - 2010: Three dimensional design @ Leeds College of Art
2005 - 2006: Design Scholar @ Bedales School
Python: I would describe myself as an exceptionally strong python developer. I have production experience with most of the major python web frameworks. I have shipped APIs, template based web sites, GUI tools, statically generated sites, serverless micro services, and realtime websocket based applications. I have seen python running at scale and python falling flat on its face at scale. I write good, simple, low-state python code that is designed to be easily understood, easy to replace/refactor, and easy to test (in that order of priority).
Go: This is my second language and the hammer I reach for when python reaches its limits. I have been shipping high volume, low latency go code for over 2 years. I have experience optimising go for both speed and resource usage and would describe myself as competent gopher.
Databases: I have a good working knowledge of MySQL, PostresSQL, and Redis. I have worked with Mongodb and ElasticSearch often (just not recently), and have a passable understanding of Cassandra.
Teams: I believe that I work well in a small to medium sized team. I aim to provide velocity to any team I’m part of. I have mentored both junior developers and non technical staff. I have managed developers in the past and my ability to communicate concepts and designs is good. I am well versed in XP and have lots of experience with agile and kind-of-sort-of-a-bit-agile style set ups.
System Design: at a micro level I favour a tracer bullet style of design that relies on getting code in to production quickly, and then using metrics to evaluate what the next iteration of development should be. On a macro level I like domain driven, asynchronous, micro services with minimal interdependencies.
API Design: Having spent the last 4-5 years primarily either writing or consuming APIs I have fairly strong opinions about public API design. APIs should be consistent, easy to deserialise, and provide clear information when things deviate from the happy path. I recently read Consumer-Centric API Design by Thomas Hunter, and I feel like it neatly summarises my thoughts and feelings about API design.
Date of Birth: 21/06/1988 (30)
References: On request