Hi, I'm Sam!

I’m a full-stack developer with experience across a range of Node, PHP and Python stacks (preferably React). My experience is in small to medium agencies, where I take leadership in the engineering team. I also like getting involved in other departments like design, and product strategy.

I'm currently happily working full-time at Josephmark. In my spare time you might find me playing bass or running sound at P&W or Public Church.

I try not to shout too much about "pixel-perfect" sites. I find that the development process benefits from an open dialogue with the product team, which needs a fairly flexible approach. I'm a great advocate of performance- and accessibility-focussed product, fighting for equality in the digital spaces I have some sway over.

What sort of person am I? Here are some key pillars of my professional life:

1. Strategic Effort

When I do something, I try to make sure I know why I’m doing it. I value user experience over aesthetics - I do love aesthetics, but there needs to be balance. Adding complexity into your system needs to be thoroughly justified.

For client work, I aim to provide recommendations on the basis of low effort, high value. You might say that’s common sense, but teams can easily get swept up in a wave of quotes that cost a lot with no proven value. When the client is paying good money for your services, they need to see concrete results.

2. Radical honesty

I reckon you can do business and keep your conscience at the same time. Tell clients when you're going out on a limb. Tell them their idea might be expensive, but not good. Admit it when you mess up.

Being caught in a lie destroys your reputation. Mutual trust is crucial in an ongoing relationship. Clear and honest communication means that everyone gets to do their best work.

3. Spread expertise

One of the things I crave is for someone to tell me when I'm wrong. I've spent a lot of time writing unstructured, un-reviewed code and I know it ends up looking pretty cowboy. I've done my best to self-direct my learning, but having someone tell you what you need to know and why is way more effective.

"Did you know layering multiple elements with clip-paths applied can make them disappear in Safari?"

"Oh, I've seen this before- it's because iOS Webkit doesn't respect pointer-events: none"

"Tailwind classes need to be statically analyse-able at build time, let's pull this out into a map."

I seek out learning from my peers and aim to pass on what I know wherever I can.

That's it.

A few things about me that you know now. Enjoy your visit, and I'll see you online.