SlideShare a Scribd company logo
Bazillion New Technologies!
What Should I Study Next?
Ayman Mahfouz
December 2015
Presenter
● Vice President, Engineering at Webalo
● Graduate of CS Department 1997
● 15 years developing enterprise software in the US
● PhD in Software Engineering:
– “Requirements-Driven Adaptation of Choreographed Interactions”
Why This Topic
Became a manager
Was a developer
Request from students of the department.
Agenda
● Programming Languages
● Mobile Development
● Web Development
● Internet of Things
● Big Data
● Cloud Computing
● DevOps
Agenda
● Programming Languages
● Mobile Development
● Web Development
● Internet of Things
● Big Data
● Cloud Computing
● DevOps
Languages – Multilingual Developers
Source: Developer Insights Report by Application Developers Alliance (research by IDC Research)
Languages – Popularity
By activity on GitHub
Languages – Popularity
By developer knowledge (IDC survey)
Languages – Noteworthy
● Go (Google)
– Efficient compilation, GC, Formal Concurrency
● Rust (Mozilla)
– Safety, Efficient Runtime, No GC, Multi-core
● Erlang
– Event-driven, real-time
● Scala
– Functional, run on the JVM
● R
– Statistical Analysis
Languages – JavaScript
● Full-stack
– Client-side
– Server-side (Node.js)
● Sister Languages
– CoffeScript – Cleaner Syntax
– TypeScript – Superset with types
– Dart – Compiles to JS
Languages – JavaScript – Node.js
● Features
– Cross-platform runtime
– Google v8 JS engine
– Event-driven
– Non-blocking I/O
● Endless packages *.js
– Portability: Browserify
– Web: Express.js
– Build: Gulp & Grunt
– Promises and Async: many!
● Npm (package manager)
Agenda
● Programming Languages
● Mobile Development
● Web Development
● Internet of Things
● Big Data
● Cloud Computing
● DevOps
Mobile Dev – Mobile First
Mobile Dev – Enterprise Mobility
MDM (Device)
– Provision, Configure, Track
MAM (App)
– Control, Config, Monitor
MAS (Security)
– SSO, VPN, Data Protection
MCM (Collaboration)
– Sharing, Synchronization
EMM
EM
MAD
Mobile Dev – Devices in Enterprise
Mobile Dev – Cross Platform
● Convert common + write native UI
– J2ObjC
● PhoneGap / Cordova
– HTML 5
– Plugins for platform services
– Ionic for native look
● Scripting with native binding (Lua)
● VM
– Oracle ADF
– Webalo
● Separate code for each platform
Mobile Dev – Webalo Approach
● Shared code yet native look and feel.
Webalo Platform – Cross Platform Client Architecture
Agenda
● Programming Languages
● Mobile Development
● Web Development
● Internet of Things
● Big Data
● Cloud Computing
● DevOps
Agenda
● Programming Languages
● Mobile Development
● Web Development
● Internet of Things
● Big Data
● Cloud Computing
● DevOps
Web Dev – Specs
● HTML5
– Video/audio, components, storage, new elements, ...
● CSS3
– Transition, animation, gradients, calc, media queries
● ECMA Script 6
– Classes, types, promises, functional constructs
● Web Components
– Custom elements, shadow DOM, templates, imports
● HTTP 2.0 (to replace SPDY)
Web Dev – Responsive Design
● Handling various screen sizes
Twitter Bootstrap grids
Modernizr
Quick Quiz
???
Web Dev – Approaches
● History
– Request-Response (Plain HTTP)
– Behavior (JavaScript)
– Flash / Applets / SilverLight
– Async request-response (AJAX)
– DOM manipulation (JQuery)
– Templating (Knockout.js, Moustache.js)
– WebSockets
– Single Page Apps (SPA)
Web Dev – Single Page App (SPA)
● Features
– Single initial load of all resources (No reload or navigation to
another page)
– Dynamic content fetching (template-based rendering)
– Declarative binding
– Web Components (custom elements)
– Structured (e.g. MVC)
● SPA Frameworks
– Angular.js (All)
– Backbone.js
– Ember.js (Minimal)
– Polymer (Components)
– React.js (UI)
Web Dev – MEAN Stack
● JavaScript on server and client
● JSON all the way
● Extensive Node.js plugins
– SASS for CSS: variables, inheritance, readability
– E2E testing (Karma.js, Mocha.js, Jasmine.js)
Need a Break?
Question / Comments
Agenda
● Programming Languages
● Mobile Development
● Web Development
● Internet of Things
● Big Data
● Cloud Computing
● DevOps
IoT – Overview
● Basics
– Integrate physical and digital
– Sensors and actuators embedded in physical objects
– Network-connected (often via IP)
● History
– 1990: Web of information
– 2000: Web of services
– 2010: Web of everything
● Applications
– Safety, streamlined commerce, entertainment, education,
resource conservation, operational efficiency and personal
well-being and many more.
IoT – Markets
IoT – Applications – Consumer
● Home automation
– Nest thermostat
– Amazon dash button
● Personal health
– Connected medication bottle
– Heart monitor implant
– Wearables
● Wrist bands
● Electronic Socks
● Mobility
– e-Bike
IoT – Applications – Business
● Industrial (Machine KPI)
● Healthcare (Patient tracking)
● Aviation (Jet engine maintenance)
● Energy (Windmill efficiency, light control)
● Transportation (Smart trains)
IoT – Platforms
IoT – Future
Agenda
● Programming Languages
● Mobile Development
● Web Development
● Internet of Things
● Big Data
● Cloud Computing
● DevOps
Big Data – Overview
Analyze
Very large
datasets
Patterns
Trends
Associations
Infer Predict
Big Data – Hadoop
Big Data – Hadoop / Yarn
Big Data – Streaming
Big Data – Streaming
Big Data – Spark
● General cluster computing framework
● Multi-stage in-memory processing
● Much faster than Hadoop for some cases
● Batch + Streaming (Lambda Architecture)
Big Data – Machine Learning
● Insights into data using various techniques
– Summary statistics
– Correlation
– Clustering
– Regression
– Recommendation
Big Data – CAP Theorem
Pick two!
Big Data – NoSQL CAP
Big Data – NoSQL Types
Agenda
● Programming Languages
● Mobile Development
● Web Development
● Internet of Things
● Big Data
● Cloud Computing
● DevOps
Cloud – Deployment Models
Virtualization
Multi-tenant QoS
Scalable On-demand
Cloud – Service Models
Cloud – Providers
Cloud – Market Share
Cloud – Amazon Web Services
Agenda
● Programming Languages
● Mobile Development
● Web Development
● Internet of Things
● Big Data
● Cloud Computing
● DevOps
DevOps – Intersection of Dev and IT
DevOps – Overview
● Name: Development + Operations
● What it is: Collaboration between developers
and IT operators.
● Goal: Establish an environment where builds
can happen more frequently, rapidly, and
reliably.
● Means:
– Automation (Deployment + Test)
– Agile (Communication + Integration + Culture)
– Modularity (VM + Containers)
DevOps – Tools at a Glance
● Setup (Vagrant)
● Config Management (Chef, Puppet)
● Continuous Integration (Jenkins)
● Insights (NewRelic, Loggly, Splunk)
● Containers (Docker)
Where to go from here
Manager / Architect
Consultant Domain Expert
Good Developer
Discussion
amahfouz@gmail.com
amahfouz@webalo.com
facebook.com/amahfouz
linkedin.com/in/amahfouz
AymanMahfouz.blogspot.com
@aymanstein
slideshare.net/AymanMahfouz

