Jonathan Worthington
Meet our Team
Jonathan has a deep knowledge about building development languages and has a profound understanding of programming paradigms and best practices.
Key skills
- Perl
- C#
- JavaScript
- React
- Software Architecture
- Compilers and runtime environments
- Git
- TDD
- DDD
About me
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
- Perl
- C#
- .Net Framework (including ASP.Net)
- C
- Regexes
- Compiler and runtime environment design and implementation
- Higher order programming techniques
- Object orientation and meta-models
- Web development
- Web security
- Version control with Git
Previous assignments
- 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)
Certifications
-
Microsoft Professional Developer
-
Microsoft Certified Trainer
- First class honors degree in Computer Science from the University of Cambridge.
Teacher for courses
Parallel and Asynchronous Programming in C#
Go to course page >Advanced Git
Go to course page >Intermediate Perl
Go to course page >Perl 6 for Programmers
Go to course page >Contact
jonathan@edument.seNews & feeds
Configuring CMake for success
One common question I get on our Advanced C++ course is how the project structure should look, e.g. should I split the source code into multiple directories? How can I introduce unit tests? Should I compile into multiple libraries?
Each project is unique in what it needs, so in this blog post I’ll go over my general preferred setup and then look at how we adopted it for C++ on Android where we also interface with Kotlin/Java.
Working Remotely… Very Remotely
Does your job let you travel? Do you want it to? Our job does! And we're taking advantage of it! Read all about our plans for remote work... very remote work. #waaayoutofoffice
Read more >Focus on Business Value with Scrum
How do we, as a company, keep our focus on Business Value, when we our teams are dominated by technical people and developers, who are not always even expected to see the bigger picture. How can Scrum be at help?
Read more >Why TypeScript?
A few contrasting examples: in JavaScript it's fine to forget a property in an object literal, to call a function with the wrong number of arguments, or to write code that will never be reached in a program. TypeScript flags all of these things as errors, often directly in an IDE.
Read more >Take a course in Prague
We are proud to announce that, starting from May, Edument will also offer courses in Prague. Now you can enjoy and be energized by spending time in one of Europe's most beautiful cities, at the same time as attending one of our popular courses!
Read more >