Deep in the system.
Clear on the outcome.
Three connected disciplines, grounded in hands-on engineering. Explore the problems, the scope and the technical depth behind each.
01
Systems & performance
When a system is slow, resource-hungry or difficult to evolve, the first step is to understand why. The work covers software architecture, implementation and performance analysis across Linux services and high-throughput applications.
C · C++ · Java · Python · Linux · Valgrind · Callgrind · Helgrind · GDB
See the probing-engine redesignWork can include
- Profiling CPU, memory and concurrency behaviour.
- Redesigning performance-critical components.
- Building C/C++, Java and Python services.
- Reviewing architecture and making technical tradeoffs explicit.
- Moving a prototype towards a maintainable production implementation.
02
Networking & resilience
Reliable recovery starts with clear failure detection and well-defined behaviour. The experience here covers monitoring and traffic steering, software-defined networking, routing protocols, mobility and multi-homing.
It also includes architecture and security responsibilities in air traffic management, with work on ED-109/ED-153 software assurance requirements and SESAR research.
OpenFlow · OpenDaylight · NETCONF/YANG · Segment Routing · PCEP · LISP · SNMP · DTN / Bundle Protocol v7
See the failover improvementsWork can include
- Monitoring and traffic-steering architecture.
- Failover analysis and recovery improvements.
- SDN controller and protocol development.
- Network configuration and telemetry integration.
- Research prototypes, interoperability work and field trials.
03
Cloud & delivery
Infrastructure, deployment and observability are part of the software system. This work connects application behaviour with the platform and processes needed to operate it.
Google Cloud · Docker · Kubernetes · OpenStack · Terraform · Ansible · Jenkins · Prometheus · Grafana · RabbitMQ · JMeter
See the ticketing infrastructureWork can include
- Autoscaling cloud infrastructure and infrastructure as code.
- Build, test and deployment pipelines.
- Monitoring, dashboards and load testing.
- Microservice and event-driven architecture.
- Distributed workload placement and orchestration.
A practical starting point.
Review an architecture, investigate a bottleneck, implement a critical component, or work alongside your existing team. Start with the constraints, the current behaviour and the outcome you need.