Last updated November 2022
Also available in other formats.

Steve McIntyre - Curriculum Vitae

Name

Date of birth

Nationality

Marital status

Steven Andrew McIntyre 28th May 1974 British Married

Home address


Telephone


Email address

87 Kendal Way
Cambridge
CB4 1LP.
+44 7775 786572 (mobile) steve@einval.com

Summary

I am an experienced professional Software Engineer with wide-ranging background knowledge and skills. I have had an extensive career working in and around Open Source, but I also have a pragmatic approach to problem solving and development in a commercial environment. I am comfortable working at any level of a project: high-level architecture of large complex systems; leading a team to deliver products; deep dives into specific components to solve thorny problems.

Skills

Linux and Open Source

I have been living and breathing Open Source for many years. I started using and developing on Linux in 1994. I became a Debian Developer in 1996, and I've been a key member of the Debian project since. I've had many roles, from basic package maintenance all the way up to Project Leader (elected twice, 2008-2009 and 2009-2010). I'm currently active in many Debian teams, both deeply technical (UEFI, bootloader, installer, CD/DVD images) and "softer" things like the Community Team.
I have organised and run lots of events: conferences, development sprints and many social gatherings. I'm also an experienced speaker, presenting at multiple conferences over the years about Debian and other Open Source topics.

Technologies

I have successfully designed, developed and maintained software components to suit a wide range of sizes and configurations, from small standalone embedded systems up to much larger, more complex distributed systems spread across the globe.
I've worked a lot with virtualisation, containers and clouds in recent years: from setting up development and QA environments to deploying and managing large systems.
I have a good working knowledge of networking, from raw ethernet through on-the-wire protocols all the way up to application level, from cabling up to user management, system administration and firewalls.
I'm well experienced in the area of storage. I have written and maintained code to manipulate a wide range of devices, specialising in jukeboxes, optical drives and CD/DVD drives via SCSI and ATAPI. I have also developed and maintained several filesystems.

Languages

I have a lot of experience in C programming on multiple platforms. I have developed and maintained software on multiple versions of Linux, Unix and Windows, at all levels from simple GUI and CLI programming through to device drivers and filesystems at kernel level.
I also have experience of a wide range of other languages. In particular, I have developed and maintained projects in Python, Perl and POSIX shell, and I'm comfortable working in all of them. I have picked up skills in lots of others over the years too: SQL, Javascript, awk, sed, etc. I tend to find it quite easy to pick up new languages as needed, typically starting with debugging other people's code!

Embedded Development

I have worked on a range of embedded devices, covering Network Attached Storage through to set-top boxes. I have knowledge of a range of specialised and general-purpose CPUs (Arm, Intel x86, PowerPC, SuperH), working on everything from bootloader level up to Linux command line and beyond. I have proven ability to deliver working device drivers and environments for application developers to use as a base for a variety of product solutions.

Tools

My general level of Unix knowledge is very high - over the years I have used and developed on Linux, FreeBSD, NetBSD, and a wide range of older proprietary systems.
I have expert skills in common tools, build systems, version control systems, etc. I've also helped set up and maintain bug trackers and CI/CD systems to aid in development projects.

Education and Qualifications

Sep 1993 - Jun 1997
Churchill College, Cambridge
BA (MA) & MEng: Electrical and Information Sciences Tripos (EIST)
Jan 1988 - Jun 1992
Deanery High School
Wigan
S Levels: Chemistry, Physics
A Levels: P&A Maths, Pure Maths, Applied Maths, Physics, Chemistry, Gen. Studies
AS Level: Physics
GCSE: English Lang., English Lit., Maths, History, French, German, Chemistry, Physics

Employment History

June 2020 onwards
Software Engineer
Pexip

I joined the small Platform Team in Pexip, working to develop and maintain the minimal Debian-based OS used to underpin their video conferencing products. This started with basic package maintenance and rapidly expanded. I helped to architect and deliver a new custom configuration management system designed to scale up and out much better than anything available previously. Again, my role has included the other typical tasks for an experienced senior engineer: mentoring juniors, picking up and solving deep bugs, assisting with processes and documentation, roadmap planning, etc.

Mar 2010 - Jan 2015
Staff Software Engineer
Jan 2015 - May 2020
Principal Software Engineer
Arm
Jan 2011 - May 2020
Technical Architect
Linaro

