Tech Choices

Adopting a new technology

There's still no silver bullet

Source: There's still no silver bullet |> Changelog

Nothing is ever needed for everything

My first hype exposure was "use the Extensible Markup Language for everything". Learning from it allowed me to live through the front end stack explosion, the micro-service overdose and many, many more silly trends.

Source: XML is the future - by Nobody has time for Python

It's the future

Blog post from 2015 about the future of Docker.

Looking around the rest of our industry, things don’t get stable until they become old and boring. As an example, how many protocols had to die before we got REST? We built REST and AJAX and JSON over the corpses of SOAP and CORBA, using the lessons we learned while building them. That’s two major technology transitions, over the course of about 10 years. Yet, we still haven’t got the same level of tooling for REST-based APIs that we had for SOAP a decade ago, and SOAP in particular has yet to fully die.

Source: It's the future | CircleCI

Why I Hate Frameworks / Modern Software Development Summarized (2005)

"And this is the way everyone is doing it now? Everyone is using a general-purpose tool-building factory factory factory now, whenever they need a hammer?"

"Yes."

"Well all right. I guess that's what I'll have to do. If this is the way things are done now, I guess I'd better learn how to do it."

Source: Factory factory factory

Have we reached a point of no return on managing software dependencies?

Software Supply Chain security issues are hitting hard the whole OSS ecosystem; not a day goes by without a security incident going into the wild, affecting unaware users and companies with software built with the modern patterns of ultra composability made of a dense number of external dependencies in multiple layers.

Source: Have we reached a point of no return on managing software dependencies? · Paolo Mainardi

Software Supply Chain

Stick to boring architecture for as long as possible

Before adopting a new technology, ask yourself: "Does it solve a specific problem or significantly enhance my product? Is it worth the learning curve and potential instability? Is this going to help us further down the line?"

Begin your project with a solid foundation based on well-understood technology. As your project evolves and you thoroughly understand your challenges, evaluate if there’s a compelling reason to incorporate more advanced technologies. It’s an intentional progression: start boring, then strategically innovate.

Source: Stick to boring architecture for as long as possible by Addy Osmani

Choose boring technology

We should generally pick the smallest set of tech that covers our problem domain, and lets us get the job done. #

Source: Choose Boring Technology

Technology Infatuation & Reversibility (Venkat Subramaniam)

Technology Infatuation

Is this technology the right choice?

Reversibility?
The ability to back out of design/architectural decisions

Library vs. Framework

  • The use of a library is easier to reverse than the use of a framework
  • It depends on the size of the surface area
  • Using a library is like dating, using a framework is like entering into a marriage

Resume Driven Development is a problem

Don't build what you can download
Don't download what you really do not need

Web Tech Stacks

Web Tech Stacks