Presentacion programador apasionado

Post on 18-Jul-2015

355 views 2 download

Tags:

transcript

ProgramadorApasionado

Tips paralograrunaexitosacarrera en Ingenieria de Software

Edwin Cruz

edwin@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

ProgramadoresFelices = ProgramadoresProductivos

PasiónvsObsesión

• Gente con unaarmonia en supasióntiene la habilidad de desconectarse de sutrabajocuandoeshora, transisionandofacilmente a susvidasfuerade la oficina, genteobsesiva no tieneesahabilidad.

Revisensuhistorialprofesional, ¿ha sidoremarcable?, ¿los recuerdancomo

el bueno?

Programadorporcoincidencia

• ¿Como consiguieronsu primer trabajo?

• ¿Fue lo queellosquerian?

• ¿Fueronexitosos?

• ¿Entendendieron el negocio?

El objetivo de cadanegocioeshacerdinero, no

esporamor (compas).

Nuncapodrásayudar al negociohastaqueentiendascomofuncio

na

Bien, entonces…¿Como puedoentender el negocio?

Asique…¿Cúales el problemamáscomún?

Simple programadorvsprogramadororientado

al negocio

Si todogira al rededor de un plan de carrera, ¿Cómopuedo planer mi propio

plan?

Eligiendo el mercado:RiesgovsRecompensa

Planeandotucarrera, ejemplo

• Analizatecnologias

– Lo nuevo de lo nuevo

– Establesoconservadoras

– Aquellas en suatardecer

Investiga el mercado actual

Inverte en aprender!

“No pidasqueteenseñen, veyaprendeporti

mismo!”

Encuentra a un Mentor

• Preguntar no essigno de debilidad

• Sigan los Alpha Geeks

Se un Mentor

• Aprendeenseñando

• “Todosaquellosqueevitan ser novatos son los únicosquenuncaharan nada nuevo”

Aprovechen el movimiento de redessociales!

“Get out of your room”No temanconocer a los expertos

La parte masimportante:Siemprepractiquen

¿Porquetengoqueinvertirtanto en practicar?

• Podrias ser parte de:

– Muchosprogramadoresquehacen el trabajo

– Programadoresrapidosquehacen el trabajo

– Programadoreslistosqueautomatizansutrabajo

¿Quirenpracticarporretos?

• www.topcoder.com

• www.projecteuler.net

• www.puzzlenode.com

• www.rubykoans.com

• www.codecademy.com

¿Quierespracticarpormercado?

• Resuelveejercicios de reclutamiento

¿Te gustaríapracticar con problemasreales a nivelmundial?

• Veyarregla bugs en proyectos open source• Fork

• Aprende

• Arregla

• Envia Pull request

• Have a beer

Nuncadejenoxidarsushabilidades, ejemplo: ExpresionesRegulares

Mientraspractiquen, respetenmetodologías!

Si no puedenseguir un proceso, no podranconstruir un producto

Especializarse no significa no concerotrascosas

Nuncareinventar la rueda, aprendan a reutilizarsolucionesimplementadas

Patrones de Diseño!

Siempresean el peor del equipo, perono lo literalmente

SiempreAdelante:Leyendola mente de otros

¿Es realmenteposible?

Registrensuslogros, ¿Mi jefesaben lo quehice/contribui?

¿Cuanto valor le dan a sutiempo?

Veamos…Traten de recordarcuandofueque se les ocurriolasmasingeniosa, creativaeimpr

ovisadasolución

Sean honestos, fallandobien: encontrarerroresrapidoycontiuamente

esunabuenaseñal de la buenacalidadquetendráel sofwarequedesarrollan.

No son tan especialescomopiensan“Les mostrareque sin mi no

puedenterminar el proyecto”

El caminoseguro al fracasoes:Decir “SI” a todo

Todosnecesitamosdormir

Practiquensushabilidades de comunicación.

¿Tusclientestienenmiedohablar con ustedes?

Y este….“GraMatic4 y la 0rtogrAfiA”

Diganle al mundoqueexisten!

• ¿Queseriamejorqueuncurriculumcuando se aplica a un nuevotrabajo?

Googlenuncaolvida¬¬’

¿Te gustaría ser el mejorprogramador?Controla el panico

Genteaburridarenuncia

No se enfoquen en terminar el proyecto, enfoquense en

hacerbiensuproyecto

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

El poder de procesamiento en lascomputadoras se doblacada 18

meses

¿Quees lo queviene?

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

developmentesrealmentedivertido!!

Gracias!

Edwin Cruz edwin@crowdint.comsoftr8@twitter

gmailGithub

en todaspartes!

• Librosquedeberian leer– Passionate Programmer

– Clean Coder

– The Art of Agile Development

– Design Patterns

– Anti Patterns

– Any Management book