O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
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 softwa...
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
● ...
Agenda
● Programming Languages
● Mobile Development
● Web Development
● Internet of Things
● Big Data
● Cloud Computing
● ...
Languages – Multilingual Developers
Source: Developer Insights Report by Application Developers Alliance (research by IDC ...
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 ...
Languages – JavaScript
● Full-stack
– Client-side
– Server-side (Node.js)
● Sister Languages
– CoffeScript – Cleaner Synta...
Languages – JavaScript – Node.js
● Features
– Cross-platform runtime
– Google v8 JS engine
– Event-driven
– Non-blocking I...
Agenda
● Programming Languages
● Mobile Development
● Web Development
● Internet of Things
● Big Data
● Cloud Computing
● ...
Mobile Dev – Mobile First
Mobile Dev – Enterprise Mobility
MDM (Device)
– Provision, Configure, Track
MAM (App)
– Control, Config, Monitor
MAS (Secu...
Mobile Dev – Devices in Enterprise
Mobile Dev – Cross Platform
● Convert common + write native UI
– J2ObjC
● PhoneGap / Cordova
– HTML 5
– Plugins for platfo...
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
● ...
Agenda
● Programming Languages
● Mobile Development
● Web Development
● Internet of Things
● Big Data
● Cloud Computing
● ...
Web Dev – Specs
● HTML5
– Video/audio, components, storage, new elements, ...
● CSS3
– Transition, animation, gradients, c...
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
– A...
Web Dev – Single Page App (SPA)
● Features
– Single initial load of all resources (No reload or navigation to
another page...
Web Dev – MEAN Stack
● JavaScript on server and client
● JSON all the way
● Extensive Node.js plugins
– SASS for CSS: vari...
Need a Break?
Question / Comments
Agenda
● Programming Languages
● Mobile Development
● Web Development
● Internet of Things
● Big Data
● Cloud Computing
● ...
IoT – Overview
● Basics
– Integrate physical and digital
– Sensors and actuators embedded in physical objects
– Network-co...
IoT – Markets
IoT – Applications – Consumer
● Home automation
– Nest thermostat
– Amazon dash button
● Personal health
– Connected medic...
IoT – Applications – Business
● Industrial (Machine KPI)
● Healthcare (Patient tracking)
● Aviation (Jet engine maintenanc...
IoT – Platforms
IoT – Future
Agenda
● Programming Languages
● Mobile Development
● Web Development
● Internet of Things
● Big Data
● Cloud Computing
● ...
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 so...
Big Data – Machine Learning
● Insights into data using various techniques
– Summary statistics
– Correlation
– Clustering
...
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
● ...
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 – Intersection of Dev and IT
DevOps – Overview
● Name: Development + Operations
● What it is: Collaboration between developers
and IT operators.
● Goal...
DevOps – Tools at a Glance
● Setup (Vagrant)
● Config Management (Chef, Puppet)
● Continuous Integration (Jenkins)
● Insig...
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...
Próximos SlideShares
Carregando em…5
×

Bazillion New Technologies

New languages, platforms, and technologies are emerging very rapidly like never before.
What software technologies are out there? What is hot right now? Which ones should you
learn?

This presentation helps you navigate the maze of new technologies out there. We will go
through a broad overview of hot technologies in mobile, web, cloud, big data, IoT, and
other areas. We will leave with a map of the tech landscape, giving you a starting point to dive deeper into whatever technology interests you!

  • Entre para ver os comentários

Bazillion New Technologies

  1. 1. Bazillion New Technologies! What Should I Study Next? Ayman Mahfouz December 2015
  2. 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. 3. Why This Topic Became a manager Was a developer Request from students of the department.
  4. 4. Agenda ● Programming Languages ● Mobile Development ● Web Development ● Internet of Things ● Big Data ● Cloud Computing ● DevOps
  5. 5. Agenda ● Programming Languages ● Mobile Development ● Web Development ● Internet of Things ● Big Data ● Cloud Computing ● DevOps
  6. 6. Languages – Multilingual Developers Source: Developer Insights Report by Application Developers Alliance (research by IDC Research)
  7. 7. Languages – Popularity By activity on GitHub
  8. 8. Languages – Popularity By developer knowledge (IDC survey)
  9. 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. 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. 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. 12. Agenda ● Programming Languages ● Mobile Development ● Web Development ● Internet of Things ● Big Data ● Cloud Computing ● DevOps
  13. 13. Mobile Dev – Mobile First
  14. 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. 15. Mobile Dev – Devices in Enterprise
  16. 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. 17. Mobile Dev – Webalo Approach ● Shared code yet native look and feel. Webalo Platform – Cross Platform Client Architecture
  18. 18. Agenda ● Programming Languages ● Mobile Development ● Web Development ● Internet of Things ● Big Data ● Cloud Computing ● DevOps
  19. 19. Agenda ● Programming Languages ● Mobile Development ● Web Development ● Internet of Things ● Big Data ● Cloud Computing ● DevOps
  20. 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. 21. Web Dev – Responsive Design ● Handling various screen sizes Twitter Bootstrap grids Modernizr
  22. 22. Quick Quiz ???
  23. 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. 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. 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)
  26. 26. Need a Break? Question / Comments
  27. 27. Agenda ● Programming Languages ● Mobile Development ● Web Development ● Internet of Things ● Big Data ● Cloud Computing ● DevOps
  28. 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.
  29. 29. IoT – Markets
  30. 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. 31. IoT – Applications – Business ● Industrial (Machine KPI) ● Healthcare (Patient tracking) ● Aviation (Jet engine maintenance) ● Energy (Windmill efficiency, light control) ● Transportation (Smart trains)
  32. 32. IoT – Platforms
  33. 33. IoT – Future
  34. 34. Agenda ● Programming Languages ● Mobile Development ● Web Development ● Internet of Things ● Big Data ● Cloud Computing ● DevOps
  35. 35. Big Data – Overview Analyze Very large datasets Patterns Trends Associations Infer Predict
  36. 36. Big Data – Hadoop
  37. 37. Big Data – Hadoop / Yarn
  38. 38. Big Data – Streaming
  39. 39. Big Data – Streaming
  40. 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. 41. Big Data – Machine Learning ● Insights into data using various techniques – Summary statistics – Correlation – Clustering – Regression – Recommendation
  42. 42. Big Data – CAP Theorem Pick two!
  43. 43. Big Data – NoSQL CAP
  44. 44. Big Data – NoSQL Types
  45. 45. Agenda ● Programming Languages ● Mobile Development ● Web Development ● Internet of Things ● Big Data ● Cloud Computing ● DevOps
  46. 46. Cloud – Deployment Models Virtualization Multi-tenant QoS Scalable On-demand
  47. 47. Cloud – Service Models
  48. 48. Cloud – Providers
  49. 49. Cloud – Market Share
  50. 50. Cloud – Amazon Web Services
  51. 51. Agenda ● Programming Languages ● Mobile Development ● Web Development ● Internet of Things ● Big Data ● Cloud Computing ● DevOps
  52. 52. DevOps – Intersection of Dev and IT
  53. 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. 54. DevOps – Tools at a Glance ● Setup (Vagrant) ● Config Management (Chef, Puppet) ● Continuous Integration (Jenkins) ● Insights (NewRelic, Loggly, Splunk) ● Containers (Docker)
  55. 55. Where to go from here Manager / Architect Consultant Domain Expert Good Developer
  56. 56. Discussion amahfouz@gmail.com amahfouz@webalo.com facebook.com/amahfouz linkedin.com/in/amahfouz AymanMahfouz.blogspot.com @aymanstein slideshare.net/AymanMahfouz

×