Software trends
A.K.A.
few random & unstructured thoughts on what already happens or may (or may not) happen with software in upcoming years
Who am I?
twitter: @pdolega
github: github.com/pdolega
Engineering Associate /
Bussiness Dev
Techniques
Concepts
Trends
Structures
It's tough to make predictions, especially about the future.
Yogi Berra
Techniques
A.K.A. things that we already do and we think will gain even further adoption
Architecture
Domain-driven design
blah, blah, microservices
Event Sourcing
CQRS
While we are at it - NoSQLs
Data models
Relational
Document
Wide-column
Key/value
Graph
Hybrids
Testing
- Unit tests
- Integration tests
- Performance tests
- Resilience tests
- Canary release
- UI testing
Release stuff?
- Daily or weekly (instead of monthly or quarterly)
- Automated rollback policies
- Automated pipelines (CI vs CD)
- Feature toggles / feature flags
Feature toggle
Reactive?
Goal
Principles
Methods
Resilience
Loose coupling
Isolation
Latency control
Supervision
Monitoring
Escalation
Error handling
Async communication
Location transparency
Idempotency
Relaxed temporal constraints
Bulkheading
Shed load
Circuit breakers
Timeouts
Bounded Queues / Back pressure
Mobile users
Traditional thread-per-request model is outdated
rxJava, Vert.x, Akka... async
credited to Jonas Bonér (@jboner)
Immutability
Referential transparency
Equational reasoning
Functional Programming
Basic abstractions (M word, Functors, etc)
Immutability
Higher-order functions
...you could be excused on not having a grip on these 3 years ago
Lenses
Lazy evaluations
Folds & Unfolds
Type classes
Optics
Type-level progamming
Cloud?
Serverless
AWS Lambda
Azure Functions
Google CloudFunctions
more...
AI became sexy again
AI became sexy again
On top of it AWS provides services for machine learning, image recognition etc
credited to Simon Wardley (@swardley)
Organizational
Shift
Uber, the world’s largest taxi company, owns no vehicles.
Facebook, the world’s most popular media owner, creates no content.
Alibaba, the most valuable retailer, has no inventory.
And Airbnb, the world’s largest accommodation provider, owns no real estate.
Something interesting is happening.
Tom Goodwin
Shift in team structures
Complicated vs Complex
Complicated | Complex |
---|---|
Defining roles | Building relationships |
Making decisions | Making sense |
Tight structure (ladder) | Loose coupling (autonomy) |
You know! | You learn as you go! |
Stay on course! | Emergent directions! |
This is where interesting things happen!
Roles
DevOps
Fullstacks (unicorns?)
Product Owners (intrapreneurs?)
Data Scientists
Classic managers matter less
You make what you measure
Paul Graham
e.g. Google’s 41 Shades of Blue
How much business value did we deliver?
...also Source Code Is A Liability, Not An Asset
Plug
Spectacular project opportunity in KRK
High traffic volume system
(tens of k of users/s)
Various roles: engineering, team lead, analysts, product owners, technical managers (>200 people yet to hire)
Cloud, DevOps,
microservices, NoSql
functional style-Java 8, RxJava, Vert.x
Thank you
Bonus
Sectors
A.K.A.
zooming out and starting to talk about crazy things (that we dreamed of when we were kids)
Autonomous cars
Consumers can expect a driverless Uber fleet by 2030
Travis Kalanick
but it's not only about Uber
Tesla (obviously)
Apple open secret
...at this point probably any other vehicle company (and not only)
Hon Hai has a workforce of over one million worldwide and as human beings are also animals, to manage one million animals gives me a headache
Terry Gou, Foxconn
Today 25% of Japan population is 65 or older (by 2020 projected 29%)
Japan is already working on robotic care-takers now
BUT IT'S NOT ONLY MANUFACTURING... CARE-TAKING (AMONG OTHERS)
Moore's Law
GENOMICS
Lots of areas
Slow drug development process...
Antibiotics immunity...
Lots of startups in these area...
Human Longetivity
Human Longevity's mission is to extend healthy human lifespan by the use of high-resolution big data diagnostics from genomics, metabolomics, microbiomics, and proteomics, and the use of stem cell therapy.
SPACEX
BLUE OCEAN
and I was thinking that dealing with date & time is complicated now...
So much more...
Software is eating the world, in all sectors.
In the future every company will become a software company.
Marc Andreessen
Software trends v2
By Pawel Dolega
Software trends v2
- 2,040