On this page
So you're thinking about hiring me
Recruiters & Prospective Employers
If you're a recruiter or business considering me as a candidate, I've put this page together to help you decide if a role you have in mind might be a good fit for me - and whether I would be the right fit for you.
- PHP, 18 year veteran, able to work with any system or framework at senior level
- Symfony, my favourite framework
- Java (Spring Boot)
- RDBMS: MySQL, Maria, Oracle, Postgres, SQLite
- NoSQL: MongoDB
- Automated testing, test driven development, web application security
- Scoping, estimation, agile (scrum/kanban), documentation, writing and communications
What kind of role is right for me?
Are you looking for a new developer to join your team? A technical lead to guide and manage the scope and architecture of your web services? A developer advocate to help you improve your DX, refine your tooling, shake up your processes, re-align development with your strategic goals?
Whatever the case, if you're looking for someone who's only interested in hands-on coding, will pipe down, keep quiet, methodically and reliably churn out tickets and never ask questions about your business, your vision, your culture or ways of working...I am not the person you want to hire.
More than a developer, I have very strong knowledge of web tech, architecture and problem solving within this domain.
The ethos I bring to my roles is more than building software, it's solving problems and building growth. Often the greatest challenges we face are not technological but organisational.
So if you're looking for someone who will push the boundaries, speak up when they believe you could be doing better, embrace the values of your business and immerse themselves in cross-team collaboration with a commitment to your brand, we might be a good match.
Within the PHP ecosystem, I am especially fond of working with the Symfony framework, with which I have considerable expertise. I am, however, able to work with any PHP system / CMS / framework at a senior or leadership level.
I have experience of varying levels with a wide range of auxiliary tools and tech in the web ecosystem, including cloud services, virtualization and infrastructure.
In this tech space I am open to taking on a leadership, management or CTO role.
It's not an issue for me to switch languages or work with multiple technologies for the right opportunity.
I'm happy to pick up any new language or tech stack, whether that's Go, Rust or anything else (except maybe COBOL and Perl). The knowledge, mindset and skills in programming are readily transferable and learning a new language, framework or toolset with the support of a working team and code base wouldn't be an issue. I enjoy new challenges.
I can provide mentoring and training on web development, web application security and automated testing.
I have previously worked in the financial services sector and am familiar with relevant regulations and statutes, including GDPR, AML and client protection, which are also applicable to some other sectors.
Do you have experience in [insert tool/framework here]?
Are you looking to hire someone who specifically has extensive experience with React, Next, Angular, Vue, Laravel, Symfony, Kubernetes, AWS, GCP, Azure, CraftCMS, Magento, Go, C#, Kafka, Jenkins, Splunk, Mongo, Postgres, Dynamo or maybe something new that's only just been released in the last year?
While I do have a wide range of experience with many tools (and some I know better than others) I think we need to be honest that part of what's broken in tech hiring is a fixation on specific tooling.
What I have is the experience and skillset to choose, use, adapt and learn the appropriate tooling for whatever task is at hand.
I bring an enormous amount of experience with the web as a business domain and problem space, so even if I haven't used whatever particular tools or frameworks you work with, it doesn't matter. For any seasoned developer, learning new tools is only a matter of referencing documentation and your existing code or processes.
Whatever you use, rest assured if I don't already know it, I can pick it up and be a productive member of your team from day one.
Stop fixating on tooling, start fixating on skills!
I am based in Bristol, UK and am therefore able to consider both fully remote roles, on-site within the Bristol area, or hybrid within Bristol and the south west.
I would be open to a role which was primarily remote with occasional on-site visits further afield (for example, monthly or quarterly).
The course of life
I'm no Latin buff, but according to Wikipedia that's what "curriculum vitae" means. If I've given you a download password, please use the link below to access my CV.
Download passwords are only valid for single use, so please don't share it with anyone.
If we haven't been introduced at all yet, my preference is for you to contact me using your professional profile via my LinkedIn page.
Salary and reward
The salary I'm looking for would need to be a minimum £70k a year, reasonable holiday allowance, private health insurance included and ideally some other perks and benefits which go beyond the minimum.
I deliver a great deal of value and commitment in any role I take on and am always looking for ways to help you grow and improve, to support your organisation's values, your behaviours and strategic goals.
Multi stage interviews and technical tests
If part of the hiring process for a role involves long, multi-stage interviews (i.e. more than two) and technical tests which would take more than around 2-3 hours of my free time to complete, I'm less likely to be interested.
Not because I have any doubts about my own competency and experience but because I believe it's unfair to candidates who may be applying for several roles at once, while still working or juggling other life demands, to expect they will spend so much of their time, for free, producing repetitive samples.
If you're a prospective employer, I ask you to read through this page and my CV to help get a feel for who I am and what I do; much of the information you stand to gain from a longer process is available to you already.
I have this website, which contains a variety of technical tutorials and commentary, I have a GitHub account containing various code samples. I have a LinkedIn page showcasing a solid, many year track record as a professional in this industry with employers who've always been more than happy with my performance for them.
I'm a contributor to the PHP language itself. Granted a very minor one but I like to think contributing even a little bit to the core engine shows both how I'm willing to dive into new challenges and how much I value open source communities.
I think I'm also - and I hope the contents of both this page and the rest of my website back me up on this - a good communicator at all levels and to a range of audiences. It doesn't matter to me if I'm talking to a colleague, a C level executive, or your best (or worst) client. At all times I conduct my verbal and written comms with the appropriate tone, detail and level of professionalism you should be entitled to expect. That's a valuable skill to have in someone who writes code.
If you've had a good look over all these things and you're still:
- not convinced I'm either already proficient and capable to do whatever role you're hiring for, or able to learn it quickly on the job and be a useful, productive member of your team from day one
- wanting me to spend three, four or more hours of my time for which you're not paying me and I could be spending with my family and young daughter, to build an API endpoint which will be missing all the boring parts that actually matter in a real world, production system and therefore say very little about how good I am or not at doing the real job
- asking I work through leetcode tests which are not reflective of problems programmers actually have to solve in the real world
I invite you to instead take part in a focused technical interview and a sincere conversation where we can get to know each other.
I want to know about you too. I want to work somewhere I'd enjoy working, with people I'd enjoy working with, on problems which are both challenging and interesting. Though I am, of course, happy to pitch in and do my fair share with anything which is helping bring in the revenue and pay everyone's salaries.
Even if that means it's fixing the odd bug on an old CMS or tweaking some slow database queries.
What role is not right for me?
I am unable to consider roles within the cryptocurrency or blockchain space. It's an industry I consider to be a colossal fraud.
Otherwise I'm open to almost any sector.
I understand the need to support and maintain legacy systems, am happy to help you do this and indeed help you plan and execute the modernisation and upgrade of these systems as appropriate. That said, occasionally and unfortunately, some recruiters and businesses will say "exciting greenfield projects" in the pitch, then bait-and-switch you for building WordPress themes running on PHP 5.6.
For the avoidance of doubt, here is the short list of products and frameworks I do not work with or want to work with:
- PHP version < 7.2, unless you intend to immediately work on upgrading. It's end of life and missing so many features which are now fundamental to good practice. Seriously, upgrade your systems, do it for you if not for me.
- WordPress (any version)
- Zend Framework v1/v2
Still think we might be a good fit?
Feel free to get in touch. You can email me a full job spec and details of the package on offer. Thank you.
The difference between failure and success isn't whether you make mistakes, it's whether you learn from them.
Recalling the time I turned down a job offer because the company's interview technique sucked.
Recalling the time I was rejected on the basis of a tech test...for the strangest reason!
Why type hinting an array as a parameter or return type is an anti-pattern and should be avoided.
Leveraging the power of JSON and RDBMS for a combined SQL/NoSQL approach.