More Related Content

PDF
Proud to be polyglot
PDF
PDF
Sean Kerr Resume
PDF
NoSQL on the move
PDF
Low TCO, high Impact: Innovative Government Services at Manatee County
DOCX
NaveenQuodras_Resume
PPTX
Technology platform
PPTX
Ruby on rails evaluation
Proud to be polyglot
Sean Kerr Resume
NoSQL on the move
Low TCO, high Impact: Innovative Government Services at Manatee County
NaveenQuodras_Resume
Technology platform
Ruby on rails evaluation

What's hot (8)

PDF
Demystifying the 3d web - Codemotion 2016
PDF
SQL o NoSQL? Progettare applicazioni 'Big Data-ready' attraverso l'utilizzo d...
PDF
PPTX
Modern architecture
DOC
Aftab Jahangeer_Dot Net
PDF
Simple Open Source Java Cloud App Stack with Guice, Hibernate, Jersey and Vaadin
PDF
[WSO2Con EU 2018] Architecting for a Container Native Environment
PDF
Integration Microservices
Demystifying the 3d web - Codemotion 2016
SQL o NoSQL? Progettare applicazioni 'Big Data-ready' attraverso l'utilizzo d...
Modern architecture
Aftab Jahangeer_Dot Net
Simple Open Source Java Cloud App Stack with Guice, Hibernate, Jersey and Vaadin
[WSO2Con EU 2018] Architecting for a Container Native Environment
Integration Microservices
Ad

