About

I solve hard problems.  I build products. And I take things apart.

I provide consulting on product development, security research and embedded systems engineering. Please get in touch.

Professional

Most recently, I’ve been the hardware lead in the development of mPOS devices, with specific responsibility for hardware security (PCI PEDS) and EMV L1 (contact and contactless) certifications.  This role also included electronic design, low-power firmware development, and interesting manufacturability challenges.

My background is in electronics and computer science, with embedded systems, product development, ah-hoc networks and low-cost space systems persistent themes.  My software development experience ranges from low-level firmware development up to deploying optimisation algorithms on large-scale computing infrastructure.

Over the last few years I’ve deliberately positioned myself in a product engineering position: I weave together the people and abilities of electronic, software and mechanical design.  Understanding the constraints in all of these domains allows me to solve problems in a multi-disciplinary space, which results in a better overall solution.

This is complemented by optimisation, simulation and scientific programming skills that developed through my research activities.  The result is the ability to solve problems across different domains, and at various levels of abstraction.

Research

From a research perspective, I am drawn to the interaction between complex technological and social systems. These domains frequently exhibit very different dynamics, which can lead to challenging problems, with no obvious solution.  For example,  how will the significant increase in connected devices impact existing functionality, security and privacy as nation states, commercial entities and consumers jostle their competing demands? Or, in a different domain, how should we navigate spacecraft engineering projects through multiple changes in the political and funding landscape over a number of years?  The strategies for dealing with these kinds of problems transcend the purely technical domain: the most interesting engineering happens at a scale where human and political factors need to be taken into account as well.

Furthermore, I believe there is much we can achieve by mimicking the mechanisms at play in the natural and social domains when it comes to solving some technical problems, a view that led me to Artificial Life and Artificial Intelligence research.  My PhD research investigated the use of market-based mechanisms to allocate tasks in distributed satellite systems.  The distributed nature of the system, combined with rapidly changing network topology and severely constrained communication. lends itself to being elegantly expressed in terms  of auctions, which in turn results in robust, efficient and scalable network utilisation.  This problem shares many characteristics with wireless sensor networks, multi-robot teams and management of data centres – as we traverse this landscape the optimal solution will change to reflect the differences in communication, task structures and topological volatility.