Do you find that you spend a lot of time doing manual work that could be automated? Is the code coverage of your application lower than you’d like, but you’re struggling to increase it? Perhaps you just want an extra pair of hands to hit a tight deadline?
Comfortable writing test driven code in PHP, NodeJS, Go, Ruby and Python, I can help you and your team ship reliable software that solves the issue at hand.
With a decade of commercial development experience, I’ve seen everything from an e-commerce store written in Perl to a Golang augmentation pipeline that processed every Like, Post and Comment on Facebook in realtime.
Whether you’re working on a well designed application that’s built on top of a CQRS architecture or you’re working with a bespoke in house framework that’s 8 years old, I can help. The technology that you’re using isn’t important, what you’re trying to achieve is.
In a previous position I ran a technical debt spike that fixed 80 customer facing issues in under 6 months, and many more internal bugs at the same time.
Working with your product owners, we can work out where to focus our energy to make your application easier to change. This means lower implementation times for new features, a lower risk of changes breaking existing functionality and a happier development team.
Build + test automation
With prior experience taking a team from zero automation to continuous deployment, I can help you design and implement your own continuous integration and deployment pipeline.
Using modern automation tools such as Jenkins, GoCD and Concourse we’ll reduce the time between your developers making a change and having it being available to deploy in production to a matter of minutes. We’ll be sure to run all of your unit, integration and acceptance tests too, of course!
Training / Coaching
Want to learn more about this cool new technology but not sure where to start? Why not book in a day of training for your team? As an international conference speaker and tutorial leader on everything from application profiling, through code archaeology, all the way to a beginner’s guide to application deployment, I’ve helped hundreds of people learn new things.
Whether you want to start learning a new language or you want a deep dive into how to start controlling your existing infrastructure using Chef or Ansible, I can help.
Do you have a development team and an operations team that don’t quite see eye to eye? Do your designers refer to the rest of the company as “the business guys”?
I can help build bridges between departments, finding the root cause of longstanding issues and helping people to think win-win whilst negotiating, and still getting what they need to do their job.
I always remember the saying “Find a job that you love, and you’ll never work a day in your life”. I’m good at what I do because I love what I do. It’s not a 9-5 job, it’s not something to pay the bills. It’s a drive to keep learning new things and solving interesting problems.
My role is to listen to what you need and help you find the most pragmatic solution. The cleanest, most extensible code in the world is great, but rewriting your entire application to implement a simple feature is usually the wrong decision. In development, everything is a tradeoff and it’s my job to help you identify what those tradeoffs are and help make the best decision for your company.
My personal achievements include giving 21 conference/user group talks in a single year, building part of a system that was deployed inside Facebook and having a book on Ansible published.
He understood our requirements and turned them into a working solution that has been working flawlessly since February, it’s even saved us money on our hosting fees. The work was completed within the agreed time frame.
I would have no problem asking him for further work.
Tom Hickey, danetti.com
Matthew Turland on Automation Automation Automation, London 2016
Johnny Choudhury Lucas on Profiling your PHP application, Portsmouth 2016
Still not sure?
If you’re still not sure that we’d be a good fit, feel free to email me, outlining the problem you’d like to solve. We can discuss the issue and work out how I can help.