Product-oriented engineer with a preference for being involved in the full lifecycle from helping gather requirements and plan through building of features to monitoring impact of said features when released to customers.
Over the last nine years I have worked extensively creating and consuming various APIs and microservices.
Although I am very experienced and comfortable with python I have spent much of the last few years using other programming languages and would be keen to continue with this polyglot approach if possible.
Worked on productising AI systems that are able to examine financial transactions to formally validate correctness. Designed and built UIs that show coverage of which parts of the system are sending financial trading messages. Keeping the infosec requirements of the company’s main webapp inline with best practices.
Joined as a senior engineer while the company was winding down in order to help get the tech side of the business more viable for sale. Working with less experienced members of the team to help level them up in several areas including using the django ORM more effectively, how to split application code at its boundaries for reuse and effective testing, product management techniques and breaking down requirements. Introduced concepts around boundaries & adaptors/hexagonal architecture and general ways to write modular, testable code.
As engineering lead I took a slightly less hands-on approach in helping to launch a new product line for an under-served segment of the market. Working closely with stakeholders and c-level execs to gather requirements and validate user research and business assumptions. Worked as main engineer on a react + serverless component that integrated with 3rd party comms platform to provide lead management for company consultants. Led refinement, planning sessions and retros.
As lead engineer was responsible for guiding the development of the Zero Deposit platform as well as growing the dev team. Consistently delivered new features ahead of schedule while at the same time keeping critical bugs to a minimum. The platform is largely a monolithic python webapp with supporting microservices written in a variety of languages including Go and Haskell. The highest praise received during this time was that new starters in the dev team consistently complimented the structure and ease of use/discovery of the codebase. As part of the leadership team was involved in setting company goals and roadmap.
Worked as part of the backend team developing the internal API used for the client facing app using Ruby on Rails. Worked on a testing system for the API using Haskell (Servant + Quickcheck) as well as leading internal workshops on Haskell to familiarise the rest of the team with the language.
Worked on improving the internal system architecture with improvements to the queue system, message delivery and deployment systems.
Engineer on the acquisition tech team where we worked to provide tooling for the acquisition/analytics team. This included RESTful endpoints and cli clients for the processing/import of analytics data as well as end-to-end automatic processing of analytics reports from Google and de-duplication of products.
As co-founder of a small development agency involved in all aspects of the business from strategy to business development to product/project management to development but mainly operated as lead software engineer.
One of our aims was to work with small startups who were just getting started and help them to bring their business ideas to life through prototyping/MVP. We had some success doing this with companies such as http://warblr.net and https://catinaflat.com.
Consulting as a senior python developer and systems architect for companies such as:
Lead engineer on one of the teams working on http://googleartproject.com. Developed bespoke cms & data processing features to allow museums to import data and images from their collections in a variety of formats. Created tool to allow admins to re-map Google streetview data and change the route through a museum’s map.
Python/django developer working as part of a small team to deliver bespoke campaign pieces. Involved in all areas of technical delivery from recruitment to costings to project specifications but primarily development. Projects range from the multiplayer online game balloonacy to relatively simple microsites for skype but everything at Poke is built to the most exacting technical standards and consequently have learnt an incredible amount about performance and server optimisation.