Skip to content

Latest commit

 

History

History
148 lines (100 loc) · 8.79 KB

index.md

File metadata and controls

148 lines (100 loc) · 8.79 KB
Error in user YAML: (<unknown>): mapping values are not allowed in this context at line 2 column 27
---
layout: page
title: Agile Abstractions\: Michael Foord
permalink: /
---

I'm Michael Foord and I'm a Python trainer and contractor. I specialise in teaching Python and the end-to-end automated testing of systems. My passion is for simplicity and clarity in code, efficient lightweight processes and for well designed systems. As a Python core developer I wrote parts of unittest and created the mock library which became unittest.mock.

Recent customers include:

  • The BBC & BT (training)
  • Gigaclear Ltd (team lead, backend API development)
  • Panoramic Feedback (full stack web application developer)
  • OnSemi (training)
  • JBI International (training)
  • UKAEA (contract work on BLUEPRINT software for designing fusion reactors)

A fun excerpt from my most popular course, Advanced Python:

{% include youtube.html id="4t6yzCCQ76I" %}

My favourite articles, on software development and testing best practises and secure web application development:

Training

Most of my training is now delivered remotely, via Zoom or Teams, but I'm available for onsite training.

My most popular courses are:

Bespoke courses, e.g. web scraping and SQL, are also available. Contact me

Several one hour sessions, eight so far, on a range of Python topics from generators to concurrency to testing with pytest are available on YouTube. :

My favourite presentation from PyLondinium 2019: The Python Object Model

{% include youtube.html id="qqW4QYTeD40" %}

Contact me

michael@python.org

Past Work

Highlights of the last few years.

  • 2024-25 Teaching Object Oriented Theory with Python for the BBC

  • 2024 Teaching Advanced Python for BT

  • 2024 Scrummaster certification with Agile Alliance

  • 2023-current Team lead, building backend API servers for Gigaclear Ltd

  • 2022-23 Delivering training courses to over 200 engineers for OnSemi, an automotive semiconductor manufacturer. Level 1 and level 2 Python (custom courses).

  • 2018-current Training with JBI Training, Advanced Python, Practical Python, Webscraping, etc

  • 2022 Teaching Text mining and SQL and databases for Cambridge Spark

  • 2021-23 Full stack developer for Panoramic Feedback, a Python web application (including implementing 2FA with Twilio)

  • 2021 Six months contract work with the United Kingdom Atomic Energy Authority working on software for the design of fusion reactors, turning a Phd project into an engineering project

  • 2020 Delivering a Natural Language Processing AI project and training for GlobalMedia

  • 2020 Teaching Advanced Python Mastery for Bloomberg, four courses delivered in London and Frankfurt

  • 2018 Working with Gurock on building an end-to-end automated test system, including web functional testing with Selenium, API testing, a pytest plugin and full API client

  • 2011 - 2018

    Python teaching and training, from 2011-2018 on behalf of David Beazley for customers like HP and HP enterprise in the UK and Ireland.

  • 2017 - 2018 Principle Test Automation Engineer for Red Hat Ansible

    Principal Test Automation Engineer in the Ansible QA (Quality Assurance) team for Ansible. Working on the automated verification, both tests and infrastructure, of Ansible Tower. Ansible Tower is enterprise web app automation software using the devops tool Ansible.

    The tests, and test system, were written in Python using py.test and various different cloud backends.

  • 2014 - 2017 Go Developer for Canonical

    Working on the Juju devops tool, written in the Go programming language and using MongoDB. Working with cloud providers including MAAS, Amazon, Azure and Google. Two years spent on the networking team.

  • 2010 - 2014 Django Developer for Canonical

    Web application and web service development, as part of the online services team. Primarily working on two Django projects, the Ubuntu Payment Service and the Ubuntu Single Sign On Service.

  • 2009 - 2010 Silverlight and Django Web Application Developer for COMsulting

    Developing line-of-business web applications using Django and IronPython in the browser with Silverlight.

  • 2006 - 2009 Senior Software Engineer for Resolver Systems

    A small team developing a desktop application for the financial services industry. We develop for .NET using IronPython, Windows Forms and C#.

To see my professional endorsements and more details of my career history, see my LinkedIn Profile.

Talks

A selection of some of the talks and interviews I've given on Python and software engineering across my career.

Testimonials

Truly a professional. Knowledgeable, prepared to answer any question from theory and/or experience. Funny, intuitive and very helpful in any technical way.

The course was very well planned out. Michael was a great teacher!

The course was great, lots of exercises to apply what you were learning. Very good course.

Deep technical background and hands-on experience could give good answers on all questions raised.

One of best trainings that I ever attended.

Technologies

Python, Advanced Python, C#, Go, Linux, docker, postgresql, SQL, MongoDB, git, unitttest, pytest, TDD, Django, SQLAlchemy, CI, Jenkins/Travis, devops, AWS, Scrum, Selenium, Flask, OOP, REST, APIs, async, threads, multiprocessing, OWASP, security.