• Like
Ninja programador
Upcoming SlideShare
Loading in...5
×

Ninja programador

  • 2,197 views
Uploaded on

 

More in: Technology
  • 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,197
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
23
Comments
0
Likes
1

Embeds 0

No embeds

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