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

Demystifying the 3d web - Codemotion 2016
Demystifying the 3d web - Codemotion 2016Demystifying the 3d web - Codemotion 2016
Demystifying the 3d web - Codemotion 2016Pietro Grandi
 
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...Codemotion
 
Aftab Jahangeer_Dot Net
Aftab Jahangeer_Dot NetAftab Jahangeer_Dot Net
Aftab Jahangeer_Dot NetAftab Jahangir
 
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 VaadinJian Wu
 
[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 EnvironmentWSO2
 
Integration Microservices
Integration MicroservicesIntegration Microservices
Integration MicroservicesKasun Indrasiri
 

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

Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technologyEldos Kuriakose
 
Mean Stack - An Overview
Mean Stack - An OverviewMean Stack - An Overview
Mean Stack - An OverviewNaveen Pete
 
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 PeopleIT Arena
 
BIL Corporate
BIL CorporateBIL Corporate
BIL Corporatebschandru
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneursRodrigo Gil
 
Google Dev Fest Presentation
Google Dev Fest PresentationGoogle Dev Fest Presentation
Google Dev Fest PresentationAndrew Mackenzie
 
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 2012Andrew Mackenzie
 
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 JSAmit Kumar
 
Micro frontend architecture_presentation_ssoni
Micro frontend architecture_presentation_ssoniMicro frontend architecture_presentation_ssoni
Micro frontend architecture_presentation_ssoniSandeep Soni
 
CV_Rahul Sharma_DotNetMVC_Angularjs_Developer
CV_Rahul Sharma_DotNetMVC_Angularjs_DeveloperCV_Rahul Sharma_DotNetMVC_Angularjs_Developer
CV_Rahul Sharma_DotNetMVC_Angularjs_DeveloperRahul Sharma
 
Ranjeet updated profile
Ranjeet updated profileRanjeet updated profile
Ranjeet updated profileRanjeet Prasad
 
Serverless computing with Google Cloud
Serverless computing with Google CloudServerless computing with Google Cloud
Serverless computing with Google Cloudwesley chun
 

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

Integrating Gmail with issue tracking 2018
Integrating Gmail with issue tracking 2018Integrating Gmail with issue tracking 2018
Integrating Gmail with issue tracking 2018Ayman Mahfouz
 
Modern Programming Languages - An overview
Modern Programming Languages - An overviewModern Programming Languages - An overview
Modern Programming Languages - An overviewAyman Mahfouz
 
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 loveAyman Mahfouz
 
Career Day - Software Engineer
Career Day - Software EngineerCareer Day - Software Engineer
Career Day - Software EngineerAyman Mahfouz
 
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-cordovaAyman Mahfouz
 
Hybrid apps - Your own mini Cordova
Hybrid apps - Your own mini CordovaHybrid apps - Your own mini Cordova
Hybrid apps - Your own mini CordovaAyman Mahfouz
 
Hybrid apps: Java conversing with JavaScript
Hybrid apps: Java  conversing with  JavaScriptHybrid apps: Java  conversing with  JavaScript
Hybrid apps: Java conversing with JavaScriptAyman Mahfouz
 
Self-service Enterprise Mobility
Self-service Enterprise MobilitySelf-service Enterprise Mobility
Self-service Enterprise MobilityAyman Mahfouz
 
Working Abroad: Bridging the Culture Gap
Working Abroad: Bridging the Culture GapWorking Abroad: Bridging the Culture Gap
Working Abroad: Bridging the Culture GapAyman 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

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 

Recently uploaded (20)

Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 

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