Robert Berry

Languages and Technologies


I’ve almost always been the most experienced python developer at every company I’ve worked at and so have typically found myself falling into a mentorship role where I introduce best practices from testing to packaging/deployment to coding (SOLID, functional paradigms, reuse, etc).

Over the last five 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 two years using other languages and am keen to continue working with other languages in addition to python where possible.

2016-2017 - Admedo

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.

2015-2016 - Lyst

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.

2013-2015 - Lost Property

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 and

2012-2013 - Freelance

Consulting with as a senior python developer and systems architect for companies such as:

2011-2012 – Potato

Lead engineer on one of the teams working on 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.

2010-2011 – Poke

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.

2008-2010 – Lateral/Tangent

Development team leader managing a small team that has varied in size from 4 to 10 people. Developed the multilingual social networking sites and, which was extremely useful in gaining a more thorough understanding of Unicode along with ugettext, i18n and l10n issues. Acted in an informal mentoring capacity to help train and improve the standards of team members who were less experienced in python and/or django as well as some of the frontend developers who were not as strong in javascript, (x)html and css. Heavily involved in planning and costing most projects any team member is involved on. As team leader seek to always maintain a positive attitude amongst my teammates and try to keep everyone engaged and working in the areas they are most passionate about.

2006-2008 – Airlock

Lead developer on several projects including for BMW, for Heineken and an educational project for the BBC. Server side lead on and

First role was to introduce SVN to the company but primarily handled the server side requirements of projects. Used the python web framework django to develop an internal issue tracking system. After getting familiar with django, improved codeigniter base functionality by implementing features inspired in part by those found in django. Added django style form handling where a model is defined to represent a form with built in (X)HTML rendering, server side validation and redisplay of data. Airlock was primarily a PHP shop but I used python about 50% of the time; basically on anything not directly web facing which includes sysadmin tasks, webscraping and text processing. BBC websites are nearly always static HTML; used python to generate static builds by populating templates with content from a master document.

2005-2006 - Special Website Development LTD.

Rewrote the company intranet to standards based valid CSS/XHTML. Separated inline javascript to external files and moved event handlers to onload functions to maintain clean HTML and better separation of content & presentation. Improved accessibility. Implemented redesign of both company site and intranet.