I would replace 'Boring' with 'Tried and True'.<p>I was going to question the cost of an 'innovation token' for MongoDb and NodeJS, but I realized just now that this article was written in 2015.<p>For every greenfield project that I came to build, I always gave considerable thought to finally using GraphQL as opposed to REST, just for the hype and growth.<p>Don't get me wrong, I understand the use-cases of GQL, especially in the context of multiple types of clients that don't obtain the same responses, but my appetite and longing to use GQL was always because the guy next door was using it and I didn't want to get left behind.<p>Furthermore, it's not like I can't implement some form of 'data shaving' through query params or detecting mobile / pc through user agent, or just simply adding another endpoint (or a couple), which basically solves what GQL has to offer.<p>That being said, I always went back to REST because it just worked - a request to and endpoint which hit the db, was simple, tried, and true.<p>A lot of new technologies nowadays are solving problems that we didn't know we had, and a lot of it is due to hype with young engineers catching the wave simply because it's got a classy and fashionable looking landing page, when really the favorable solution is the tried and true tech.<p>But hey, sometimes the wave does build, and sometimes, we do have to get on board or get left behind.
McFunley has had some amazing moments in his career. "Choose Boring Technology", "data driven products now" and of course the "Richard is a fucking idiot control" which made its rounds...<p><a href="https://stackoverflow.com/questions/184618/what-is-the-best-comment-in-source-code-you-have-ever-encountered/184673" rel="nofollow">https://stackoverflow.com/questions/184618/what-is-the-best-...</a><p>nothing lately, which is a shame...
You lost me at „cron is good enough”. Cron is not even remotely good enough on any project which becomes anything more than a simple POC. Maybe You also run production servers in gnu screens? Come on.
I pitch this at work as "Lateral Thinking with Withered Technology", and explain that it's a phrased coined by former Nintendo engineer Gunpei Yokoi to describe how Nintendo consistently delivers unique and profitable gaming experiences: innovating by combining old, reliable technologies in new ways.<p>Attaching a large and successful company's name to the principle helps it go over with corporate types. Think how much leverage has been gained for HTTP APIs simply by saying "Hey, Amazon does it!"
Choose boring technology if you do not care about the quality of the workforce nor about the difficulty of filling open positions.<p>Dull SpringBoot-Cloud-Netflix-Angular jobs are a hard sell, but businesses that invest in slightly fringe technologies like Closure, Rust, Go, Vue.js, have good candidates at below market prices.<p>Hell, even Erlang shops are bombarded by high quality applicants. Even plain C positions are quickly filled.
Funny how back in 2015 node.js was seen as some exciting unstable thing.<p>In 2022 it's honestly the most practical choice for me - I'd like to play with other stuff but if I had to a put a backend together quickly I'd undoubtedly reach for node.<p>(Though I realise I'm missing the forest for the trees here - your boring technology is not necessarily mine).
Works for me, last time I changed programming language and framework was over 20 years ago, but remember like TFA says to pick technologies that will be actively supported in 20 years, eg C and SQL are not going anywhere for a very long time
I prefer the concept of innovative tech points. You get a small number, say 2, where you get to try something off the beaten path if you believe that will provide a competitive edge.