Afilando la Katana: Qué debe saber un ninja programador (en 2013)

4,195 views
3,825 views

Published on

Presentación impartida por Pedro Galván en Campus Party México 2013

Published in: Technology
1 Comment
9 Likes
Statistics
Notes
No Downloads
Views
Total views
4,195
On SlideShare
0
From Embeds
0
Number of Embeds
646
Actions
Shares
0
Downloads
65
Comments
1
Likes
9
Embeds 0
No embeds

No notes for slide

Afilando la Katana: Qué debe saber un ninja programador (en 2013)

  1. 1. Afilando la Katana: Qué debe saber un Ninja Programador (en 2013) Pedro Galván Kondo @pedrogk Campus Party Mx 2013 #ninjacpmx4
  2. 2. #ninjacpmx4 Un ninja sabe ... ● Lenguajes ● Frameworks ● Moverse en todo el stack ● Aportar en el ciclo de vida de software
  3. 3. #ninjacpmx4 Un ninja tiene un lenguaje base ● ¿estático o dinámico? ● multiplataforma ● Recomendaciones: Python, Ruby, Groovy, C#
  4. 4. #ninjacpmx4 Un ninja también usa lenguajes compilados de tipado estático ● C++
  5. 5. #ninjacpmx4 Un ninja sabe programación funcional ● Clojure ● Haskell
  6. 6. #ninjacpmx4 Un ninja usa distintos lenguajes para dominios específicos ● Objective-C (iOS) ● Php (Web) ● Javascript ● Lua (juegos) ● R (análisis de datos)
  7. 7. #ninjacpmx4 Un ninja entiende y aprovecha frameworks ● Entender patrones arquitectónicos (MVC, MVP, MVVM) ● Entender Convention <-> Configuration ● Microframeworks (ej. Sinatra)
  8. 8. #ninjacpmx4 Un ninja es un full stack developer ● Front end ● Middleware ● Data management ● Integración ● Infraestructura
  9. 9. #ninjacpmx4 Un ninja hace vibrar al front end ● HTML5/CSS ● Manipulación de DOM (JQuery) ● OpenGL ● Otros específicos a plataforma (Cocoa, WPF, etc)
  10. 10. #ninjacpmx4 Un ninja no le teme al middleware ● Programación asíncrona (node.js) ● Message oriented
  11. 11. #ninjacpmx4 Un ninja sabe manejar datos ● BD relacionales ● NoSQL (mongoDB, Redis) ● NewSQL ● Big data (MapReduce)
  12. 12. #ninjacpmx4 Un ninja sabe integrar sistemas ● Entiende protocolos de comunicación (HTTP) ● Usa y diseña APIs (REST)
  13. 13. #ninjacpmx4 Un ninja sabe de infraestructura ● Linux y bash ● PaaS (App Engine, Azure, AWS, Heroku) ● Gestión de cómputo elástico
  14. 14. #ninjacpmx4 Un ninja no se limita a programar funcionalidad ● Diseño lógico (arq., modelado, patrones) ● Testing (unitario y stress) ● Software configuration management (control de versiones distribuido, build automation, continuous integration)
  15. 15. #ninjacpmx4 Un ninja detecta tendencias ● Interfaces humanas (reconocimiento de voz y gestos, natural language processing) ● Datos (big data, machine learning, visualización)
  16. 16. #ninjacpmx4 Si te falta mucho ... ● No te preocupes ... mejor ocúpate
  17. 17. #ninjacpmx4 Gracias ● Lee SG http://sg.com.mx ● Participa en http://applatina. com.mx

×