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