SlideShare a Scribd company logo
1 of 56
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

What's hot

Aftab Jahangeer_Dot Net
Aftab Jahangeer_Dot NetAftab Jahangeer_Dot Net
Aftab Jahangeer_Dot Net
Aftab Jahangir
 

What's hot (9)

Demystifying the 3d web - Codemotion 2016
Demystifying the 3d web - Codemotion 2016Demystifying the 3d web - Codemotion 2016
Demystifying the 3d web - Codemotion 2016
 
Sarat s resume
Sarat s resumeSarat s resume
Sarat s resume
 
SQL o NoSQL? Progettare applicazioni 'Big Data-ready' attraverso l'utilizzo d...
SQL o NoSQL? Progettare applicazioni 'Big Data-ready' attraverso l'utilizzo d...SQL o NoSQL? Progettare applicazioni 'Big Data-ready' attraverso l'utilizzo d...
SQL o NoSQL? Progettare applicazioni 'Big Data-ready' attraverso l'utilizzo d...
 
Resume
ResumeResume
Resume
 
Modern architecture
Modern architectureModern architecture
Modern architecture
 
Aftab Jahangeer_Dot Net
Aftab Jahangeer_Dot NetAftab Jahangeer_Dot Net
Aftab Jahangeer_Dot Net
 
Simple Open Source Java Cloud App Stack with Guice, Hibernate, Jersey and Vaadin
Simple Open Source Java Cloud App Stack with Guice, Hibernate, Jersey and VaadinSimple Open Source Java Cloud App Stack with Guice, Hibernate, Jersey and Vaadin
Simple Open Source Java Cloud App Stack with Guice, Hibernate, Jersey and Vaadin
 
[WSO2Con EU 2018] Architecting for a Container Native Environment
[WSO2Con EU 2018] Architecting for a Container Native Environment[WSO2Con EU 2018] Architecting for a Container Native Environment
[WSO2Con EU 2018] Architecting for a Container Native Environment
 
Integration Microservices
Integration MicroservicesIntegration Microservices
Integration Microservices
 

Similar to Bazillion New Technologies

Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneurs
Rodrigo Gil
 
Amit Kumar Architect with Web and Angular JS
Amit Kumar Architect with Web and Angular JSAmit Kumar Architect with Web and Angular JS
Amit Kumar Architect with Web and Angular JS
Amit Kumar
 
CV_Rahul Sharma_DotNetMVC_Angularjs_Developer
CV_Rahul Sharma_DotNetMVC_Angularjs_DeveloperCV_Rahul Sharma_DotNetMVC_Angularjs_Developer
CV_Rahul Sharma_DotNetMVC_Angularjs_Developer
Rahul Sharma
 

Similar to Bazillion New Technologies (20)

Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technology
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An Overview
 
Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech People
 
AMIS OOW Review 2012 - Deel 7 - Lucas Jellema
AMIS OOW Review 2012 - Deel 7 - Lucas JellemaAMIS OOW Review 2012 - Deel 7 - Lucas Jellema
AMIS OOW Review 2012 - Deel 7 - Lucas Jellema
 
BIL Corporate
BIL CorporateBIL Corporate
BIL Corporate
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneurs
 
Google Dev Fest Presentation
Google Dev Fest PresentationGoogle Dev Fest Presentation
Google Dev Fest Presentation
 
Google DevFest 2012 Presentation
Google DevFest 2012 PresentationGoogle DevFest 2012 Presentation
Google DevFest 2012 Presentation
 
Developing TouchActive with GAE and GWT - Google DevFest Barcelona 2012
Developing TouchActive with GAE and GWT - Google DevFest Barcelona 2012Developing TouchActive with GAE and GWT - Google DevFest Barcelona 2012
Developing TouchActive with GAE and GWT - Google DevFest Barcelona 2012
 
Sudhir srivastava profile
Sudhir srivastava profileSudhir srivastava profile
Sudhir srivastava profile
 
Yazan Malkawi CV
Yazan Malkawi CVYazan Malkawi CV
Yazan Malkawi CV
 
Amit Kumar Architect with Web and Angular JS
Amit Kumar Architect with Web and Angular JSAmit Kumar Architect with Web and Angular JS
Amit Kumar Architect with Web and Angular JS
 
Micro frontend architecture_presentation_ssoni
Micro frontend architecture_presentation_ssoniMicro frontend architecture_presentation_ssoni
Micro frontend architecture_presentation_ssoni
 
Gubendran Lakshmanan
Gubendran LakshmananGubendran Lakshmanan
Gubendran Lakshmanan
 
Balamurugan.KM_Arch
Balamurugan.KM_Arch Balamurugan.KM_Arch
Balamurugan.KM_Arch
 
CV_Rahul Sharma_DotNetMVC_Angularjs_Developer
CV_Rahul Sharma_DotNetMVC_Angularjs_DeveloperCV_Rahul Sharma_DotNetMVC_Angularjs_Developer
CV_Rahul Sharma_DotNetMVC_Angularjs_Developer
 
Ranjeet updated profile
Ranjeet updated profileRanjeet updated profile
Ranjeet updated profile
 
Serverless computing with Google Cloud
Serverless computing with Google CloudServerless computing with Google Cloud
Serverless computing with Google Cloud
 
Resume
ResumeResume
Resume
 
Resume
ResumeResume
Resume
 

More from Ayman Mahfouz

More from Ayman Mahfouz (9)

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

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Decarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational PerformanceDecarbonising Commercial Real Estate: The Role of Operational Performance
Decarbonising Commercial Real Estate: The Role of Operational Performance
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
الأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهلهالأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهله
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 

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