Leo Lapworth CV
Print friendly page (if you must)
- Web: https://leo.cuckoo.org
- Email: leo at cuckoo.org
- Tel: +44 7711 671 828
- Driving license: Clean
About me
A little about me and the types of job I would be interested in:
I'm looking for something interesting - either as CTO for SME
, Team lead
, Systems architect
or Senior developer
- mostly remote
/ Bath (UK)
area, contract or permanent.
I love getting things done, either on my own or with a team. I'm interested in all internet related technologies. I love working with Perl
, though I wouldn't usually start a new project in it. My current focus is TypeScript
, Serverless
and Event based architecture
, using AWS - though this is a passion rather than a requirement.
I have full stack
experience, though CSS is not where my strengths lie, and lets not talk about design skills!
I want to offer my technical experience in creating value
for wherever I work, providing excellence
to the end users of the systems I am involved with. I also love finding the cleanest simplest solution to complex problems
and supporting others
that I work with to do the same.
Skills
I've limited this list to where I am most experienced, or have most interest. It is not exhaustive, please do ask if there is something specific you are after, I might have experience!
Web/Internet Development
- Perl (26 years) -
OO Perl
(23 years), including Moose and Moo, Catalyst and Mojolicious, Template toolkit and DBIx::Class (ORM) and 1001 other modules. - JavaScript (16 years) - TypeScript, Node.js (4 years) including AWS-SDK
- Front-end: Vue.JS (4 years), Quasar Framework and VuePress
- AWS (4 years): EC2, S3, SQS, SNS, SES, DynamoDB, ApiGateway, Lambda, AppSync (GraphQL), Amplify, CloudFormation etc, and CDK.
- SQL: MySQL (24 years)
- NoSQL: ElasticSearch (8 years) and DynamoDB (4 years)
- Misc: Swagger REST API, Git (16 years)
System Architecture and sysadmin
- Fastly CDN/VCL -
VCL
/load balancing
/headers
/caching
/purging
/scale
- Cloud config with Terraform and AWS CDK
- Serverless computing (4 years)
- Event driven architecure (4 years)
- Server config with Puppet (14 years)
- *nix SysAdmin (26 years)
- Debian packaging & deployment
- DNS / Email / etc
Team and project management
- Agile(ish) (9 years) -
stand ups
/code review
/one to ones
/issue tracking
/prioritisation
- Teams (23 years) - enjoy
running mixed skilled teams
andmentoring
- Projects (25 years) -
very good at working with all levels of the business
-identifying need, rather than want
, anddelivering to exceed expectations
.
Open Source / Talks / Projects
Open source
https://leo.cuckoo.org/opensource/
Talks
Projects
http://leo.cuckoo.org/projects/
Work Experience
Kaarbontech - CTO
Nov 2019 - Present
At Kaarbontech I worked with the existing small team and introduced standards, processes, policies and automation, added new members to the team and facilitated knowledge transfer.
We completed migration from multiple hosting companies to a single virtual cloud service with multi data centre DR strategy. I rewrote puppet configuration, upgrading and separating configuration from code and improved many aspects streamlining deployments and new installations.
I built a serverless asset risk scoring system using AWS CDK deploying Step Functions/lambda/Athena/API Gateway. Automated Lets Encrypt certs using AWS Codebuild and docker. Automated Cordova app builds to use Github Actions triggered from form. We used AWS to build a serverless sensor data gathering stacks.
I refactored the Perl code and implemented a new login process, replacing Basic Auth with a token based system. Worked on a configuration system (custom configuration being what brings value to our customers) with JSON Schema validation to deliver changes faster with fewer issues. Worked with the Info Sec Officer; created and implemented policies, processes and best practices that enabled the company to achieve ISO27001 accreditation.
The Air Agents - Startup CTO (remote)
May 2019 - Oct 2019
I joined this startup to help take it from a great service, held together with google and 3rd party apps, manual data entry and sweat. To a company with the power to scale and the ability to offer an even better guest experience.
Developing with, and teaching serverless technologies to build a team that can rapidly deliver excellence, streamlining the business and solving issues.
We got a great amount done, but the company direction changed, as did the budget.
CTO for - The startup that wasn't (remote)
Oct 2018 - Feb 2019
Trying to get a startup together with someone, I took on the CTO role and focused on researching (mostly AWS/Serverless); prototyping; talking to and visiting outsource companies, solving problems and writing specs for microservices that would have been initially developed using an outsourced team.
The project got close to funding (we didn't want to risk investors money without getting to the full amount), I learned a whole new way of working and enjoyed the process; even if it didn't quite work out.
Foxtons - Operations Director (web)
Jan 2016 - Sept 2018
As the team expanded to 9 people (1 ux, 2 front end, 6 developers) I needed the ability to focus more on the strategic direction of the team's projects, and still have time to do code reviews and hands on technical mentoring. To this end we hired a fantastic Web Manager who reported to me and ran the team day to day.
This dynamic worked really well. The team referred to us as their work mum and dad, I was able to give clearer technical focus and the Web Manager was able to support them on a daily and more personal level.
During this time we experimented with new technologies and delivered several great projects, including a major change for Landlords and Tenants, being able to see a gamified progress of a lettings deal and access a huge amount of additional information. This made a major difference to the business, alleviating a lot of the chasing of clients for information.
Foxtons - Web Manager / Senior Web Developer
July 2001 - Dec 2015
Foxtons estate agents had a small team of inexperienced perl developers. I was asked to join as the senior developer and quickly took on managing the team as well.
Initially the focus was development of a new site, though at the same time I implemented significant automation of all systems and started improving the technical abilities of the existing members of the team.
The team I ran maintained the market leading
status for many years, winning many awards for the Foxtons website. The site scaled from 2 million page impressions a month to over 21 million.
Over the long period I was at Foxtons I saw the full life cycle of many projects. The focus was always on delivering excellence and the right solutions for the situation. Here are a few of the technologies and projects I ran:
Core Tech
- Perl, Starman (webserver), Nginx, memcached, MySQL, ElasticSearch, Fastly (CDN/caching service), Puppet, Debian, UI/UX, Prototypes.
Main areas of Focus
Website
- Gateway to the business, with a wealth of features from location / draw / travel time (when Foxtons IPO'ed an estimated 70% of the business value was in it's IT systems). Polygon searches to local area guides and some of the best UK school information on the internet.Portal
- Allowing customers to login and access their data and proceed with business (document uploading, document signing, payment portal, data gathering, issue tracking e.g. leaking sink, user updates and CTA's), This made a significant different to the efficiency of the business and the quality of service that the business offered.Imports
- property / school / transport / location data / etcExports
- our data to 3rd parties e.g. Rightmove / Zoopla using various APIsEmail alerts
- Generating the property email alerts each dayBusiness Reports
- e.g. Land Registry analysis to work out market shareApps
- providing APIs for various apps, I built the first versions many years agoInternal systems
- intranet / internal admin for data sets / plasma screens for front officesInternal Motivation Systems
- plasma screens / Friday boards (team meetings with data driven presentation)Internal sysadmin
- monitoring systems both internal and external
Cloudband.com - DBA / Developer
April 2001 - June 2001
Cloudband required me to redesign their database schema and migrate the existing (2 years worth of) data into the new postgreSQL schema. I approached this by creating an XML document and DTD describing the new schema (60+ tables) and a perl script which would create both the documentation (something which was non-existent) and the database creation code from the XML. I then created a migration OO module to assist with the data migration and testing of the data validity.
Torrington Interactive Ltd - Senior Developer
Feb 2001 - End March 2001
In my short time at Torrington (another causality of the Internet low), I designed and created several systems and projects: Agents - creating an agent to gather information from the web / mailing lists / news Mail Analyzer - comparing information on subscribers to multiple mailing lists. Technology comparisons, comparing HTML::Template with Template Toolkit.
Emap Online - Technical Manager
April 2000 - Jan 2001
Emap Online: was the award winning online division of Emap PLC, one of the worlds largest publishing companies.
As Technical Manager I was able to build a strong team of people and guide the teams development to a point where we had invested sufficient time to drastically reduce project development costs through a set of standard approaches. This has made Digital TV versions of our sites and XML feeds of our content very simple to implement.
We had just finished the development of several key systems, one of which allowed the full integration of all location information (from resort guides to piste maps) across all the travel products in the companies portfolio.
I was responsible for all day to day issues relating to the technical team, which included the management of the four permanent staff working for me and any contractors we might be using. Once a specification had been created for a project it was my responsibility to raise any issues before allowing development to start. When a project had been signed off I was required to project manage all technical aspects and liaise with the other areas of the company; from design to commercial and content.
I was still actively developing, creating a new system for the EscapeRoutes.com site which included a generic shopping basket system.
Emap Online - Technical Operations Manager
August 1999 - April 2000
As Technical Operations Manager I was responsible for the day to day running off all the company servers; 14 Solaris machines, a linux box and an NT server. I was also responsible for creating and implementing infrastructure and security policies, as well as personalised email list systems. I was the line manager for the Technical Operations Assistant.
During my time as Technical Operations Manager I devised and implemented a new web server farm. The primary goal of this network was to make our sites fast, resilient and reliable. This was accomplished by using firewalls and load balancing with front end servers which proxy to back end application machines. Implementing the new server farm also included the full configuration of the servers and a new set of standards for development which allowed better logging of information and easier sharing of functionality between sites and versions.
I also remained the technical contact for A2bFlights.com (as I developed the site from scratch) and Bargainholidays.com as well as working on other projects when it was required.
Emap Online - Network Manager - Webmaster / Internet developer
August 1997 - August 1999
As Network Manger my primary responsibility was the servers. From ordering and liaising with hosting companies to maintenance and development, for all 9 servers (Web, DNS, Mail and Office) which were hosted on an array of machines (Sun Solaris, linux and NT).
I spent the bulk of my time developing and maintaining several of the companies web sites (Bargainholidays.com, Whatsonstage.com, The Digital City Network) as well as working with others in the technical team on all of Emap Online's products which were coded predominantly in Perl using DBI and MySql. I created numerous web editing systems and user interfaces to databases, including versions for Web, Digital TV, Palm Pilots and other Mobile devices. Regularly working with third parties required that I communicated methods and ideas for development (both technical and personal) between us.
I was often used for problem solving and fire fighting within the company as I had a broad knowledge of all systems as well as being able to quickly comprehend and find requirements for a solution.
Channel D Ltd - Webmaster / Net Software Engineer.
June 1996 - July 1997
My duties included setting up and running Internet and Intranet servers (including editing systems) for small to medium sized companies. I used HTML, CGI and Perl to implement a range of projects from shopping baskets to online database interfaces. This job allowed me to develop my TCP/IP networking and PC support skills.
Inter-Action Ltd. - PC training / support
July 1995 - Sept 1995
I worked for Inter-action as their technical support, updating and troubleshooting the PC systems and training other members of staff how to use the new software.
Education
- BSc (Hons) Psychology - Essex University
- A-levels: Maths, Politics, Geography - LA SWAP 6th form.
- GCSEs: 8 (A-C), 1 D - Stoke Newington School.
Other Experiences
Inter-Action - Advisor to the Youth-Tech Advisory panel for Inter-Action
April 1997 - June 1999
Inter-Action was a London based charity working in the IT field, training underprivileged Londoners (mainly people aged 14 to 25) in the use of computers and multimedia tools. My role on the advisory panel was to offer technical knowledge of the Internet. I helped devise and teach a peer training system in business and computer skills for peer trainers working with Inter-Action. This course was run both in the UK and Russia.
Prompt
Sept 1994 - June 1996
University of Essex computer society - Webmaster, teacher & founder member. Prompt was the second largest society on campus, we developed it to help teach each other Unix and to improve the Universities software libraries. Eventually Prompt diversified to teaching courses on using the University computer system. I taught several courses in web page creation and how to use email programs. I also created and maintained the societies web site.