I like to introduce and think about myself as a programmer. And I am one, for sure, but what really drives me is solving problems, be it the one-byte-in-a-billion data corruption kind, understanding why a workload is performing worse than expected or building infrastructure and operation team skills needed to deploy Arm powered servers in HPC environment.
- Arm architecture (delivered Armv7-A and Armv8-A technical, face-to-face training to many Arm partners software and hardware teams)
- Programming (particularly low or operating system level, C and Arm assembly, but if necessary can code using any syntax and paradigm required, from shell to Python to Prolog)
- Problem solving or debugging... (proved record of tracking down and fixing one-in-a-thousand/ million/billion issues in software and hardware)
- ... wherever computing happens (worked with smallest of microcontrollers, deployed Arm-powered servers in HPC clusters and pretty much everything in between)
- Driving technical change (learned - the hard way - the art of "negotiation" with indifferent - in the best scenario - teams and communities)
- Public speaking (at least about technical subjects I understand and believe in)
Senior Principal Engineer
Arm, Technical Solutions Group, Cambridge, UK, October 2019 - Present
- Continuing the "Arm engineering on Arm" mission...
Arm, Technical Solutions Group, Cambridge, UK, October 2016 - September 2019
- Technical lead and driver of the "Arm engineering on Arm" programme, aiming to make widely defined Arm engineering use Arm technology.
- Planned and delivered AArch64 compute in Arm’s European data centre (15% of total capacity) based on the Comanche (ThunderX2 powered) servers, working closely with representatives of HPE, Cavium, AMI and US national labs to bring the project from prototype stage to production.
- Built infrastructure to handle Arm-powered machines in Arm IT estate, working with networking, platforms, applications, infrastructure and enterprise teams.
- Built direct engineering relations with two major EDA vendors and other, smaller, ISVs, helping with porting their software to AArch64.
- Evangelised the Arm on Arm programme at two Arm Global Engineering Conferences, scooping the "Best Talk" prize on the way.
- Delivered three generations of Arm-powered workstations to various teams at DSG, CE-OSS and Enterprise IT.
- Helped countless teams at Arm, from bioinformatics research, to ML software, to HPC tools with problems or at least access to Arm-powered platforms.
Arm, Development Solutions Group, Cambridge, UK, January 2014 – October 2016
- Member of the Advanced Product Development team.
- Research areas:
- processor performance analysis (including microarchitectural analysis),
- interconnect performance,
- feedback driven optimisation,
- tracing solutions,
- cycle accurate modelling parallelisation,
- power modelling.
- Influenced group strategy by regular APD updates to the management.
- Advocated and then personally involved in creating two Open Source tooling related job positions in the group.
- Co-creator and the "strongest voice" of the "develop for Arm on Arm" idea, particularly articulating the need for an Arm engineering workstation.
Linux Internals Development Lead
Arm, Systems Design Division, Cambridge, UK, July 2010 – December 2013
- Was responsible for pretty much all Linux-related activities in the division, through the whole product portfolio.
- Became an Open Source evangelist and got involved in legal aspects of using Open Source as 3rd Party IP.
- Advocated automated approach to Open Source licence compliance process (long before it became trendy!)
- Maintained Versatile Express support in Linux kernel, making it the first Device Tree "powered" platform in the main line.
- Worked on bringing up new VE processor boards, fixing hardware problems on the way.
- Proposed and prototyped use of Virtio in Arm Fast Models (in place of a custom, semi-proprietary solution) and in result had to co-edit the OASIS Virtio 1.0 specification document.
- Seconded to the Research group to investigate state transfer between modelling environments (particularly Arm Fast Models and gem5).
- Promoted use of standard interfaces (for example perf) in developer tools like Arm Development Studio and Streamline.
- Worked with different groups at Linaro since its inception, with knowledge, skills and services going both ways.
Software Design Senior Engineer
STMicroelectronics (R&D) Ltd., Bristol, UK, July 2007 - June 2010
- Involved in development & maintenance of Linux kernel, particularly SH-4 architecture & STM-specific device drivers
- Responsible for bring-up and Linux kernel support on new SOCs, using emulation platforms (Palladium, Veloce) and from day 1 of the silicon (proud to have STi7108 package with number “1” penciled on it, amongst other “artifacts” in my collection).
- Debugged numerous “interesting” hardware defects, from missing reference voltage at GPIO pads ring to spurious DMA pacing signals generated by audio input cell.
- “Tamed” and worked with the lead SOC micro-architect on making the designs (particularly glue logic) more software friendly.
- Proposed and implemented major “vendor kernel” BSP refactorization.
- Designed and implemented ALSA (Advanced Linux Sound Architecture) subsystem for STM SOCs, later ported to OS21
- Participated in STLinux distribution development and maintenance.
Advanced Digital Broadcast Polska & Osmosys Technologies, Katowice, Poland, November 2004 - July 2007
- Participated in a number of MHP interactive STB projects based on STMicroelectronics processors.
- Responsible for hardware abstraction layer test environment development & maintenance.
- Member of a first out a kind, portable DVR (Digital Video Recording) solution development team.
- Responsible for a hardware platform bring up & low-level software development leading engineer in a Broadcom BCM7401/2-based OCAP 2.0 (Tru2Way) Set-Top Box project.
- Member of the "TOP 10 Employees" group in 2006.
Nantes, France, 2004
- Socrates/Erasmus students program
- 6 months at Labo Automatique
- Member of a 5 students team
- Working on a final project (new automotive products demonstration model) for Atmel Corporation.
Gliwice, Poland, 1999 - 2004
- MSc (Eng.) in Computer Science.
- Databases, Networks and Computer Systems.
- An award in FIAT competition for the best automotive-related diploma thesis.
Katowice, Poland 1994 - 1999
- Graduated with distinction.
- As the final project built campus-wide computer network with a 1Mbps Frame Relay internet uplink (the first of its kind in any school in Poland!)
- Mentoring an Arkwright Scholar.
- Mentored The Leys school team in Go4SET programme.
- Participated in multiple Villiers Park, Cambridge Launchpad, Career Ready and The Prince’s Trust events.
- Awarded with a Team Arm Star badge.
Technology for good
- Mentored and assisted Simprints, founded in result of a hackathon organised by University of Cambridge and The Humanitarian Centre. Helped them to grow from “no people, no money, no product” stage to a working prototype, a $250.000 Gates Foundation grant and two first hires moment!
- Participated in numerous events like the WildLabs launch or CW Unplugged.
- Represented Arm engineering at a field trip to Kenya with Unicef Innovation Lab.