SlideShare a Scribd company logo
1 of 93
© Instil Software 2020
The Heat Death
of Enterprise IT
The end of the (IT) world
as we know it
D
@GarthGilmour
(Mr Bad News)
@BoyleEamonn
(Mr Good News)
https://instil.co
– I’m fascinated by something
– Someone paid me lots of money
– I’m genuinely worried
why this talk?
i write talks for three reasons
inglorious
the heat death of the universe
The heat death of the universe (also known as the Big Chill or Big
Freeze)[ is a hypothesis on the ultimate fate of the universe, which
suggests the universe would evolve to a state of no thermodynamic free
energy and would therefore be unable to sustain processes that
increase entropy. Heat death does not imply any particular absolute
temperature; it only requires that temperature differences or other
processes may no longer be exploited to perform work. In the language
of physics, this is when the universe reaches thermodynamic equilibrium.
https://en.wikipedia.org/wiki/Heat_death_of_the_universe
We are too far apart for
work to occur
We are being pulled apart
1. Frameworks
2. Thinking
3. Full Stack
4. Ethics
5. Anxiety
different dimensions of overload
how we are being pulled apart
#1
Frameworks
“There’s no such thing as
advanced developers”
“of course something something
maturity something something
great coping skills something
something can communicate
something something resilient
something something wisdom”
– Name five frameworks for creating a Web App?
– Name five JVM frameworks for creating a Web App?
– Name five Kotlin frameworks for creating a Web App?
thought experiment – part 1
could you...
– Name five JavaScript frameworks?
– Name five frameworks for creating a SPA?
– Name five frameworks for managing state in React?
thought experiment – part 2
could you...
– Name five Cloud Computing platforms?
– Name five mechanisms for deploying to AWS?
thought experiment – part 3
could you...
1.Web Console
2.AWS CLI
3.Cloud Formation Template
• By CDK
• By SAM
• Via pure CF JSON
• Via YAML
4.Writing an Ansible playbook
5.Writing Terraform
6.Chef Automate
7. Puppet Enterprise
8. AWS Elastic Beanstalk
9. AWS CodeDeploy
10.AWS CodeStar
11.AWS OpsWorks
12.Cloud Foundry Bosh
it’s not a battle between titans
it’s a struggle to be heard
everyone is fighting for our attention!
hence DevRel is now a big thing...
Any sufficiently disparate
set of frameworks is
indistinguishable from
rolling your own.
Me. Today
1995: “It will take you months to understand our design.”
2025: “It will take you months to understand our design.”
The Age Of Frameworks™️
You’re not wrong man
You just need to chill out
– Consider writing your own React / Spring / Jetpack
– Or even just the core bits YOU use frequently
– This software is not only huge but battle tested
it’s not all spin
frameworks have value
systems today do more
they have more essential complexity
– Many of the new frameworks and services enable innovation
– Consider shared data centres vs individual on-prem servers
– Consider power consumption of serverless vs 24x7 VMs
there are economies of scale
especially in resource consumption
– Coupling does have a cost
– We need to weigh the pros and cons
– Like all things in engineering
– It’s not all cons though
understanding cost vs benefit
coupling has a price
PROS CONS
#2
Thinking
Does Deep Thought Matter?
“Developers don’t read books”
“Blogs shouldn’t be wordy”
Magpie Development
“This is all great. But I
will miss coding”
this is what we would expect
as we move from craftspeople to mechanics
Design the system
Diagnose the problem
You’re not wrong man
You just need to chill out
every generation can claim “authenticity”
maybe it’s just different / evolution
You’re plugging AWS
services together?
Unless you’re writing it all
from scratch in Java, are you
really thinking?
You’re using a managed
language?
If you’re not writing C++
and considering memory
layouts, are you really
thinking?
You’re using a compiler?
If you’re not writing
assembly, are you really
thinking?
You’re using off the shelf
hardware?
Unless you’re designing
your own circuits, are
you really thinking?
– Frameworks, tools and hardware allow us to achieve more
– It’s still highly skilled, but perhaps different skills
– Logic, problem solving and thinking are still required
we think about & solve different problems
we think about & solve problems differently
– There are some terrible books & blog posts out there
– At a certain competency level, minimal info is required
– A lot of information is redundant / irrelevant
long-winded, rambling, wordy
lengthy, verbose & repetitive blogs and books
– But I do love coding, not such a fan of YAML
– I will steer my career to the kind of work I enjoy
– But I will not seek out “busy work” either
– I don’t want to do work that is not required
passionate about your work
know what you love
#3
Full Stack
– Programmers (maybe?)
define the modern developer
what are we really?
– Programmers (maybe?)
– DevOps people / build experts
define the modern developer
what are we really?
True ... and yet
– Programmers (maybe?)
– DevOps people / build experts
– Business Analysts / DDD experts
define the modern developer
what are we really?
True ... and yet
– Programmers (maybe?)
– DevOps people / build experts
– Business Analysts / DDD experts
– QA / experts in non-functional testing
define the modern developer
what are we really?
True ... and yet
– Programmers (maybe?)
– DevOps people / build experts
– Business Analysts / DDD experts
– QA / experts in non-functional testing
– Experts in security exploits / pen testing
define the modern developer
what are we really?
True ... and yet
80%
of new products fail
product management
we’re part of a much bigger process
Define Prototype
Ideate Test
Empathize
– Programmers (maybe?)
– DevOps people / build experts
– Business Analysts / DDD experts
– QA / experts in non-functional testing
– Experts in security exploits / pen testing
– Product People / experts in UX design
define the modern developer
what are we really?
You’re not wrong man
You just need to chill out
– Handover and communication are difficult
– Having full vertical slices has it’s advantages
– Avoids narrow focus
should we not have a holistic view?
why are we at this place?
– We still have specialisms and specialists in our industry
– Real-world constraints often dictate how many hats we wear
should we not have a holistic view?
specialisms still exist
#4
Ethics
“Alienated work is a rich source
of these incomplete cycles. We
expend effort, focus our will,
develop our skills, solve
problems, work through
frustration – and then in many
cases never see the results of
our work, never mind benefit
from them. We never get
satisfaction, completion.”
You’re not wrong man
You just need to chill out
computers are everywhere
– It’s inevitable IT will be involved in the bad
– It’s involved in everything
they’re in the good, the bad and the ugly
perhaps we should hold ourselves
– Our industry has the power and reach
to higher standards
#5
Extra Anxieties*
* Suggested by early
reviewers of this talk
– As an Agile team we:
– self-organize
– self-educate
– act as our own coaches
– resolve our own disagreements
– etc...
the (agile) team is everything
its own manager / coach / therapist
– New employers seem to be appearing all the time
– There is huge upward pressure on salaries and benefits
– Folks are entering into the profession from other fields
– It feels like we are living at the peak of a bubble
life is too good
is the current growth sustainable?
could we soon be redundant?
no-code / low-code is back again...
Source: https://venturebeat.com/2021/02/14/
You’re not wrong man
You just need to chill out
about the bubble
i’m not a fortune teller
We’re all
doomed!
– Teams function and support each other as a unit
– We’re more aware of and open about mental health issues
– We realise the importance of a work / life balance
about teams
i feel we’re in a better place today
#7
Conclusions
1. Frameworks proliferate
2. Deep thought is deprecated
3. Developers now do everything
4. We are the baddies
5. Anxiety
different dimensions of overload
how we are being pulled apart
what do the following mean?
– To be a senior developer?
– To be an architect?
– To work as a manager?
– To have skill?
– To have job security?
after 20+ years i’m no longer sure...
you’re not totally wrong
but it’s a matter of perspective
– I never had to use punched cards
– I never wrote more than 100 lines of assembly in my life
– I never had to work directly with transistors
– I never had to write my own compiler
there’s lots i’ve never done
i don’t feel i’ve missed out
but i was busy doing other stuff
and I had fun doing it
– Most will not write their own sorting algorithms
– Most will never write their own data structures
– Most will never have to solve linker errors
– Most will never think about endianness
the new generation shouldn’t feel bad either
they might not do some stuff
but they will busy doing other (hard) stuff
and building great products!

More Related Content

More from Garth Gilmour

Generics On The JVM (What you don't know will hurt you)
Generics On The JVM (What you don't know will hurt you)Generics On The JVM (What you don't know will hurt you)
Generics On The JVM (What you don't know will hurt you)Garth Gilmour
 
Using Kotlin, to Create Kotlin, to Teach Kotlin, in Space
Using Kotlin, to Create Kotlin,to Teach Kotlin,in SpaceUsing Kotlin, to Create Kotlin,to Teach Kotlin,in Space
Using Kotlin, to Create Kotlin, to Teach Kotlin, in SpaceGarth Gilmour
 
Is Software Engineering A Profession?
Is Software Engineering A Profession?Is Software Engineering A Profession?
Is Software Engineering A Profession?Garth Gilmour
 
Social Distancing is not Behaving Distantly
Social Distancing is not Behaving DistantlySocial Distancing is not Behaving Distantly
Social Distancing is not Behaving DistantlyGarth Gilmour
 
The Great Scala Makeover
The Great Scala MakeoverThe Great Scala Makeover
The Great Scala MakeoverGarth Gilmour
 
Transitioning Android Teams Into Kotlin
Transitioning Android Teams Into KotlinTransitioning Android Teams Into Kotlin
Transitioning Android Teams Into KotlinGarth Gilmour
 
Simpler and Safer Java Types (via the Vavr and Lambda Libraries)
Simpler and Safer Java Types (via the Vavr and Lambda Libraries)Simpler and Safer Java Types (via the Vavr and Lambda Libraries)
Simpler and Safer Java Types (via the Vavr and Lambda Libraries)Garth Gilmour
 
The Three Horse Race
The Three Horse RaceThe Three Horse Race
The Three Horse RaceGarth Gilmour
 
The Bestiary of Pure Functional Programming
The Bestiary of Pure Functional Programming The Bestiary of Pure Functional Programming
The Bestiary of Pure Functional Programming Garth Gilmour
 
BelTech 2019 Presenters Workshop
BelTech 2019 Presenters WorkshopBelTech 2019 Presenters Workshop
BelTech 2019 Presenters WorkshopGarth Gilmour
 
Kotlin The Whole Damn Family
Kotlin The Whole Damn FamilyKotlin The Whole Damn Family
Kotlin The Whole Damn FamilyGarth Gilmour
 
The Philosophy of DDD
The Philosophy of DDDThe Philosophy of DDD
The Philosophy of DDDGarth Gilmour
 
10 Big Ideas from Industry
10 Big Ideas from Industry10 Big Ideas from Industry
10 Big Ideas from IndustryGarth Gilmour
 
'Full Stack Kotlin' Workshop at KotlinConf
'Full Stack Kotlin' Workshop at KotlinConf'Full Stack Kotlin' Workshop at KotlinConf
'Full Stack Kotlin' Workshop at KotlinConfGarth Gilmour
 
FFS The Browser and Everything In It Is Wrong - We've Ruined Software Enginee...
FFS The Browser and Everything In It Is Wrong - We've Ruined Software Enginee...FFS The Browser and Everything In It Is Wrong - We've Ruined Software Enginee...
FFS The Browser and Everything In It Is Wrong - We've Ruined Software Enginee...Garth Gilmour
 
Down With JavaScript!
Down With JavaScript!Down With JavaScript!
Down With JavaScript!Garth Gilmour
 
BBQ BASH Technology Rant - June 2018
BBQ BASH Technology Rant - June 2018BBQ BASH Technology Rant - June 2018
BBQ BASH Technology Rant - June 2018Garth Gilmour
 
Coding in Kotlin with Arrow NIDC 2018
Coding in Kotlin with Arrow NIDC 2018Coding in Kotlin with Arrow NIDC 2018
Coding in Kotlin with Arrow NIDC 2018Garth Gilmour
 
Presentation Skills Workshop for NIDC 2018
Presentation Skills Workshop for NIDC 2018Presentation Skills Workshop for NIDC 2018
Presentation Skills Workshop for NIDC 2018Garth Gilmour
 
The Arrow Library in Kotlin
The Arrow Library in KotlinThe Arrow Library in Kotlin
The Arrow Library in KotlinGarth Gilmour
 

More from Garth Gilmour (20)

Generics On The JVM (What you don't know will hurt you)
Generics On The JVM (What you don't know will hurt you)Generics On The JVM (What you don't know will hurt you)
Generics On The JVM (What you don't know will hurt you)
 
Using Kotlin, to Create Kotlin, to Teach Kotlin, in Space
Using Kotlin, to Create Kotlin,to Teach Kotlin,in SpaceUsing Kotlin, to Create Kotlin,to Teach Kotlin,in Space
Using Kotlin, to Create Kotlin, to Teach Kotlin, in Space
 
Is Software Engineering A Profession?
Is Software Engineering A Profession?Is Software Engineering A Profession?
Is Software Engineering A Profession?
 
Social Distancing is not Behaving Distantly
Social Distancing is not Behaving DistantlySocial Distancing is not Behaving Distantly
Social Distancing is not Behaving Distantly
 
The Great Scala Makeover
The Great Scala MakeoverThe Great Scala Makeover
The Great Scala Makeover
 
Transitioning Android Teams Into Kotlin
Transitioning Android Teams Into KotlinTransitioning Android Teams Into Kotlin
Transitioning Android Teams Into Kotlin
 
Simpler and Safer Java Types (via the Vavr and Lambda Libraries)
Simpler and Safer Java Types (via the Vavr and Lambda Libraries)Simpler and Safer Java Types (via the Vavr and Lambda Libraries)
Simpler and Safer Java Types (via the Vavr and Lambda Libraries)
 
The Three Horse Race
The Three Horse RaceThe Three Horse Race
The Three Horse Race
 
The Bestiary of Pure Functional Programming
The Bestiary of Pure Functional Programming The Bestiary of Pure Functional Programming
The Bestiary of Pure Functional Programming
 
BelTech 2019 Presenters Workshop
BelTech 2019 Presenters WorkshopBelTech 2019 Presenters Workshop
BelTech 2019 Presenters Workshop
 
Kotlin The Whole Damn Family
Kotlin The Whole Damn FamilyKotlin The Whole Damn Family
Kotlin The Whole Damn Family
 
The Philosophy of DDD
The Philosophy of DDDThe Philosophy of DDD
The Philosophy of DDD
 
10 Big Ideas from Industry
10 Big Ideas from Industry10 Big Ideas from Industry
10 Big Ideas from Industry
 
'Full Stack Kotlin' Workshop at KotlinConf
'Full Stack Kotlin' Workshop at KotlinConf'Full Stack Kotlin' Workshop at KotlinConf
'Full Stack Kotlin' Workshop at KotlinConf
 
FFS The Browser and Everything In It Is Wrong - We've Ruined Software Enginee...
FFS The Browser and Everything In It Is Wrong - We've Ruined Software Enginee...FFS The Browser and Everything In It Is Wrong - We've Ruined Software Enginee...
FFS The Browser and Everything In It Is Wrong - We've Ruined Software Enginee...
 
Down With JavaScript!
Down With JavaScript!Down With JavaScript!
Down With JavaScript!
 
BBQ BASH Technology Rant - June 2018
BBQ BASH Technology Rant - June 2018BBQ BASH Technology Rant - June 2018
BBQ BASH Technology Rant - June 2018
 
Coding in Kotlin with Arrow NIDC 2018
Coding in Kotlin with Arrow NIDC 2018Coding in Kotlin with Arrow NIDC 2018
Coding in Kotlin with Arrow NIDC 2018
 
Presentation Skills Workshop for NIDC 2018
Presentation Skills Workshop for NIDC 2018Presentation Skills Workshop for NIDC 2018
Presentation Skills Workshop for NIDC 2018
 
The Arrow Library in Kotlin
The Arrow Library in KotlinThe Arrow Library in Kotlin
The Arrow Library in Kotlin
 

The Heat Death Of Enterprise IT

  • 1. © Instil Software 2020 The Heat Death of Enterprise IT The end of the (IT) world as we know it
  • 2. D @GarthGilmour (Mr Bad News) @BoyleEamonn (Mr Good News) https://instil.co
  • 3. – I’m fascinated by something – Someone paid me lots of money – I’m genuinely worried why this talk? i write talks for three reasons
  • 5. the heat death of the universe The heat death of the universe (also known as the Big Chill or Big Freeze)[ is a hypothesis on the ultimate fate of the universe, which suggests the universe would evolve to a state of no thermodynamic free energy and would therefore be unable to sustain processes that increase entropy. Heat death does not imply any particular absolute temperature; it only requires that temperature differences or other processes may no longer be exploited to perform work. In the language of physics, this is when the universe reaches thermodynamic equilibrium. https://en.wikipedia.org/wiki/Heat_death_of_the_universe
  • 6. We are too far apart for work to occur We are being pulled apart
  • 7. 1. Frameworks 2. Thinking 3. Full Stack 4. Ethics 5. Anxiety different dimensions of overload how we are being pulled apart
  • 9. “There’s no such thing as advanced developers”
  • 10. “of course something something maturity something something great coping skills something something can communicate something something resilient something something wisdom”
  • 11. – Name five frameworks for creating a Web App? – Name five JVM frameworks for creating a Web App? – Name five Kotlin frameworks for creating a Web App? thought experiment – part 1 could you...
  • 12.
  • 13. – Name five JavaScript frameworks? – Name five frameworks for creating a SPA? – Name five frameworks for managing state in React? thought experiment – part 2 could you...
  • 14.
  • 15. – Name five Cloud Computing platforms? – Name five mechanisms for deploying to AWS? thought experiment – part 3 could you...
  • 16. 1.Web Console 2.AWS CLI 3.Cloud Formation Template • By CDK • By SAM • Via pure CF JSON • Via YAML 4.Writing an Ansible playbook 5.Writing Terraform 6.Chef Automate 7. Puppet Enterprise 8. AWS Elastic Beanstalk 9. AWS CodeDeploy 10.AWS CodeStar 11.AWS OpsWorks 12.Cloud Foundry Bosh
  • 17. it’s not a battle between titans it’s a struggle to be heard
  • 18. everyone is fighting for our attention! hence DevRel is now a big thing...
  • 19. Any sufficiently disparate set of frameworks is indistinguishable from rolling your own. Me. Today
  • 20. 1995: “It will take you months to understand our design.” 2025: “It will take you months to understand our design.” The Age Of Frameworks™️
  • 21. You’re not wrong man You just need to chill out
  • 22. – Consider writing your own React / Spring / Jetpack – Or even just the core bits YOU use frequently – This software is not only huge but battle tested it’s not all spin frameworks have value
  • 23.
  • 24. systems today do more they have more essential complexity
  • 25. – Many of the new frameworks and services enable innovation – Consider shared data centres vs individual on-prem servers – Consider power consumption of serverless vs 24x7 VMs there are economies of scale especially in resource consumption
  • 26. – Coupling does have a cost – We need to weigh the pros and cons – Like all things in engineering – It’s not all cons though understanding cost vs benefit coupling has a price PROS CONS
  • 28. Does Deep Thought Matter?
  • 29.
  • 30.
  • 31.
  • 32.
  • 33. “Developers don’t read books” “Blogs shouldn’t be wordy”
  • 35.
  • 36. “This is all great. But I will miss coding”
  • 37. this is what we would expect as we move from craftspeople to mechanics Design the system Diagnose the problem
  • 38.
  • 39. You’re not wrong man You just need to chill out
  • 40. every generation can claim “authenticity” maybe it’s just different / evolution
  • 41. You’re plugging AWS services together? Unless you’re writing it all from scratch in Java, are you really thinking? You’re using a managed language? If you’re not writing C++ and considering memory layouts, are you really thinking? You’re using a compiler? If you’re not writing assembly, are you really thinking? You’re using off the shelf hardware? Unless you’re designing your own circuits, are you really thinking?
  • 42. – Frameworks, tools and hardware allow us to achieve more – It’s still highly skilled, but perhaps different skills – Logic, problem solving and thinking are still required we think about & solve different problems we think about & solve problems differently
  • 43. – There are some terrible books & blog posts out there – At a certain competency level, minimal info is required – A lot of information is redundant / irrelevant long-winded, rambling, wordy lengthy, verbose & repetitive blogs and books
  • 44.
  • 45. – But I do love coding, not such a fan of YAML – I will steer my career to the kind of work I enjoy – But I will not seek out “busy work” either – I don’t want to do work that is not required passionate about your work know what you love
  • 47. – Programmers (maybe?) define the modern developer what are we really?
  • 48.
  • 49. – Programmers (maybe?) – DevOps people / build experts define the modern developer what are we really?
  • 51.
  • 52. – Programmers (maybe?) – DevOps people / build experts – Business Analysts / DDD experts define the modern developer what are we really?
  • 54.
  • 55.
  • 56. – Programmers (maybe?) – DevOps people / build experts – Business Analysts / DDD experts – QA / experts in non-functional testing define the modern developer what are we really?
  • 58.
  • 59. – Programmers (maybe?) – DevOps people / build experts – Business Analysts / DDD experts – QA / experts in non-functional testing – Experts in security exploits / pen testing define the modern developer what are we really?
  • 62. product management we’re part of a much bigger process Define Prototype Ideate Test Empathize
  • 63.
  • 64. – Programmers (maybe?) – DevOps people / build experts – Business Analysts / DDD experts – QA / experts in non-functional testing – Experts in security exploits / pen testing – Product People / experts in UX design define the modern developer what are we really?
  • 65. You’re not wrong man You just need to chill out
  • 66. – Handover and communication are difficult – Having full vertical slices has it’s advantages – Avoids narrow focus should we not have a holistic view? why are we at this place?
  • 67.
  • 68.
  • 69.
  • 70. – We still have specialisms and specialists in our industry – Real-world constraints often dictate how many hats we wear should we not have a holistic view? specialisms still exist
  • 72.
  • 73.
  • 74. “Alienated work is a rich source of these incomplete cycles. We expend effort, focus our will, develop our skills, solve problems, work through frustration – and then in many cases never see the results of our work, never mind benefit from them. We never get satisfaction, completion.”
  • 75. You’re not wrong man You just need to chill out
  • 76. computers are everywhere – It’s inevitable IT will be involved in the bad – It’s involved in everything they’re in the good, the bad and the ugly
  • 77. perhaps we should hold ourselves – Our industry has the power and reach to higher standards
  • 78. #5 Extra Anxieties* * Suggested by early reviewers of this talk
  • 79. – As an Agile team we: – self-organize – self-educate – act as our own coaches – resolve our own disagreements – etc... the (agile) team is everything its own manager / coach / therapist
  • 80. – New employers seem to be appearing all the time – There is huge upward pressure on salaries and benefits – Folks are entering into the profession from other fields – It feels like we are living at the peak of a bubble life is too good is the current growth sustainable?
  • 81. could we soon be redundant? no-code / low-code is back again... Source: https://venturebeat.com/2021/02/14/
  • 82. You’re not wrong man You just need to chill out
  • 83. about the bubble i’m not a fortune teller We’re all doomed!
  • 84. – Teams function and support each other as a unit – We’re more aware of and open about mental health issues – We realise the importance of a work / life balance about teams i feel we’re in a better place today
  • 86. 1. Frameworks proliferate 2. Deep thought is deprecated 3. Developers now do everything 4. We are the baddies 5. Anxiety different dimensions of overload how we are being pulled apart
  • 87. what do the following mean? – To be a senior developer? – To be an architect? – To work as a manager? – To have skill? – To have job security? after 20+ years i’m no longer sure...
  • 88.
  • 89. you’re not totally wrong but it’s a matter of perspective
  • 90. – I never had to use punched cards – I never wrote more than 100 lines of assembly in my life – I never had to work directly with transistors – I never had to write my own compiler there’s lots i’ve never done i don’t feel i’ve missed out
  • 91. but i was busy doing other stuff and I had fun doing it
  • 92. – Most will not write their own sorting algorithms – Most will never write their own data structures – Most will never have to solve linker errors – Most will never think about endianness the new generation shouldn’t feel bad either they might not do some stuff
  • 93. but they will busy doing other (hard) stuff and building great products!