Presentacion Programador Apasionado

Post on 20-Aug-2015

2,187 views 0 download

Tags:

transcript

Programador Apasionado

Tips para lograr una exitosa carrera en Ingenieria de Software

Edwin Cruzedwin@crowdint.com

Twitter: @softr8

Yo soy….

• Engineering Manager• Padre, Geek• Home made ceviche and chicken wings

specialist• Platform & Senior Software Engineer (DevOps)• Open source lover

Crowd Interactive….

RailsConfGolden Gate Ruby ConferenceSXSWLA Ruby ConfMagmaRailsRuby ConferenceCampus Party

blog.crowdint.comrails.mx

Rubyc

Programadores Felices = Programadores Productivos

Pasión vs Obsesión

• Gente con una armonia en su pasión tiene la habilidad de desconectarse de su trabajo cuando es hora, transisionando facilmente a sus vidas fuera de la oficina, gente obsesiva no tiene esa habilidad.

Revisen su historial profesional, ¿ha sido remarcable?, ¿los recuerdan como el bueno?

Programador por coincidencia

• ¿Como consiguieron su primer trabajo?• ¿Fue lo que ellos querian?• ¿Fueron exitosos?• ¿Entendendieron el negocio?

El objetivo de cada negocio es hacer dinero, no es por amor (compas).

Nunca podrás ayudar al negocio hasta que entiendas como funciona

Bien, entonces…¿Como puedo entender el negocio?

Asi que…¿Cúal es el problema más común?

Simple programador vs programador orientado al negocio

Si todo gira al rededor de un plan de carrera, ¿Cómo puedo planer mi propio plan?

Eligiendo el mercado: Riesgo vs Recompensa

Planeando tu carrera, ejemplo

• Analiza tecnologias– Lo nuevo de lo nuevo– Estables o conservadoras– Aquellas en su atardecer

Investiga el mercado actual

Inverte en aprender!

“No pidas que te enseñen, ve y aprende por ti mismo!”

Encuentra a un Mentor

• Preguntar no es signo de debilidad• Sigan los Alpha Geeks

Se un Mentor

• Aprende enseñando• “Todos aquellos que evitan ser novatos son los

únicos que nunca haran nada nuevo”

Aprovechen el movimiento de redes sociales!

“Get out of your room”No teman conocer a los expertos

La parte mas importante:Siempre practiquen

¿Porque tengo que invertir tanto en practicar?

• Podrias ser parte de:– Muchos programadores que hacen el trabajo– Programadores rapidos que hacen el trabajo– Programadores listos que automatizan su trabajo

¿Quiren practicar por retos ?

• www.topcoder.com• www.projecteuler.net• www.puzzlenode.com• www.rubykoans.com• www.codecademy.com

¿Quieres practicar por mercado?

• Resuelve ejercicios de reclutamiento

¿Te gustaría practicar con problemas reales a nivel mundial?

• Ve y arregla bugs en proyectos open source• Fork• Aprende• Arregla• Envia Pull request• Have a beer

Nunca dejen oxidar sus habilidades, ejemplo: Expresiones Regulares

Mientras practiquen, respeten metodologías!

Si no pueden seguir un proceso, no podran construir un producto

Especializarse no significa no concer otras cosas

Nunca reinventar la rueda, aprendan a reutilizar soluciones implementadas

Patrones de Diseño!

Siempre sean el peor del equipo, pero no lo literalmente

Siempre Adelante:Leyendo la mente de otros

¿Es realmente posible?

Registren sus logros, ¿Mi jefe saben lo que hice/contribui?

¿Cuanto valor le dan a su tiempo?

Veamos…Traten de recordar cuando fue que se les ocurrio las mas

ingeniosa, creativa e improvisada solución

Sean honestos, fallando bien: encontrar errores rapido y contiuamente es una buena señal de la buena calidad que tendrá

el sofware que desarrollan.

No son tan especiales como piensan“Les mostrare que sin mi no pueden terminar el proyecto”

El camino seguro al fracaso es:Decir “SI” a todo

Todos necesitamos dormir

Practiquen sus habilidades de comunicación.¿Tus clientes tienen miedo hablar con ustedes?

Y este….“GraMatic4 y la 0rtogrAfiA”

Diganle al mundo que existen!

• ¿Que seria mejor que uncurriculum cuando se aplica a un nuevo trabajo?

Google nunca olvida ¬¬’

¿Te gustaría ser el mejor programador?Controla el panico

Gente aburrida renuncia

No se enfoquen en terminar el proyecto, enfoquense en hacer bien su proyecto

"don't finish your ideas, release them" - John Lasseter

El poder de procesamiento en las computadoras se dobla cada 18 meses

¿Que es lo que viene?

Top ten developer qualities

1.- Loves To Code

Top then developer qualities

2.- Gets Things Done

Top then developer qualities

3.- Continuously Refactors Code

Top then developer qualities

4.- Uses Design Patterns

Top then developer qualities

5.- Writes Tests

Top then developer qualities

6.- Leverages Existing Code

Top then developer qualities

7.- Focuses on Usability

Top then developer qualities

8.- Writes Maintainable Code

Top then developer qualities

9.- Can Code in Any Language

Top then developer qualities

10.- Knows Basic Computer Science

Have funSoftware development es realmente divertido!!

Gracias!

Edwin Cruz edwin@crowdint.comsoftr8@twitter

gmailGithub

en todas partes!

• Libros que deberian leer– Passionate Programmer– Clean Coder– The Art of Agile Development– Design Patterns– Anti Patterns– Any Management book