Similar to Bazillion New Technologies (20)

PPTX
Latest trends in information technology
PDF
Mean Stack - An Overview
PDF
Meetup. Technologies Intro for Non-Tech People
PPTX
AMIS OOW Review 2012 - Deel 7 - Lucas Jellema
PPT
BIL Corporate
PDF
Programming for non tech entrepreneurs
PDF
Google DevFest 2012 Presentation
PDF
Developing TouchActive with GAE and GWT - Google DevFest Barcelona 2012
PDF
Google Dev Fest Presentation
PDF
Sudhir srivastava profile
PDF
Yazan Malkawi CV
DOC
Amit Kumar Architect with Web and Angular JS
PPTX
Micro frontend architecture_presentation_ssoni
DOC
Gubendran Lakshmanan
DOCX
Balamurugan.KM_Arch
DOCX
CV_Rahul Sharma_DotNetMVC_Angularjs_Developer
PDF
Google Developer Groups DEVELOPMENT WORKSHOP 2024.pdf
DOC
Ranjeet updated profile
PDF
Serverless computing with Google Cloud
PDF
Resume
Latest trends in information technology
Mean Stack - An Overview
Meetup. Technologies Intro for Non-Tech People
AMIS OOW Review 2012 - Deel 7 - Lucas Jellema
BIL Corporate
Programming for non tech entrepreneurs
Google DevFest 2012 Presentation
Developing TouchActive with GAE and GWT - Google DevFest Barcelona 2012
Google Dev Fest Presentation
Sudhir srivastava profile
Yazan Malkawi CV
Amit Kumar Architect with Web and Angular JS
Micro frontend architecture_presentation_ssoni
Gubendran Lakshmanan
Balamurugan.KM_Arch
CV_Rahul Sharma_DotNetMVC_Angularjs_Developer
Google Developer Groups DEVELOPMENT WORKSHOP 2024.pdf
Ranjeet updated profile
Serverless computing with Google Cloud
Resume
Ad

More from Ayman Mahfouz (9)

PDF
Integrating Gmail with issue tracking 2018
PPTX
Modern Programming Languages - An overview
PPTX
Gdg dev fest 2107 to kotlin, with love
PPTX
Career Day - Software Engineer
PDF
Gdg dev fest hybrid apps your own mini-cordova
PDF
Hybrid apps - Your own mini Cordova
PDF
Hybrid apps: Java conversing with JavaScript
PDF
Self-service Enterprise Mobility
PPTX
Working Abroad: Bridging the Culture Gap
Integrating Gmail with issue tracking 2018
Modern Programming Languages - An overview
Gdg dev fest 2107 to kotlin, with love
Career Day - Software Engineer
Gdg dev fest hybrid apps your own mini-cordova
Hybrid apps - Your own mini Cordova
Hybrid apps: Java conversing with JavaScript
Self-service Enterprise Mobility
Working Abroad: Bridging the Culture Gap

Recently uploaded (20)

