I’m a senior engineer (web full-stack) at a bank. I’ve been doing this for about 5 years.
When I write code, I find it similar to authoring a book or even writing a poem. I love trying to write code that reads really well, has beautifully designed boundaries between dependencies, great structure and so on. I also find that I write code with a big focus on making it a joy to work with for developers that touch it later on.
I struggle with the emphasis on collaboration and quick iteration approach in this field. “Co-authoring a book” with 6 other “authors” in two week chunks just seems crazy to me. And what I’ve seen that passes as shippable code is also crazy to me – but hey, “it works”.
I also have never been a guy that gets overly excited about using technology to solve problems or using software to satisfy business needs. I really just like writing code, setting up development environments or CI/CD pipelines, cloud infrastructure or whatever…just for those things themselves. (Again it’s like an art form to me. And I really really like reading other’s well thought out code and appreciate for just that rather than the use-case or problem that the code is actually solving)
Anyone else out there like me? (Not arguing the merits one way or the other…just curious if I’m a weirdo)
I’ve been in the industry now for just over 10 years. I have a particularly potent cocktail of ADHD+autism that has resulted in me being very similar to your description - If it were up to me, I would take the extra time to make things incredibly nice to work with and with cleanly-defined dependency boundaries every time. I can write code all day and enjoy every second of it, often to the point where I work too much. Sometimes I’ll spend time after the “official” end of the work day to just clean things up and refactor so that things feel cleaner.
The unfortunate truth, though, is that the industry at large doesn’t make it super easy to find companies that appreciate folks who prefer to take it slow and get it right. I’ve hated the “ship it or shut it” culture for a long time, as it means I don’t get to take the time crafting the solution I want to craft, and instead I have to push what sells. It ultimately results in a best-effort that works! … until it doesn’t. It results in harder-to-troubleshoot bugs, code that is harder to read, and a frustrating amount of revisiting old code that was written fast and loose in the name of “time savings,” when the time saved is just spent fixing the problems created by “moving fast”.
The owner of the (very small) company I work for often says “There are two kinds of code: Perfect code and written code. One of those makes us money.” and I’ve spent a long time hoping we’d reach a point where the written code makes enough money that we can slow down and write better code. We’ve not reached that point yet, but it’s the whole reason I have side projects: So there are things I can spend that extra time on to get things right.
To answer your question: Yep! You’re a weirdo, but me too. And that is absolutely not a bad thing.