15

Cómo crecer siendo Ingeniero o programador

66Puntos

hace 6 años

Cómo crecer como ingeniero

Me costó mucho trabajo hace esta plática porque siento que es muy fácil que estas pláticas se sientan como libros de autoayuda y algo que odiaba de chiquito era que me dieran el libro “¿Quién se llevó mi queso?” o “Padre rico, padre pobre” o “Sangre de campeón”. Y el que de verdad odio es este de “El ser excelente” porque el señor se llama Miguel Ángel Cornejo, yo me llamo Jeduán Cornejo, y no es mi tío. De verdad, no es mi tío, no. Chequeé el árbol genealógico, no es mi tío, no tenemos nada en común, nada. Se ve que es cool.

Una cosa de las que les quería hablar es metas. Bueno, quiero trabajar en Airbnb, ¿cómo le hago? O quiero trabajar en Facebook, ¿cómo le hago? Quiero trabajar en Google, ¿cómo le hago? Quiero trabajar en Platzi, ¿cómo le hago?

Y, la cosa de las… O en Apple. Y, la cosa de las metas es realmente no sé. Si volviera a hacer una entrevista no sé si me quedaría, aunque claramente hemos hecho cosas muy importantes para la compañía o muy buenas. Y, pensando en metas, está este libro que me gusta es de un caricaturista, que creó una cosa que se llama Dilbert, ¿les suena?, ¿sí?, ¿muy poco?, ¿sí o no? Okay.

Entonces, en este libro él habla de las metas como un objetivo específico que cumples o no en algún punto futuro. Y, el problema de las metas es que siempre estás no lográndolas hasta que las logras. Entonces, en el caso de mi carrera, cuando estaba trabajando en agencias y en consultorías, hubiera estado triste, cuando estaba en early state start-ups, aunque, como no era lo que quería, hubiera estado triste cuando estaba trabajando en un startup aquí, hubiera estado frustrado. Y, cuando estaba trabajando remoto, hubiera estado deprimido. Y, no quieres vivir tu vida así, aunque las metas… No sé. Entonces, en vez de metas, algo que recomienda él son sistemas. Un sistema es algo que se hace día a día y que incrementa las posibilidades de éxito en el largo plazo.

Entonces, meta: bajar cinco kilos. Todo el tiempo estás: “No he bajado cinco kilos, ya bajé cuatro, pero no he bajado cinco.” Un sistema, a lo mejor, podría ser: comida. Acostumbrarte a que la comida saludable sabe diferente. Y, no tener papitas a tu alrededor, tener a lo mejor jícamas y pepinos y obligarte a no usar el auto. Entonces, eso podría ser un sistema.

Meta: viajar más. A lo mejor podrías ahorrar y para cuando salgan las ofertas comprar los vuelos de avión inmediatamente. Podrías aprender a empacar ligero para que sea más cómodo viajar. Y, aprender bien dónde hospedarte. Y, si su meta es ganar la lotería. Ahí, sí… Esto no funciona para todo.

Y bueno, la segunda cosa de la que les quería hablar es de la experiencia. La experiencia hace que más opciones sean posibles. Se trata como de empujarte a ti mismo a aprender cada vez más. Entonces, a lo mejor ustedes están en el punto donde siguen tutoriales de todo y están con TensorFlow, pero también hacen Javascript, pero también hacen iOS, pero también hacen Android. Eso está muy cool, porque la mayoría de la gente, el 99 por ciento de la gente se queda con lo que le dicen en las escuelas o en el trabajo. Y luego, hay un siguiente nivel que es cuando tomas todo eso y te vuelves un generalista, creas productos desde cero. Y luego está el siguiente nivel que es cuando te vuelves un experto y entonces, puedes llegar a una empresa y mejorarla, en sentido técnico.

Pero las habilidades técnicas solo son una parte. Crecer de forma técnica es, le llamo como crecer para adentro, y cuando he visto…cuando veo a los ingenieros que son muy buenos en Airbnb, veo que solo son…o sea, ser bueno técnicamente, es solo el principio, también tienes que aprender a ser parte de un equipo. También tienes que hablar con los diseñadores y entender por qué quieren que este padding sea de esta forma. Tienes que hablar con la gente de marketing. Tienes que hablar con el departamento de arte para explicarles cómo van a necesitar las fotos.

Y una vez que logras trabajar en equipo, el siguiente punto es empujar otros equipos. Hay gente que dice: “Yo creo y voy a hacer una propuesta de por qué deberíamos hacer de esta forma diferente las reservaciones en Airbnb.” Entonces empujan a 200 personas adentro de la compañía a que implementen todo eso. Y ese es cuando eres invaluable para una empresa.

Yo tengo este hack que me sirvió que es: buscas de quién aprender. Y luego, el siguiente punto es empiezas a platicar con esta gente que es más inteligente que tú y empiezas a empaparte de sus ideas. Y luego, te vuelves amigo de gente que admiras.

