Last updated November 2022 Steve McIntyre - Curriculum Vitae Name Date of birth Nationality Marital status Steven Andrew 28th May 1974 British Married McIntyre Home address Telephone Email address 87 Kendal Way +44 7775 786572 steve@einval.com Cambridge (mobile) CB4 1LP. 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 I have been living and breathing Open Source for many years. I Source 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 I have worked on a range of embedded devices, covering Network Development 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 BA (MA) & MEng: Electrical and Information Sciences Tripos 1997 (EIST) Churchill College, Cambridge Jan 1988 - Jun S Levels: Chemistry, Physics 1992 A Levels: P&A Maths, Pure Maths, Applied Maths, Physics, Deanery High Chemistry, Gen. Studies School AS Level: Physics Wigan GCSE: English Lang., English Lit., Maths, History, French, German, Chemistry, Physics Employment History June 2020 I joined the small Platform Team in Pexip, working to develop onwards and maintain the minimal Debian-based OS used to underpin Software their video conferencing products. This started with basic Engineer package maintenance and rapidly expanded. I helped to Pexip 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 I joined Arm's new OSS group, working on improving support for 2015 their processors in the Linux and Free Software world. I led a Staff Software project to optimise ChromeOS, working in conjunction with Engineer Google and a key Arm silicon partner. In parallel with that, I Jan 2015 - May took on a key role supporting Debian's multiple Arm ports: 2020 porting software, build machine setup and administration, etc. Principal This continued throughout my time in Arm. Software In January 2011, I was seconded into Linaro as a Technical Engineer Architect. I started in the Office of the CTO, continuing with Arm ChromeOS for a while, then driving a new hard-float Jan 2011 - May ARMv7-based ABI across the major Linux distributions. This 2020 included widespread toolchain changes (gcc, binutils, glibc) Technical and lots of the bootstrapping work on the Debian "armhf" port. Architect In November 2012, I helped found the new Linaro Enterprise Linaro 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 I was employed as a Senior Software Engineer in the core/ 2010 platform team, working on a Linux-based IPTV set-top box. I Senior Software took responsibility for a number of key areas: maintaining the Engineer Linux kernels and other core software for a wide range of Jan 2010 - Mar different platforms/processors; developing and maintaining 2010 device drivers; evaluation of new technologies; working with Team Leader technical partners; supervising and mentoring junior Amino developers. I also helped to manage the Engineering network, Communications 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 I joined Allstor as a Software Engineer in June 1997. I ported 1998 existing software from Windows NT to AIX, Solaris and NetBSD. Software This involved learning about device drivers and filesystems Engineer and some SCSI. Nov 1998 - Apr During 1999, as Senior Systems Programmer, I took charge in 2001 developing some of the features of a major new product Senior Systems release. I learnt much more about SCSI and filesystems. I also Programmer was asked to represent the company at trade shows and in Apr 2001 - Jul meetings with customers and business partners. In 2000 I was 2003 given sole control of major re-architecture work on our main Lead Systems software product. This involved significant redesign and Developer rewrite of many key components. Jul 2003 - Sep In 2001 I became Lead Systems Developer. I contributed key 2005 work in the design and implementation of several new projects, Senior I was also asked to assist the management team, where I Technologist advised in high-level talks about acquisitions and the Allstor Software company's future. (Plasmon In 2003, the group was re-organised and I was given the role Connectivity of Senior Technologist. This had a range of responsibilities: Solutions) 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