• Jim MacArthur
Robots, automata and electronics



Jim MacArthur


  • Main skills: C, C++, Assembler (ARM including ARMv8, x86, POWER), compilers and binary translation.
  • Other skills: Perl, Java, Python, Linux, Windows, AVR
  • 11 years experience of wide ranging software development, specializing in code generation and performance tuning.


Februrary 2013 - Present: Senior Software Engineer, Codethink Ltd

  • Instigated and developed automated testing for automotive in-car entertainment systems.
  • Lead developer and architect for an Android simulator.

June 2012 - February 2013: Career break

  • Learning Javascript and Python for games development
  • Took and passed the Standford University online Compilers course.

May 2010 - June 2012: Senior Compiler Engineer, ARM

  • Feasibility study into the use of LLVM as a backend code generator for RVCT.
  • Tuning and benchmarking of memcpy for ARM11 architecture.
  • Bringup of the ARMv8 backends for GCC and GDB.
  • Performance tuning of bzero for big.LITTLE architecture.

2004-2010: Senior Software Engineer, Transitive Ltd

(Acquired by IBM in June 2009)

  • Developer of dynamic binary translators and related virualization technology for a variety of platform combinations
  • Extensive performance tuning of X86->POWER translator including making use of the new little-endian features in the POWER6 architecture.
  • X86->ARM translator performance work on Firefox including automated performance measurement.
  • Lead developer for a new parametized X86 decoder, capable of generating a decoder for high performance or low memory environments. Shipped as part of a product in September 2009.
  • Began work on a microcheckpointing high-availability product for IBM's P-Series line.

2003-2004: Developer and system administrator, Centre for Pharmacy Postgraduate Education

Business process automation with VB and MSSQL, administering and upgrading an office server and network for a small company of 20 employees with Windows 2000/2003 Server, and updating a MSSQL/IIS web application for pharmacy tutors.

2001-2003: System administrator, University Of Manchester

Administrator for several Windows 2000/IIS and MSSQL servers including Windows clusters, Citrix thin client services and workstation support.

1996-97, summers 1998 and 1999: Software Technician, Pi Research

Automated test developer.


BSc (Hons), MEng Computer Science 2:1

University of Manchester, 1997-2001

Specialising in hardware and networking where possible. My projects here included network packet reassembly and distributed multi-user social environments.

Other Interests:

Maker spaces: Founding member of Cambridge Makespace ( Makespace is a community workshop in Cambridge, for people to meet, learn and build almost anything. Member of London Hackspace, a similar organisation in London.

Embedded Linux and microcontrollers: I've picked up experience configuring Ubuntu, OpenBricks and Linaro distributions for my IGEPv2 OMAP3530 platform and significant experience developing for PIC, AVR and MBED.

Mechanical Computing: Designed and built a fully mechanical universal Turing machine, exhibited at Maker Faire, Newcastle in March 2011.

Nationality: British Age: 35 Full UK driving licence

References available on request