So, here we are: Microservices, and everything they bring with them, like Spring Cloud, Kubernetes, Docker, ELK, you name it. We learnt and worked hard to master all of it. And now, finally, we feel prepared for the next years to come.
Hmm, but what about Digitization? So what! Dissolving market boundaries? You couldn’t care less! Changing user expectations? Not your turf! And yet those and other non-IT topics may question your laboriously acquired skills very soon.
In this session we will first examine, how those non-IT topics create new forces on software engineering. Based on that we will try to understand the drivers of future IT solutions and how that is going to affect your work – including unraveling the mysteries behind hypes like cloud-native, serverless, APIs, platforms and more.
Finally, we will derive what you as a software engineer can do to sustain or even increase your market value in a shifting market, based on a well-balanced combination of new and timeless skills.
After the session, besides getting an idea how looking outside-the-box can help you making better decisions inside-the-box you will have a much better idea how to stay ahead of the curve.
2. Uwe Friedrichsen
IT traveller.
Dot Connector.
Cartographer of uncharted territory.
Keeper of timeless wisdom.
CTO and Fellow at codecentric.
https://www.slideshare.net/ufried
https://medium.com/@ufried
@ufried
26. Formal part of
value creation
Solution:
machine
Dynamic part
of value
creation
Solution: man
sluggishness/low dynamic high dynamichigh dynamic
The historical course of market dynamics
and the recent rise of highly dynamic and complex markets
The dominance of high dynamics and complexity is neither good nor bad. It‘s a historical fact.
t1970/80 today
Age of
crafts manu-
facturing
Age of
tayloristic
industry
Age of
global
markets
1850/1900
Spacious markets,
little competition
Local markets,
high customi-
zation
Outperformers exercise
market pressure over
conventional companies
We call the graph shown here the “Taylor Bathtub”.
The “bathtub” curve
Source: BetaCodex Network Associates, “Organize for complexity”, BetaCodex Network White Paper 12 & 13
27. Key drivers
Pre-industrial era
• No clear driver
Industrial era
• Cost-efficiency
• Scalability
• Repeatability
• Stability
• Efficiency & scale
Post-industrial era
• Cycle times
• Adaptability
• Flexibility
• Resilience
• Effectiveness & speed
29. 1960
1970
1980
1990
2000
2010
2020
Complicated
(Business functions)
Complex
(Business processes)
Highly complex
(Business nervous system)
Software crisis
Software engineering
PC
LAN
Internet
Business
Support
of IT
Selective
Holistic
Complicated
Complex
“Moore’s law”
Mobile
IoT
30. IT today is ...
• ... the nervous system of the business
• ... an enabler of (disruptive) new business models
• ... an integral part of the business model (“digitization”)
• ... the medium for the continuous customer communication
32. Key drivers
Pre-industrial era
• No clear driver
Industrial era
• Cost-efficiency
• Scalability
• Repeatability
• Stability
• Efficiency & scale
Post-industrial era
• Cycle times
• Adaptability
• Flexibility
• Resilience
• Effectiveness & speed
33. 1960
1970
1980
1990
2000
2010
2020
Complicated
(Business functions)
Complex
(Business processes)
Highly complex
(Business nervous system)
Software crisis
Software engineering
PC
LAN
Internet
Business
Support
of IT
Selective
Holistic
Complicated
Complex
“Moore’s law”
Mobile
IoT
37. Digitization (Definition)
• Blurry and misleading term – yet an important change driver
• Response to market demands and technology evolution
• Core: IT becomes integral part of business offerings
• Consequence: Cross-domain boundaries start to dissolve
and leverage – currently still unknown – business models
38. 1st wave of digitization
Digitization of business processes
(Automation of business processes)
• Started ~40 years ago
• Peak ~20 years ago
• Today mostly completed
Customer
Employee
IT
Need
Need
IT
IT
IT
IT
Employee
Employee
Employee
Employee
Business support
systems
Business offering
(supplier driven)
39. Customer
IT
Need
Need
IT
IT
IT
IT
Business offering
(supplier driven)
Business support
systems
2nd wave of digitization
Digitization of business offerings
(IT becoming integral part of business offerings)
• Started ~20 years ago
• Peak now
40. Customer
IT
Need
Need
IT
IT
IT
IT
Business offering
(supplier driven)
Business support
systems
3rd wave of digitization
Customer need driven business offerings
(Dissolving domains boundaries)
• Starts now
API
API
API
API
API
Business offering
(customer driven)
41. Digitization (Effect)
• Uncertainty regarding business model viability
• Post-industrial practices needed for being successful
(Fast iterations, pervasive metrics incl. measuring outcome,
A/B testing, smart rollout strategies, ...)
• Dissolving domain boundaries
• “Uncertainty to the square”
• Unknown business domain
• Often no direct customer feedback available
• Post-industrial practices mandatory for survival
43. Customer expectations
• Great user experience (UX)
• Fast response times
• Multi-device capabilities
• Zero downtime
• Strong Security (regarding data privacy)
• Adapts to customer’s needs and demands
45. Moving fast
• Minimize cycle times to accelerate the feedback loop
• Response to business model uncertainty
• Goal is to minimize idle and value-reducing performances
• Massive paradigm shift (“Re-thinking IT”)
That is what DevOps actually is about!
46. Focus on frontends
• The battle for customers gets decided in the frontend
• Backends just need to work and must not get in the way
• UX and UI design become key differentiators
• Backend becomes commodity
• Bear all types of frontends in mind (incl. IoT, API, ...)
47. Cloud-native and serverless
• Reduce vertical integration depth
• Focus on value-creating IT performance to move faster
• Newest incarnation of “make or buy”
• Managed services as successor of standard software
• FaaS to orchestrate managed services
• Managed container and batch jobs for deep business logic
48. Human-centered computing
• Shift towards human-centered user interfaces
• Complemented by context-aware computing & UIs
• “Mobile first” is just a transitional step
• New types of human-machine interaction
• Voice, gestures, tactile, ...
• Augmented by AR & VR interface capabilities
49. InfoSec
• Indispensable supplement for most needed technologies
• Cloud
• Wireless
• IoT
• Mobile
• ...
• Must be an integral part of all stages of the IT value chain
51. IT enabled trends
Artificial intelligence / deep learning
Internet of Things (including industry 4.0)
Maker movement (including 3D printing)
Blockchain
• Currently hyped topics with disruptive potential
• Actual future impact not yet clearly foreseeable
53. Microservices as a transitional step
• Important architectural support step towards moving fast
• Yet, really hard to master
• Understanding effects of distributed systems is hard
• Supporting increased production needs is hard
• Mastering additional deployment and production tools is hard
• Often overstrained the people involved
• Promise of going a lot faster often not met
• Instead created a new development and production hell
à Need to reduce intellectual load without slowing down
54. Reducing intellectual load
• Going serverless
• Infrastructure as managed services
• Deployment and production tools as managed services
• Most business logic as managed services
(or be moved to the frontend)
• Orchestration of managed services via FaaS
• Few remaining self-programmed (micro)services,
run as managed containers
à Reduced vertical integration depth while going faster
55. Consequences of going serverless
• Implementing and operating the infrastructure, deployment
and production tools will become irrelevant
• Knowing the managed service offerings will become crucial
• Understanding the underlying concepts will still be important
• Backend development overall will become less relevant
• Frontend development will become essential
à Microservices will mostly dissolve into serverless over time
57. Staying ahead of the curve
Some recommendations augmenting your path ahead
58. Go frontend ...
• Learn JavaScript – really!
• Embrace the concepts of UX and UI design
• Understand CSS at least a bit
• Start picking up the concepts of human-centered computing
• Voice-based UI, Video-based UI, AR, VR, etc.
59. ... or go serverless ...
• Understand and learn what “cloud” means today!
• Understand the concepts of “serverless”
• Know the relevant managed service offerings (BaaS/SaaS)
• Automate everything using managed services
• Understand operation needs (especially monitoring) ...
• ... and what existing solutions (managed services) offer
• Abandon DIY and NIH
• Actively reduce vertical integration depth
60. ... or try a different direction
• Smart Data & AI (incl. deep learning)
• Will heavily shape future decision making processes
• Be prepared to refresh your math
• Smart Devices
• Fast and wild evolution at the moment
• Lots of exciting challenges – and lots of grassroots coding ;)
• InfoSec
• Needed everywhere – yet treated often like an unloved chore
• Must become an integral part of development and operations
61. Understand post-industrial markets
• Speed trumps perfection – Rethink everything!
• Really, really understand the implications of uncertainty!
• Understand the difference between output and outcome
• Understand the ideas of bets and options
• Dismiss cargo-cult agility – learn what “Agile” really means
• It is a revolution in your head!
• But it should be an evolution regarding implementation
• Otherwise you will certainly overstrain your organization
62. Master the timeless wisdom
• Especially master the foundations of good design
• “Loose coupling, high cohesion” & “separation of concerns”
• “Information hiding” especially with respect to API
• Domain-driven design can be a useful starting point
• Good design skills are more relevant than ever
• Affect understandability, changeability and extensibility
• Affect usability, stability and acceptance at API level
• Affect robustness, availability and scalability at runtime
64. Wrap-up
• Post-industrialism as driver for moving fast
• Microservices as backing, but challenging architectural style
• Serverless as the next consistent evolutionary step
• Frontends become crucial
• Backends become commodity
• Data/AI, IoT and InfoSec as alternative directions
• Timeless design wisdom is more relevant than ever
65. @ufried
Uwe Friedrichsen
IT traveller.
Dot Connector.
Cartographer of uncharted territory.
Keeper of timeless wisdom.
CTO and Fellow at codecentric.
https://www.slideshare.net/ufried
https://medium.com/@ufried