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

  • 2,362 views
Uploaded on

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

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
2,362
On Slideshare
0
From Embeds
0
Number of Embeds
4

Actions

Shares
Downloads
52
Comments
1
Likes
7

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 Campus Party Mx 2013 #ninjacpmx4
  • 2. #ninjacpmx4 Un ninja sabe ... ● Lenguajes ● Frameworks ● Moverse en todo el stack ● Aportar en el ciclo de vida de software
  • 3. #ninjacpmx4 Un ninja tiene un lenguaje base ● ¿estático o dinámico? ● multiplataforma ● Recomendaciones: Python, Ruby, Groovy, C#
  • 4. #ninjacpmx4 Un ninja también usa lenguajes compilados de tipado estático ● C++
  • 5. #ninjacpmx4 Un ninja sabe programación funcional ● Clojure ● Haskell
  • 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. #ninjacpmx4 Un ninja entiende y aprovecha frameworks ● Entender patrones arquitectónicos (MVC, MVP, MVVM) ● Entender Convention <-> Configuration ● Microframeworks (ej. Sinatra)
  • 8. #ninjacpmx4 Un ninja es un full stack developer ● Front end ● Middleware ● Data management ● Integración ● Infraestructura
  • 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. #ninjacpmx4 Un ninja no le teme al middleware ● Programación asíncrona (node.js) ● Message oriented
  • 11. #ninjacpmx4 Un ninja sabe manejar datos ● BD relacionales ● NoSQL (mongoDB, Redis) ● NewSQL ● Big data (MapReduce)
  • 12. #ninjacpmx4 Un ninja sabe integrar sistemas ● Entiende protocolos de comunicación (HTTP) ● Usa y diseña APIs (REST)
  • 13. #ninjacpmx4 Un ninja sabe de infraestructura ● Linux y bash ● PaaS (App Engine, Azure, AWS, Heroku) ● Gestión de cómputo elástico
  • 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. #ninjacpmx4 Un ninja detecta tendencias ● Interfaces humanas (reconocimiento de voz y gestos, natural language processing) ● Datos (big data, machine learning, visualización)
  • 16. #ninjacpmx4 Si te falta mucho ... ● No te preocupes ... mejor ocúpate
  • 17. #ninjacpmx4 Gracias ● Lee SG http://sg.com.mx ● Participa en http://applatina. com.mx