Engineering Philosophy
I believe software zen from arises from harmony of its parts
By definition, engineering involves building a system from parts. Those parts, large and small, must fit together properly. Working on parts of a system in isolation risks misunderstanding the system as a whole, or worse, introducing anti-patterns which weigh down the entire thing. Much like a car, each part must be considered starting from a birds-eye view of compatibility. This mindset lends itself to producing a whole which is greater than the sum of its parts.
We have so many modern tools at our disposal to achieve this nirvana: Atomic databases with incremental backups, infinitely scalable compute, automatic proactive security scanning, just to name a few. But tools must be applied for them to have any use at all. Harmony means to leverage them all in pursit of excellence for our users, success for our products, and peace of mind for ourselves.
So I Cover the Whole Stack
Traditionally, software engineers with a web focus have been called "full-stack engineers," and I feel this description lacks the whole dimensionality of the technical landscape which exists today. Whereas we have traditionally had a single-layer stack consisting of a client, server, and database, there is now horizontal scaling across each of these verical layers: Clients ranging from as small as the wristwatch to as giant as the jumbotron and input methods ranging from typing to eye movement tracking; servers with decades of uptime and those which exist ephemerally, layered behind CDNs and edge networks; databases transformed via views, piped into data warehouses, and bound by retention and privacy constraints.
While there is a special place in my heart for front-end (especially mobile) and back-end (especially APIs), I'm not afraid to work on any part of the stack to get the job done. From the very first invocation of `create-react-app` to the execution of a multi-million record database: If it's technical, I'm into it.
And I Can't Ignore Details
Agentic coding has increased output, yet complexity of systems continues to increase. We have more code to review than ever before, and attention to detail is evermore paramount. In fact, the whole point of delegating a portion of writing code to AI is for us as humans to redirect our focus to increasing the capabilities and improving the quality of our software. And it helps enable us to have a sharper focus on details. In other words, the 80/20 rule does not require sacrificing the dotting of Is and crossing of Ts, nor does it mean we should make perfect the enemy of good — But it does mean we can spend even more time inspecting elements to perfection.
From foundational decisions like whether or not to use a non-relational database or something as subtle as animation easing, I seek out details and am quite incapable of keeping quiet about them. I tend to have strong opinions, yet always willing to listen. I believe greater ideas are forgred in the crucible of debate. I have hot takes not for the sake of hot takes, but for the sake of the software's success.
Contact Me
Don't be shy now!
I'm always looking for new opportunities to grow, learn, chat, or whatever floats your boat! Feel free to reach out to me via:
I sincerely thank you for visiting my site — it means the world to me :)