Software Architect and Developer
- Software Architecture
- Domain Driven Design
- Compilers and runtime environments
- Perl 5 and 6
- C# / .Net
Main competence area
A meeting with management to help them understand how to apply Domain Driven Design and get business value from it. Implementing type-driven optimizations in a compiler. Delivering a class on software architecture, helping students to grasp and understand new concepts.
It's all in a typical week's work for Jonathan!
Whether it's architecting, coding, teaching or mentoring, Jonathan is at home. He has an eye for elegance and simplicity, and loves to take something that seems difficult, get to the heart of the complexity and make an easy to understand solution. At Edument, Jonathan spends his time teaching, helping clients to tackle complexity in their software development and delivering solutions to some of their trickiest implementation challenges.
A consultant since 2006, Jonathan is also a very active open source contributor, and a popular speaker at a range of international workshops and conferences.
Specific competence areas
- .Net Framework (including ASP.Net)
- Compiler and runtime environment design and implementation
- Higher order programming techniques
- Object orientation and meta-models
- Web development
- Web security
- Version control with Git
- Consultant for TN DataKonsult AB
- Core developer on the Rakudo Perl 6 Compiler
- Lead developer at Programmer’s Heaven (development site)
- Lead developer for WallCreate (online canvas art specialist)
First class honors degree in Computer Science from the University of Cambridge.
Teacher for courses
- Using Knockout To Build Dynamic, Testable Web UIs
- Modern Service Oriented Architecture
- Applied Domain-Driven Design in .NET
- Advanced Git
- Advanced Git with Gerrit
- Intermediate Perl
- Parallel and Asynchronous Programming in C# 5
- Day to day software design for .Net programmers
- Rakudo Perl 6 and NQP Internals