These days I default to the functional paradigm whenever
possible. Testing immutable and side-effect-free code is
refreshing. The declarative and composable nature helps me
write simpler, more elegant and robust components. I believe
OOP and SOLID concepts still have value and merit,
especially when the problem domain is well understood
Unix over Windows. It's one of very few things I'm strongly
opinionated about, although I'm yet to try WSL. Gadget-wise
my setup is fairly vanilla - I use a MacBook Pro, dual
monitors, a mechanical keyboard and a pair of noise
cancelling headphones. Over last few years I've adopted a VS
Code + VIM bindings setup, which I found makes me very
productive. I default to CLI interfaces for most other
common dev tooling (git, zsh, fzf, tmux, etc).
Tests go first. During development, tests always run in the
background for tight feedback loops. Tests should cover
behaviour, not implementation. The less you mock, the better
are your tests. All sounds like common sense, yet
surprisingly often overlooked principles.
I keep up-to-date with OWASP Top Ten every year and
generally try to follow common sense when developing (i.e.
never trust the client, principle of least privilege, etc).
Luckily, my better half is an Ethical Hacker, so she keeps
me fairly grounded when it comes to these things.
I find full-stack teams are harder to hire-for, but easier
to manage and work-in. I've been fortunate enough to have
worked with some truly talented full-stack engineers, with
an eye for design and a technical/analytical mindset. These
people exist, just not in abudance. I often sway towards the
front-end and client-side development, but have equally
designed scalable, performant and production-grade systems
on the backend and found it just as interesting.
Agile prescribes focusing on people over processes and
responding to change. From what I have seen, in practise
Kanban makes those principles easier to follow, but only if
the business can afford not having to project months in
advance. Scrum is naturally more loved by planners which is
not wrong on it's own, however I've seen it being optimised
for the wrong metrics. Saying that, when done right I
haven't worked in a more productive framework than Scrum.
Look like someone you would enjoy working with?
Get in touch
Get in touch with me using the form below. I tend to reply
within a couple of working days.