The Future of Software Development

by

Ody Mbegbu

Who am I?

@odytrice

medium.com/real-world-fsharp

Who am I?

  • Work at Cyberspace
  • Head of Social/Cognitive Unit
  • Responsible for Naijawella Platform

What do I do?

  • Web Technologies
  • Android (Java/Kotlin)
  • Machine Learning (F#/R)
  • .NET (C#/F#), NodeJs, Ruby, Java(Kotlin)

Any Future that doesn't have some kind of connection to today doesn't exist

Emeka Mbegbu

(My Dad)

Categories of Innovation

  • Coding - Functional Programming
  • Process - Continuous Integration/Delivery
  • Infrastructure - Containerization, Serverless
  • Application Paradigm - Machine Learning

Programming Language Evolution

What do we do today?

  • Most languages are largely Object Oriented and Imperative
  • We give instructions one line at a time
  • Applications are meticulously crafted
  • Applications today are largely unstable
  • Programming is largely an Art

Programming Language Evolution

The Future is Functional

  • Declarative model of programming
  • Data Transformations and Pipelines 
  • Careful mutation and side-effects
  • Programming will be more like a Science

Process (SDLC)

What do we do today?

  • Waterfall Process
  • Big Bang releases
  • Manual deployments 

Process (SDLC)

Agile DevOps is the future

  • Iterative Process
  • Smaller more frequent deployments
  • Automated builds and deployments 

Infrastructure Evolution

What do we do today?

  • Deploy whole applications to Virtual Machines/Hosting
  • Applications are Monoliths
  • Applications aren't easily portable/scalable
  • "It works on my machine syndrome"

Bare OS/ Virtualization

Infrastructure Evolution

Where are we heading?

  • Containers (e.g. Docker)
  • Serverless e.g. Functions as a Service, Backend as a service

Docker

Azure Functions

Amazon Lambda

Application Paradigm

What do we do today?

  • Expert Systems (with help from Domain Experts)
  • Analyze structured Data
  • Data is stored in one Database in one format

Application Paradigm

ML will play a strong role in the near future

  • "Programming with Data"
  • Algorithms are valuable IP
  • Analyze both structured and unstructured Data
  • Data is heterogenous
  • Algorithms smarter than Experts will emerge
    (e.g. Chess)
  • Programs with "Intuition"

Thank You

Made with Slides.com