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

Más contenido relacionado

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

Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013Carlos Camacho
 
Lo que tienes que saber de Dart para Backend, frontend y Mobile..pptx
Lo que tienes que saber de Dart para Backend, frontend y Mobile..pptxLo que tienes que saber de Dart para Backend, frontend y Mobile..pptx
Lo que tienes que saber de Dart para Backend, frontend y Mobile..pptxSergio Antonio Ochoa Martinez
 
1___LENGUAJES DE PROGRAMACION_2023.pdf
1___LENGUAJES DE PROGRAMACION_2023.pdf1___LENGUAJES DE PROGRAMACION_2023.pdf
1___LENGUAJES DE PROGRAMACION_2023.pdfMariaTeresaGarznPrez
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIgalia
 
Los reinos de finizens - Nuestro stark tecnológico
Los reinos de finizens - Nuestro stark tecnológicoLos reinos de finizens - Nuestro stark tecnológico
Los reinos de finizens - Nuestro stark tecnológicoFinizens
 
Sesión 1: Python
Sesión 1: PythonSesión 1: Python
Sesión 1: Pythonmaluacsa
 
Programación de videojuegos con Godot Engine
Programación de videojuegos con Godot EngineProgramación de videojuegos con Godot Engine
Programación de videojuegos con Godot Enginepythoncanarias
 
Android apps: un dia sin dex2jar y sin apktool
Android apps: un dia sin dex2jar y sin apktoolAndroid apps: un dia sin dex2jar y sin apktool
Android apps: un dia sin dex2jar y sin apktoolSalvador Mendoza
 
Del free style al mvp
Del free style al mvpDel free style al mvp
Del free style al mvpJuanjo Marti
 
JavaScript_cómo funciona este lenguaje de programación
JavaScript_cómo funciona este lenguaje de programaciónJavaScript_cómo funciona este lenguaje de programación
JavaScript_cómo funciona este lenguaje de programaciónCLEFormación
 
An Evening with... Go Lang
An Evening with... Go LangAn Evening with... Go Lang
An Evening with... Go LangArkhotech
 
Personalinformatico jaenes
Personalinformatico jaenesPersonalinformatico jaenes
Personalinformatico jaenesDavidJaenes
 
Angular 2 for dart mentiras y verdades (Google I/O extended Madrid)
Angular 2 for dart  mentiras y verdades (Google I/O extended Madrid)Angular 2 for dart  mentiras y verdades (Google I/O extended Madrid)
Angular 2 for dart mentiras y verdades (Google I/O extended Madrid)Rafael Bermúdez Míguez
 
Swift migration. the true history
Swift migration. the true historySwift migration. the true history
Swift migration. the true historyidealistacreamcode
 
Mini clase Intro Programación Python UTN Profesorado 2015
Mini clase Intro Programación Python UTN Profesorado 2015Mini clase Intro Programación Python UTN Profesorado 2015
Mini clase Intro Programación Python UTN Profesorado 2015Mariano Reingart
 
Transparencias taller Python
Transparencias taller PythonTransparencias taller Python
Transparencias taller PythonSergio Soto
 

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

Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013Vaadin y Grails Barcamp 2013
Vaadin y Grails Barcamp 2013
 
Lo que tienes que saber de Dart para Backend, frontend y Mobile..pptx
Lo que tienes que saber de Dart para Backend, frontend y Mobile..pptxLo que tienes que saber de Dart para Backend, frontend y Mobile..pptx
Lo que tienes que saber de Dart para Backend, frontend y Mobile..pptx
 
1___LENGUAJES DE PROGRAMACION_2023.pdf
1___LENGUAJES DE PROGRAMACION_2023.pdf1___LENGUAJES DE PROGRAMACION_2023.pdf
1___LENGUAJES DE PROGRAMACION_2023.pdf
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
 
Los reinos de finizens - Nuestro stark tecnológico
Los reinos de finizens - Nuestro stark tecnológicoLos reinos de finizens - Nuestro stark tecnológico
Los reinos de finizens - Nuestro stark tecnológico
 
Programador Jr. para Python Primera Parte
Programador Jr. para Python Primera ParteProgramador Jr. para Python Primera Parte
Programador Jr. para Python Primera Parte
 
Sesión 1: Python
Sesión 1: PythonSesión 1: Python
Sesión 1: Python
 
Programación de videojuegos con Godot Engine
Programación de videojuegos con Godot EngineProgramación de videojuegos con Godot Engine
Programación de videojuegos con Godot Engine
 
Android apps: un dia sin dex2jar y sin apktool
Android apps: un dia sin dex2jar y sin apktoolAndroid apps: un dia sin dex2jar y sin apktool
Android apps: un dia sin dex2jar y sin apktool
 
SIMUNROBOT
SIMUNROBOTSIMUNROBOT
SIMUNROBOT
 
Del free style al mvp
Del free style al mvpDel free style al mvp
Del free style al mvp
 
JavaScript_cómo funciona este lenguaje de programación
JavaScript_cómo funciona este lenguaje de programaciónJavaScript_cómo funciona este lenguaje de programación
JavaScript_cómo funciona este lenguaje de programación
 
An Evening with... Go Lang
An Evening with... Go LangAn Evening with... Go Lang
An Evening with... Go Lang
 
Introducción a WebGL
Introducción a WebGLIntroducción a WebGL
Introducción a WebGL
 
Firebird
FirebirdFirebird
Firebird
 
Personalinformatico jaenes
Personalinformatico jaenesPersonalinformatico jaenes
Personalinformatico jaenes
 
Angular 2 for dart mentiras y verdades (Google I/O extended Madrid)
Angular 2 for dart  mentiras y verdades (Google I/O extended Madrid)Angular 2 for dart  mentiras y verdades (Google I/O extended Madrid)
Angular 2 for dart mentiras y verdades (Google I/O extended Madrid)
 
Swift migration. the true history
Swift migration. the true historySwift migration. the true history
Swift migration. the true history
 
Mini clase Intro Programación Python UTN Profesorado 2015
Mini clase Intro Programación Python UTN Profesorado 2015Mini clase Intro Programación Python UTN Profesorado 2015
Mini clase Intro Programación Python UTN Profesorado 2015
 
Transparencias taller Python
Transparencias taller PythonTransparencias taller Python
Transparencias taller Python
 

Más de Software Guru

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasSoftware Guru
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesSoftware Guru
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environmentsSoftware Guru
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorSoftware Guru
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealSoftware Guru
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowSoftware Guru
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:Software Guru
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learningSoftware Guru
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDiSoftware Guru
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Software Guru
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSSoftware Guru
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...Software Guru
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?Software Guru
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Software Guru
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsSoftware Guru
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosSoftware Guru
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressSoftware Guru
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsSoftware Guru
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Software Guru
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoSoftware Guru
 

Más de Software Guru (20)

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
 

Último

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 

Último (10)

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 

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