Ninja programador
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,507
On Slideshare
981
From Embeds
1,526
Number of Embeds
2

Actions

Shares
Downloads
23
Comments
0
Likes
1

Embeds 1,526

http://sg.com.mx 1,525
http://www.google.es 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Afilando la Katana: Qué debe saber un Ninja Programador (en 2013) Pedro Galván Kondo @pedrogk #sgvirtual
  • 2. Un ninja sabe ... ● Lenguajes ● Frameworks ● Moverse en todo el stack ● Aportar en el ciclo de vida de software #sgvirtual
  • 3. Un ninja es políglota pero tiene un lenguaje base ● ¿estático o dinámico? ● multiplataforma ● Recomendaciones: Python, Ruby, Groovy, C# #sgvirtual
  • 4. Un ninja sabe programación funcional ● ● #sgvirtual Clojure Haskell
  • 5. Un ninja usa distintos lenguajes para dominios específicos ● ● Php (Web) ● Javascript ● Lua (juegos) ● R (análisis de datos) ● #sgvirtual Objective-C (iOS) C++ (infraestructura)
  • 6. Un ninja entiende y aprovecha frameworks ● ● ● #sgvirtual Entender patrones arquitectónicos (MVC, MVP, MVVM) Entender Convention <-> Configuration Microframeworks (ej. Sinatra)
  • 7. Un ninja es un full stack developer ● ● Middleware ● Data management ● Integración ● #sgvirtual Front end Infraestructura
  • 8. Un ninja hace vibrar al front end ● ● ● ● #sgvirtual HTML5/CSS Manipulación de DOM (JQuery) OpenGL Otros específicos a plataforma (Cocoa, WPF, etc)
  • 9. Un ninja sabe moverse en el middleware Application servers/containers ● Message oriented ● Package management ● Programación asíncrona (ej. Node.js) ● #sgvirtual
  • 10. Un ninja sabe manejar datos ● ● NoSQL (mongoDB, Redis) ● NewSQL ● #sgvirtual BD relacionales Big data (MapReduce)
  • 11. Un ninja sabe integrar sistemas ● Entiende protocolos de comunicación (HTTP) ● ● #sgvirtual Usa y diseña APIs (REST) Aplica Patrones de Integración.
  • 12. Un ninja sabe de infraestructura ● ● ● #sgvirtual Linux y bash PaaS (App Engine, Azure, AWS, Heroku) Gestión de cómputo elástico
  • 13. 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, integración continua) #sgvirtual
  • 14. Un ninja detecta tendencias ● ● #sgvirtual Interfaces humanas (reconocimiento de voz y gestos, natural language processing) Datos (big data, machine learning, visualización)
  • 15. Si te falta mucho ... No te preocupes, mejor ocúpate #sgvirtual
  • 16. Gracias Lee SG http://sg.com.mx Regístrate en http://sgtalento.com #sgvirtual