Primer paso ir a eventos de meetups. Segundo paso, ayudar a organizarlos. Tercer paso, una vez que has platicado con tanta gente, sabes qué necesita cada quien y de repente te vuelves un cupido de las presentaciones. Y, sabes que este programador está buscando trabajo de este tipo y que esta compañía es buena y necesita programadores de este tipo y, entonces, conectas gente. Y eso no solo se vuelve bueno para ellos, pero creces tu red.

Primer paso, hablar inglés. Segundo paso, entender ideas de otras partes del mundo, que es raro, Yo no entendía por qué la gente va con chamarra a la playa, hasta que fui a la playa de San Francisco. Y luego, trabajar en equipos multiculturales, que es algo que es un proceso que tienes que ir aprendiendo. No podrías, tomar una clase en Open English y luego trabajar en un equipo multicultural. Entonces, ese es como la parte que les decía de empujarse, en otras palabras, tienen que “ser excelentes”. No es mi tío, de verdad, no es mi tío, pero si quieren comprar el libro, está bien.

Quiero de hablarles de cómo no equivocarse. Como contexto, Airbnb, bueno no hay forma de no equivocarse, eso es a lo que vamos a llegar. Y, para no equivocarse hay este filósofo que es guatemalteco y a Cristian le gusta muchísimo, que dice: “El problema no es cagarla, el problema es no aprender de ello”.

En el trabajo es estresante porque Airbnb pierde dinero cada que el sitio no funciona perfecto. Pero Airbnb es muy complicado. Simplemente la página principal es React, pero que luego es React mórfico que rendereamos del lado del servidor, pero que en todos lados está cachado con CDN. Entonces, lo que rendereas del lado del servidor no puedes renderearlo siempre si quieres que cambie por usuario, pero entonces el CDN de China es diferente, entonces necesitas pensar en eso. Y luego, acabamos de meter Service Workers, es muy fácil equivocarse. Chiste del que acaba de hacer Progressive Web Apps.

Y cuando hicimos, esta es una de las versiones que hice del Homepage. Airbnb soporta ocho navegadores, de los cuales, Android, iOS, Chrome, Internet Explorer, todo. Y está, todo tiene que estar internacionalizado, son cuarenta y tantos idiomas, y cuando saqué esto fue el último día antes de, como diciembre es una temporada de ventas fuerte, paramos la empresa el quince de diciembre. Entonces, el quince de diciembre fue de: “Lo logré, acabé, pero no lo voy a empujar, pero no lo voy a lanzar, el primero de enero…el dos de enero lo voy a lanzar”. Y lo puse así, el viernes a las cuatro, se cerraba a las cinco, y dije: “Lo logré”, y me fui a echar una chela. Y fue ¡Yay!

El lunes siguiente…el domingo empiezo a ver reportes, me agregan a una cosa y me dicen: “Oye ¿probaste el homepage?”, pero cuando entras a una casa se ve así, ¿ven el error? Le puse “posición absolute” al…y usé una “Global” en Ruby, y yo me sentía así…y realmente mi cerebro empezó a: “Pero es que ni fue ni tan mi culpa, pero es que… Si me regreso… Ya valió, nunca van a contratar a nadie”. Y, Airbnb tiene una forma muy cool de aprender de los errores le llaman el “post mortem”. Entonces crearon un incidente, tuve que hacer un post mortem y en el post mortem tenía que explicar por qué pasó, qué no probé, cuál fue el impacto real, cuántos usuarios lo vieron, entonces tuve que entrar a las métricas y ver.

Pero lo importante es que aprendimos, y de este proceso de post mortem es que hemos encontrado mejores soluciones. ¿Por qué? Porque los post mortem no se trata de buscar culpables, nadie me dijo: “¡Tú la regaste!”, a pesar de que mi cerebro sí estaba diciéndose eso. Se trata de mejorar los procesos y de entender qué tecnología podríamos crear que nos permitiera no volver a…que esto no volviera a pasar. Y, los procesos han sido revisar bulk request, métricas, servidores de staging, todo lo que sea. A veces es increíble todo lo que pasa antes de que el código entre a la producción. Y, una parte cool de los post mortems es que, Airbnb siempre asume que los empleados son inteligentes, que son bien intencionados y que tomaron las mejores decisiones para la información que tenían en ese momento.

Y se me hace una forma muy interesante de aprender, partes que tienen post mortem, tienes que hacer un resumen, te tardas como dos horas escribiendo todo este documento, quizás más. Tienes que explicar el impacto del error que tuviste, tienes que explicar la causa principal, cómo se descubrió/detectó, la resolución, la línea del tiempo, qué acciones correctivas tomaste, y luego mandar este mail a todos los ingenieros de la compañía. De esos llegan, quizás, cuatro o cinco por mes.

Pero algo que entendí después de pasar todo este proceso y de reflexionar es que equivocarte no te vuelve un fracasado, que la gente más brillante comete los peores errores y que se trata nada más de admitirlos, aprender y seguir adelante. Entonces, en conclusión, ten un sistema que te permita hacer cosas cada vez más ambiciosas y, cuando algo salga mal, aprende todo lo que puedas. ¡Gracias!

Jeduan
Jeduan
Escribe tu comentario
+ 2