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)

Google

Apple open secret

and even GM...

...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

more...

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

  • 1,846