Hi, I'm Sam!

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

I'm currently happily working full-time at Josephmark. I spend my weekends playing bass at The Christian 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. Design implementation is only the foothills of front-end development. The peaks of user experience, accessibility and performance loom above. End-users care about this stuff, and so do I.

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 fight for 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.

"Hey, you know you can't use forEach on nodelists with an IE11 target?"

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

"The build includes autoprefixer - you probably don't need to write a mixin for that"

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.