Date post: | 20-Aug-2015 |
Category: |
Documents |
Upload: | edwin-cruz |
View: | 2,187 times |
Download: | 0 times |
Programador Apasionado
Tips para lograr una exitosa carrera en Ingenieria de Software
Edwin [email protected]
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 [email protected]@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