We’ve been trained to always chase the new and are heavily biased to think that it’s better.
It’s called “Shiny Object Syndrome” and trust me I’ve fallen for it too but I wanna get you to think about why boring is good when it comes to technology choices for your business.
I’m a dev myself and I think that we’re prone to jump on the next best stack or the next best framework, especially in web-dev land because there are like 500 frameworks that are being released every day.
I’ve written this lesson in blood for the first company I’ve founded a long time ago, we used a graph DB for our data store because I thought that it would be cool to fiddle around with this technology and it seemed a good fit for the product but here’s what problems it created:
Overall why it was fun to dabble with this it cost us a lot of time and it was objectively stupid to do this because we were not learning we were trying to solve a problem and run a business and it just got in the way.
All Tech in your business should enable you to do things faster/better not be a source of time waste
At the expense of sounding like a tech boomer:
100%! Efficiency is bred from repetition; the more we do something in a particular way, the faster and more efficient become. In other words, use the same stack over and over again
I wrote about this recently:
4dayweek.io/blog/how-to-work-faster-as-a-software-developer
Good article, thanks 🤙
I think what has helped us the most is that we can share a set of reusable components, hooks, and the like between projects and also build on top of a boilerplate repository.
If we use a component twice we will add it to the boilerplate.
That's a benefit on top of being able to code custom functionality more efficiently if it's needed
Great reminder Stefan, reminds me of boringtechnology.club.
Tech choice proves to be expensive, but the failure modes of "boring" tech are well understood (so we can move faster with confidence).
For new shiny tech find low-risk ways to get started and let the tech prove itself.
Looks interesting, thanks for sharing 🤙
agree 80%. Totally new technology is a killer but a dash of new technology is fun and let's you do things you couldn't before. As always finding the right measure is art.
Yeah I'd also agree with this point... It reminds me of the innovation cards analogy... when you're starting something you have a few cards you can play and these should be new things (in this case probably new tech) that is worth trying out with a more known stack!
Yeah, I can get behind that.
I think that it's all about balance and making conscious decisions and I think that for a lot of people the thinking goes towards trying something new and exciting (especially devs because we like trying new stuff) so my goal with this post was to make a point for the other side and the idea is that you can balance it against the points for using new tech that you already hold.
As written in another comment below there is something to be said that not all tech is the same if you for example look at:
Libraries, Frameworks, Stacks
as there are a lot of granularities of the word "tech".GREAT advice @nafetswirth
I have made the most amount of sales using old-fashioned code. This is always a good reminder that clients care more about the value of the software and not the tech stack behind it.
Definitely, I think there is a lot of newer tech that lets you move fast but it doesn't need to be the newest javascript framework from last week so to speak.
Feel like you can get into analysis paralysis with that kind of thing and you're right at the end of the day people don't care about how you do what you do just that you do it well and you solve their problem.
Being pragmatic and efficient is an art of itself. Specially to younger developers like myself. Cool post!
Thanks, mate 🤙
I'm a big believer that it's really important to make a conscious choice of the "right tool for the job" so to speak.
If you want to learn, go ahead and pick some fancy new framework.
If you want to build something sustainable, go with what you know and something that lets you iterate quickly.
I love this post! Personally, I think that this is about leadership. Vision and purpose are the key components of motivation. If you are working toward a goal that you are passionate about achieving then distractions take you away from achieving your dreams.
For example, take the scenario where you are rescuing someone from under a car. Nothing could take you away from achieving the task at hand. Writing software isn't always saving lives but the example highlights a point. Caring about achieving the end goal is paramount.
Leadership that promotes passion about a purpose is powerful stuff. Shiny is good, personal growth is essential, and even time away is important for rejuvenation. But driving for something you truly care about is what gets me up in the morning and keeps me on task.
I think this paragraph sums it up. I think people can get distracted from the core mission of building something sustainable/profitable and end up spinning their wheels in the belief that it's actually something worth doing when it really is for personal growth for example.
Personal growth has its place for sure but everything needs to be carefully balanced.
Great post as always, Stefan!
I'd argue, that there's always some kind of new technology that goes into every new project, even it is just a new library for some functionality in your application.
Do you actively set a limit for yourself, when it comes to allowing new tech in a project or do you just follow your gut feeling?
I'm not sure I would put libraries in the same camp as completely different stacks or frameworks if the frameworks need a lot of getting used to because they have a lot of convention, rails come to mind here for example.
With libraries, you can be a bit more generous as long as they are well maintained and have a decent-sized audience just to make sure they're not gonna be abandoned anytime soon but once we have one library that works well I would watch out to not get tempted to switch to some other library that does the same but it's newer or fancier unless there is a clear business reason.
With framework and stacks, I'd apply the logic outlined above, I guess it's a gut call to some extend if you feel like it's really worth the switch but I'd avoid doing it for the sake of it being newer or 5% better, it should be at least an order of magnitude better or let you do things faster.
Sometimes the type of project or environment you work in also plays a role in what you can and can't use so that is something to keep in mind.
This comment was deleted 2 years ago.
Maybe trained is the wrong word, what I'm trying to say is that we tend to overvalue new things and that in a way society "trains" us to prefer new over old, new clothes, new cars, new frameworks, the freshest memes 😁, etc.
Does that make sense? 🤔