We are a lean consultancy, providing agility and flexibility, rather than red tape and complex process. We work in small specialist "squads", rather than huge, resource wasteful development teams.
We have a track record of turning complex business requirements into sustainable, scalable, and valuable software systems. If we had to describe JHJ's niche then it would be client focused. We are all techies at heart but our experience tells us that there is an over emphasis on the tech, often at the expense of the client, we want to flip that and focus on solution delivery for the client, the tech just facilitates that.
Founder & CTO
Mark Woodhall
Mark has a wealth of experience in the Software Development industry, ranging from large global corporates to start-ups.
This experience has been built over the course of 20 years in various Software Engineering roles.
Still a hands on Engineer Mark loves leading client projects and building functional teams.
"I’ve worked with Mark for nearly three years, and I’ve never known someone to be so committed to the job at hand. I could probably list what he’s qualified in, but I’m pretty sure most of it is up here somewhere, what I will tell you is that he’s a dedicated professional who is a natural problem solver, someone who can see the logic behind an issue and how to get around it. Most of all he's a nice bloke, who you can get on with and progress your project to the nth degree. I couldn’t recommend Mark enough, you just won’t go wrong with him behind you. Thanks for all your help Mark! ⭐️"
Why Clojure?
Mark started to learn Clojure around 7 years ago after becoming frustrated with working on large object oriented codebases written in Java and C#. Thinking that there must be a better way, he started investigating functional programming, and fell in love with Clojure and Lisp.
Clojure has changed the way I view many problems, even down to how I configure my text editor (vim). Traditionally I used VimScript and/or Lua to configure vim but there is nothing quite like a live REPL for building out the tools you use daily and my love for Lisp resulted in me making use of Fennel to configure vim, and in the process gaining access to a REPL.
Clojure has also changed the way I approach problems in many other languages (Kotlin/Java/C#/JavaScript), where previously I might build solutions relying on the encapsulation of large amounts of mutable state, now I prefer a more functional approach with a "bring your own data" pattern.
Discovering Clojure has also made me appreciate other Clojure dialects such as ClojureDart (Dart and Flutter) and the reach they offer, while maintaining Clojure like semantics and developer productivity.
-
What tech stack do you use?We believe in choosing the right tool for the job, but our general purpose language of choice is Clojure and ClojureScript.
-
Why Clojure?Clojure being a JVM language means it has access to a vast ecosystem of Java libraries. Its REPL first development experience provides a fantastic feedback loop and accelerates the development process, particularly when quickly iterating on prototypes.