Why You Don't Need That Framework : Selecting Your Stacks

Tareq Kirresh

DevOps Tech Lead @ CEPRES GmbH

Inspiration for this Talk

  • This Talk was inspired by Fireship.io
  • He made a very thought provoking video about tech stack layers
  • We Won't Go into it, but it got me thinking

Am I Overcomplicating My Projects?

Am I Overcomplicating My Projects?

  • I'm A DevOps Engineer by trade
  • I should always be looking for the simplest solutions

The Mean,Green, Lean Machine

  • I want to examine, closely, 2 principles from Lean management
  • Defining Value : Clearly define what the value is to your upstream; remove anything else that does not create this value
  • Persuit of Perfection : Perfection is a path, not a reachable goal; start with good and move to better

Defining Value

  • Lets Start with a 2 Simple Questions
  • Does our upstream actually care what technology we use?
  • Does our upstream actually get value from this technology

Defining Value

  • More often than not, the answer is a resounding No
  • In Fact, in most cases, our end-user isn't even made aware of the tech we use

Defining Value

  • One of the biggest pitfalls when defining value is not being user-centric
  • Which, in turn, leads to stack selection that is not based on real user value
  • Leading to overcomplicating our work, trying to get around technology opinions, pitfalls, and usage

Defining Value

  • Then it stands to reason then, that we should be looking for the simplest, most effective technology to do a task
  • And this technology we choose, should be
    • Self-Contained : It does not pollute other tasks
    • Specialized : Performs its job to the maximum

Defining Value

  • Frameworks are Great - Don't Get me wrong
  • But More often than not, frameworks are chosen at the start of project's life
  • And that Decision is expensive to revert - and will only show it's pitfalls as the project grows
  • And we rarely use the majority of them

Persuit of Perfection

"Have no fear of perfection - you'll never reach it." - Salvador Dali

Persuit of Perfection

  • We should always be refining our craft
  • Refining our Craft, and Our Product, means that we need flexebility
  • It also means we need to be able to switch out technologies, or at the very least, not be tied into certain opinions

Persuit of Perfection

  • One of the biggest issues of frameworks is that you will only work the way the framework wants you to

A Modular Approach

  • The World is full of simple, consince, libraries
  • Evaluate each technology on its own; each library as it fits into the whole
  • Use Them!

A Modular Approach

  • Use Quantitative and Qualitative Methods
  • Think as a Client; As a User, what would create value for me

A Modular Approach

  • Use Quantitative and Qualitative Methods
  • Think as a Client; As a User, what would create value for me

A Modular Approach

  • And Always back your comparisons with Documentation

Thank You