I joined Arm's new OSS group, working on improving support for their processors in the Linux and Free Software world. I led a project to optimise ChromeOS, working in conjunction with Google and a key Arm silicon partner. In parallel with that, I took on a key role supporting Debian's multiple Arm ports: porting software, build machine setup and administration, etc. This continued throughout my time in Arm.
In January 2011, I was seconded into Linaro as a Technical Architect. I started in the Office of the CTO, continuing with ChromeOS for a while, then driving a new hard-float ARMv7-based ABI across the major Linux distributions. This included widespread toolchain changes (gcc, binutils, glibc) and lots of the bootstrapping work on the Debian "armhf" port.
In November 2012, I helped found the new Linaro Enterprise Group. I helped set up the group's initial processes, then did a wide-reaching study of the Open Source ecosystem to identify key software packages that might need porting and/or optimisation for the new 64-bit AArch64 architecture.
In March 2013, I helped found the next segment group: the Linaro Networking Group. I became Technical Lead for one of LNG's key sub-projects, driving efforts to widen and improve support for Big-Endian Linux on a range of Arm platforms. I also started a cross-Linaro project to improve on-boarding and mentoring for assignees and employees. Finally, I became very involved in LNG's CI and testing efforts; I developed software called VLANd to control setup of test networks for key networking performance tests.
In 2016 the VLANd project led to my next role in Linaro in the team developing LAVA, Linaro's Open Source testing automation framework. I joined the team to liaise with Linaro's other groups; the role expanded into more areas, from architectural review to documentation. I also started a series of user forum meetings to improve communications between the developers and users.
In August 2019, I became Technical Owner of a new Lead Project for Linaro, Devicetree Evolution. This covered a range of initiatives to improve Devicetree, a key technical piece in the Linux/Arm ecosystem.

Sep 2005 - Jan 2010
Senior Software Engineer
Jan 2010 - Mar 2010
Team Leader
Amino Communications

I was employed as a Senior Software Engineer in the core/platform team, working on a Linux-based IPTV set-top box. I took responsibility for a number of key areas: maintaining the Linux kernels and other core software for a wide range of different platforms/processors; developing and maintaining device drivers; evaluation of new technologies; working with technical partners; supervising and mentoring junior developers. I also helped to manage the Engineering network, including the source code repositories.
In 2010, I was promoted to Team Leader and asked to take charge of a team working on a totally new product line. My team and I made very good progress, delivering well on an incredibly tight schedule.

Jun 1997 - Nov 1998
Software Engineer
Nov 1998 - Apr 2001
Senior Systems Programmer
Apr 2001 - Jul 2003
Lead Systems Developer
Jul 2003 - Sep 2005
Senior Technologist
Allstor Software (Plasmon Connectivity Solutions)

I joined Allstor as a Software Engineer in June 1997. I ported existing software from Windows NT to AIX, Solaris and NetBSD. This involved learning about device drivers and filesystems and some SCSI.
During 1999, as Senior Systems Programmer, I took charge in developing some of the features of a major new product release. I learnt much more about SCSI and filesystems. I also was asked to represent the company at trade shows and in meetings with customers and business partners. In 2000 I was given sole control of major re-architecture work on our main software product. This involved significant redesign and rewrite of many key components.
In 2001 I became Lead Systems Developer. I contributed key work in the design and implementation of several new projects, I was also asked to assist the management team, where I advised in high-level talks about acquisitions and the company's future.
In 2003, the group was re-organised and I was given the role of Senior Technologist. This had a range of responsibilities: providing knowledge and support to the product development teams; evaluating new technologies; liaising with partners and customers; providing technical training and mentoring for other developers; leading key development projects and consulting on development projects wherever necessary.

Miscellaneous

I have a full clean UK driving licence, and I own a car.
I am a keen role-player. I was heavily involved with CURS, the University Role-Playing Society, when I was in college. I have continued to run and play in games with friends regularly ever since.
I am interested in almost all forms of sport and am willing to try anything, even if I have little skill.
I love travelling to places all over the world with my wife, and I'll happily bore people with stories of our adventures!

References

Available on request
https://www.einval.com/~steve/cv/ November 2022