Why I don’t care about tech
“I don’t care about the technology” isn’t really a phrase you‘d expect to hear from a software engineer. Most programmers I know are all about the technology, and they’ll spend countless hours debating the merits of their favorite stack or learning the intricacies of their pet framework, often at the expense of getting things done.
I’m not that kind of developer. I honestly couldn’t care less about the technology I’m using. I don’t care if a backend is written using Ruby on Rails, Java, or Elixir. I don’t care if the front-end framework is Angular, React, or Vue. I don’t care about Mongo and I couldn’t care less about Postgres. Docker might be the only thing I’ve remarked “that’s cool” about in the past couple of years, and even then I’d still hesitate to recommend it.
Don’t get me wrong, I love programming! I love developing software. I love making products that make people’s lives easier. However, the technology itself isn’t my focus. For me, the technology is secondary, a side-note. It’s almost an irritation that I even have to deal with it in the first place. For me, the main purpose of technology is to accelerate my progress towards a specific goal or purpose.
That’s why I’m “in tech”. It’s the fastest way to achieve my goals or the goals of the business.
Oftentimes developers get wrapped up in their own tech world, forgetting that they work for a company. They’ll waste countless hours pursuing the latest shiny thing. They forget that the company’s job isn’t to create technology; it’s to solve a business problem. Whether that problem is selling books or sending unmanned spaceships to Mars doesn’t matter. The technology is a conduit, the vehicle through which business goals are accomplished.
That’s why whenever I look at a new piece of technology, I think long and hard about whether to adopt it. I ask myself a lot of questions: what is the value of this? What are the drawbacks? Does it provide a benefit over what I’m doing now? More often than not, the answer is no.
It’s something that surprises other developers I talk to. They think I’m falling behind if I don’t learn the latest new technology.
To this, I counter: there’s nothing new under the sun.
The differences between any two succeeding technologies, languages, or frameworks aren’t that much once you get past minor syntax or surface changes. Oftentimes, the patterns are still the same and the end result is still the same, especially when developing web applications. Sure, one technology might be marginally faster or more effective in a situation than another, but ultimately the end result remains: you build software.
It’s rarely learning something new. More often it is relearning something old with some slight variations. It’s like repeating the same year of experience over and over except with a different coat of paint.
Besides, falling behind on syntax doesn’t really matter if you understand the principles and design rationale behind the changes.
In edge situations where the technology choice does have a significant impact, then that in itself becomes a business reason to learn and use a new technology. It’s not the technology that matters, but rather the advantages the technology brings to the business.
In a world of die-hard technology evangelists, this might be blasphemy. I may stand alone in this opinion. It’s OK. Unless there’s a business reason to change my opinion, I’ll stick with it.
As a final note, this doesn’t discount that there are technology leaps (often made by technologists) that are absolutely amazing and must-use. One would find it hard to argue that writing a web application in assembly is better than using a higher level language like Ruby.
Situations like that are not in question because at that point the advantage is clear. This is addressing incremental technology changes that don’t offer a clear advantage, or offer a negative with no benefits.