PPTX
Cloud computing and distributed systems.
PDF
Empathic Computing: Creating Shared Understanding
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
cuic standard and advanced reporting.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Cloud computing and distributed systems.
Empathic Computing: Creating Shared Understanding
“AI and Expert System Decision Support & Business Intelligence Systems”
Mobile App Security Testing_ A Comprehensive Guide.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Unlocking AI with Model Context Protocol (MCP)
The Rise and Fall of 3GPP – Time for a Sabbatical?
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
cuic standard and advanced reporting.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
The AUB Centre for AI in Media Proposal.docx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...

Bazillion New Technologies

  • 1. Bazillion New Technologies! What Should I Study Next? Ayman Mahfouz December 2015
  • 2. Presenter ● Vice President, Engineering at Webalo ● Graduate of CS Department 1997 ● 15 years developing enterprise software in the US ● PhD in Software Engineering: – “Requirements-Driven Adaptation of Choreographed Interactions”
  • 3. Why This Topic Became a manager Was a developer Request from students of the department.
  • 4. Agenda ● Programming Languages ● Mobile Development ● Web Development ● Internet of Things ● Big Data ● Cloud Computing ● DevOps
  • 5. Agenda ● Programming Languages ● Mobile Development ● Web Development ● Internet of Things ● Big Data ● Cloud Computing ● DevOps
  • 6. Languages – Multilingual Developers Source: Developer Insights Report by Application Developers Alliance (research by IDC Research)
  • 7. Languages – Popularity By activity on GitHub
  • 8. Languages – Popularity By developer knowledge (IDC survey)
  • 9. Languages – Noteworthy ● Go (Google) – Efficient compilation, GC, Formal Concurrency ● Rust (Mozilla) – Safety, Efficient Runtime, No GC, Multi-core ● Erlang – Event-driven, real-time ● Scala – Functional, run on the JVM ● R – Statistical Analysis
  • 10. Languages – JavaScript ● Full-stack – Client-side – Server-side (Node.js) ● Sister Languages – CoffeScript – Cleaner Syntax – TypeScript – Superset with types – Dart – Compiles to JS
  • 11. Languages – JavaScript – Node.js ● Features – Cross-platform runtime – Google v8 JS engine – Event-driven – Non-blocking I/O ● Endless packages *.js – Portability: Browserify – Web: Express.js – Build: Gulp & Grunt – Promises and Async: many! ● Npm (package manager)
  • 12. Agenda ● Programming Languages ● Mobile Development ● Web Development ● Internet of Things ● Big Data ● Cloud Computing ● DevOps
  • 13. Mobile Dev – Mobile First
  • 14. Mobile Dev – Enterprise Mobility MDM (Device) – Provision, Configure, Track MAM (App) – Control, Config, Monitor MAS (Security) – SSO, VPN, Data Protection MCM (Collaboration) – Sharing, Synchronization EMM EM MAD
  • 15. Mobile Dev – Devices in Enterprise
  • 16. Mobile Dev – Cross Platform ● Convert common + write native UI – J2ObjC ● PhoneGap / Cordova – HTML 5 – Plugins for platform services – Ionic for native look ● Scripting with native binding (Lua) ● VM – Oracle ADF – Webalo ● Separate code for each platform
  • 17. Mobile Dev – Webalo Approach ● Shared code yet native look and feel. Webalo Platform – Cross Platform Client Architecture
  • 18. Agenda ● Programming Languages ● Mobile Development ● Web Development ● Internet of Things ● Big Data ● Cloud Computing ● DevOps
  • 19. Agenda ● Programming Languages ● Mobile Development ● Web Development ● Internet of Things ● Big Data ● Cloud Computing ● DevOps
  • 20. Web Dev – Specs ● HTML5 – Video/audio, components, storage, new elements, ... ● CSS3 – Transition, animation, gradients, calc, media queries ● ECMA Script 6 – Classes, types, promises, functional constructs ● Web Components – Custom elements, shadow DOM, templates, imports ● HTTP 2.0 (to replace SPDY)
  • 21. Web Dev – Responsive Design ● Handling various screen sizes Twitter Bootstrap grids Modernizr
  • 23. Web Dev – Approaches ● History – Request-Response (Plain HTTP) – Behavior (JavaScript) – Flash / Applets / SilverLight – Async request-response (AJAX) – DOM manipulation (JQuery) – Templating (Knockout.js, Moustache.js) – WebSockets – Single Page Apps (SPA)
  • 24. Web Dev – Single Page App (SPA) ● Features – Single initial load of all resources (No reload or navigation to another page) – Dynamic content fetching (template-based rendering) – Declarative binding – Web Components (custom elements) – Structured (e.g. MVC) ● SPA Frameworks – Angular.js (All) – Backbone.js – Ember.js (Minimal) – Polymer (Components) – React.js (UI)
  • 25. Web Dev – MEAN Stack ● JavaScript on server and client ● JSON all the way ● Extensive Node.js plugins – SASS for CSS: variables, inheritance, readability – E2E testing (Karma.js, Mocha.js, Jasmine.js)
  • 27. Agenda ● Programming Languages ● Mobile Development ● Web Development ● Internet of Things ● Big Data ● Cloud Computing ● DevOps
  • 28. IoT – Overview ● Basics – Integrate physical and digital – Sensors and actuators embedded in physical objects – Network-connected (often via IP) ● History – 1990: Web of information – 2000: Web of services – 2010: Web of everything ● Applications – Safety, streamlined commerce, entertainment, education, resource conservation, operational efficiency and personal well-being and many more.
  • 30. IoT – Applications – Consumer ● Home automation – Nest thermostat – Amazon dash button ● Personal health – Connected medication bottle – Heart monitor implant – Wearables ● Wrist bands ● Electronic Socks ● Mobility – e-Bike
  • 31. IoT – Applications – Business ● Industrial (Machine KPI) ● Healthcare (Patient tracking) ● Aviation (Jet engine maintenance) ● Energy (Windmill efficiency, light control) ● Transportation (Smart trains)
  • 34. Agenda ● Programming Languages ● Mobile Development ● Web Development ● Internet of Things ● Big Data ● Cloud Computing ● DevOps
  • 35. Big Data – Overview Analyze Very large datasets Patterns Trends Associations Infer Predict
  • 36. Big Data – Hadoop
  • 37. Big Data – Hadoop / Yarn
  • 38. Big Data – Streaming
  • 39. Big Data – Streaming
  • 40. Big Data – Spark ● General cluster computing framework ● Multi-stage in-memory processing ● Much faster than Hadoop for some cases ● Batch + Streaming (Lambda Architecture)
  • 41. Big Data – Machine Learning ● Insights into data using various techniques – Summary statistics – Correlation – Clustering – Regression – Recommendation
  • 42. Big Data – CAP Theorem Pick two!
  • 43. Big Data – NoSQL CAP
  • 44. Big Data – NoSQL Types
  • 45. Agenda ● Programming Languages ● Mobile Development ● Web Development ● Internet of Things ● Big Data ● Cloud Computing ● DevOps
  • 46. Cloud – Deployment Models Virtualization Multi-tenant QoS Scalable On-demand
  • 50. Cloud – Amazon Web Services
  • 51. Agenda ● Programming Languages ● Mobile Development ● Web Development ● Internet of Things ● Big Data ● Cloud Computing ● DevOps
  • 52. DevOps – Intersection of Dev and IT
  • 53. DevOps – Overview ● Name: Development + Operations ● What it is: Collaboration between developers and IT operators. ● Goal: Establish an environment where builds can happen more frequently, rapidly, and reliably. ● Means: – Automation (Deployment + Test) – Agile (Communication + Integration + Culture) – Modularity (VM + Containers)
  • 54. DevOps – Tools at a Glance ● Setup (Vagrant) ● Config Management (Chef, Puppet) ● Continuous Integration (Jenkins) ● Insights (NewRelic, Loggly, Splunk) ● Containers (Docker)
  • 55. Where to go from here Manager / Architect Consultant Domain Expert Good Developer