About
I'm Mark, a passionate and enthusiastic software developer based in the West Midlands, England. I've spent the last 12+ years developing using a range of technologies.
In that time I've used a range of technologies while continually learning and improving as both a developer and a team member.
Software development is a hobby as well as a profession and I spend a lot of time working on side projects and sometimes contributing to open source projects.
While I think its important to have a deep understanding of the languages and tools you use, I think it is equally, if not more important to have good problem solving and team work skills. I pride myself on collaborating with team members across the development lifecycle and enjoy getting things done.
I like to go to local user group sessions when I can and attend at least 1 conference a year. Last year was the brilliant DDDX and FPX.
When I'm not developing or learning new skills I enjoy ultra running, spending time with my family and getting outside.
Skills
Languages
- Clojure
- ClojureScript
- C#
- JavaScript
- HTML/CSS
- TSQL
Products and technologies
Patterns and practices
Other
- Familiarity working on kanban and scrum projects
- Experience working in distributed, remote teams
- Deploying to the cloud using AWS, Terraform, and CloudFormation
Open source
Projects
- clova - Clojure(Script) validation library
- vim-cljreloaded - Vim plugin to support the Clojure "reloaded" workflow
- vim-figwheel - Vim plugin to support working with Figwheel
- clj-ravendb - Clojure client for RavenDB
- ravendb-py - Python client for RavenDB
- vim-nuget - NuGet integration for vim
Contributions
Experience
JHJ
CTO & Founder
Feb 2020 to Present
JHJ is a small software development and consultancy firm specialising in Clojure, "devops", and rapid MVP prototyping.
We put an emphasis on simple, pragmatic, and scalable solutions.
At the heart of all we do is a delivery focused attitude.
JUXT
Technical Lead
Sep 2019 to Feb 2020
JUXT delivers secure and compliant bespoke software applications and platforms: from the world's busiest websites to complex financial systems.
Technical Lead on a large scale loyalty product for a well known UK telecommunications company. 12 million users, billions of events, and millions of rewards claimed.
JUXT
Software Developer
Jan 2018 to Sep 2019
JUXT delivers secure and compliant bespoke software applications and platforms: from the world's busiest websites to complex financial systems.
I developed Clojure and ClojureScript applications as well as Terraform and CloudFormation deployments, many of these are used to power large scale systems, notably a loyalty engagement mobile application for a world leading telecommunications company servicing 12 million users.
ByBox
Software Developer
June 2013 to Feb 2018
ByBox manages more dropboxes than any other company in the UK, and delivers over 20 million parcels a year. My role at ByBox involves working in a distributed, remote development team to constantly improve the technology platform and therefore the services offered to customers.
We develop and maintain a large number of discrete components designed in an SOA style. We employ TDD where appropriate with a focus on writing understandable and readable code.
Avelo/IRESS
Software Developer
May 2012 to June 2013
Avelo/IRESS is a market leading provider of end to end financial services software solutions. My role within the company involved designing and developing software systems to enable the financial industry to work in a more cost effective, efficient manner.
I worked on a number of key projects for the company and was part of an agile team working to the principles of Kanban. I led a number of TDD developments and provided help and mentoring to other staff members where appropriate. Using previous experience of TDD I was able to guide members of the management team and start refactoring a legacy code base toward a more modern one that reflected the TDD effort.
Working with the Project Manager to promote user story and acceptance criteria based features enabled a purer TDD approach to be taken with tests that could genuinely drive product development. In many scenarios this was taken a step further since with direct involvement from customers a BDD approach started to naturally appear.
As well as development using the familiar microsoft stack, I also had the experience of developing what was the companies most popular and well received iOS app as well as the supporting infrastructure and back-end services.