Ojalá hubiese tenido un mentor, la charla

Episodio I

Supongo que algunos recordaréis el post que escribí hace un tiempo, titulado ojalá hubiese tenido un mentor. Es uno de los mejores post que he escrito, explicando un poco porque me hubiese gustado tener un mentor, y cómo me habría ayudado a ser mejor profesional.

Hace unos meses me propusieron dar una charla en la Universidad de Alcalá de Henares, como parte de una de las jornadas de codenares_lite. Podía haber pegado otra chapa de Elixir, pero pensé que sería mucho más útil intentar contarles a los chavales que estaban en la carrera las cosas que a mí me gustaría que me hubieran contado cuando estaba estudiando. Así que me puse manos a la obra.

La charla la pude impartir el pasado 17 de enero, y podéis encontrar las diapositivas en este repo de github, aunque me temo que sin las explicaciones no sirven de mucho. La pena de la charla fue que los alumnos estaban de exámenes, y no acudieron tantos como me hubiera gustado. Si surge la oportunidad, me gustaría repetir la charla en algún entorno educativo similar, pero mientras tanto, he pensado que podría ser útil ponerla en forma de post.

Nota: estas son algunas de las cosas que me hubiera gustado que me dijeran. No están todas, y seguramente alguna sobre. Para completar la información os recomiendo que os paséis por el repo de mentoría en la que gente mucho más sesuda que yo, cuenta sus opiniones sobre la profesión.

Mi historia

Simpson

En el post sobre el mentor ya contaba un poco mi historia, así que tampoco quiero repetirme mucho. Resumiendo yo estudié en la Universidad de Alcalá de Henares, pero pasé por ella sin pena ni gloria. Fui pasando las asignaturas como buenamente podía, algunas veces con más éxito que otras. En general la parte de las prácticas me gustaba mucho, aunque desperdicié tiempo aprendiendo cosas que entonces no pensaba que me fueran a servir para algo.

Sigo manteniendo que mi plan de estudios tenía demasiadas asignaturas prescindibles (demasiada contabilidad y gestión de empresas), y faltaban otras que deberían haber estado (¿una de buenas prácticas o código limpio?). Pero la verdad es que aprendí mucho y muchas cosas útiles. Aun así creo firmemente que los conocimientos se pueden adquirir en cualquier parte, y que no necesitas ir a la Universidad para aprender.

Lo que me resulta curioso es pensar en cómo veíamos la profesión cuando estábamos estudiando. En aquellas charlas que tenía con mis compañeros en tiempos muertos, o cuando íbamos camino de la estación de tren, íbamos hablando de lo que haríamos cuando fuéramos mayores. Pensábamos que las consultoras eran un sitio genial para trabajar (ilusos), que íbamos a salir ganando un pastizal y que íbamos a ser jefes. Los picateclas serían otros, porque nosotros éramos INGENIEROS. Así con mayúsculas.

Luego llegas a la vida real, y te das cuenta de lo estúpido que eras. Para ganar dinero tienes que ser bueno. Aunque es cierto que somos una profesión privilegiada y que el paro es prácticamente inexistente, un programador medio no está precisamente montado en el dolar. Y eso si trabajas en Madrid o Barcelona, porque en otras comunidades la cosa está bastante peor.

Lo de pensar que directamente seríamos jefes, también me hace mucha gracia. No, un INGENIERO no sale de la carrera preparado para ser jefe. De hecho yo diría que sale preparado para hacer muy poquita cosa. Y de eso te das cuenta el primer día que empiezas a trabajar.

Las consultoras

Consultora

Si algo era desconocido para mí cuando estaba estudiando, ese era el mundo laboral. Yo creía que las consultoras eran un buen sitio para trabajar. Y nadie me avisó durante mis tres años de carrera (quién dice tres dice seis), de que eso no era verdad. Así que en la charla quise contárselo a los estudiantes.

El caso es que existen unos entes, llamados consultoras, también conocidos como cárnicas. La consultoría tiempo atrás era un arte noble, en la que un experto acudía a tu empresa, analizaba un problema y según su experiencia te daba una solución. Nada que objetar.

El problema es que en algún momento las consultoras se convirtieron en meros intermediarios entre programadores y empresas. En ETTs encubiertas. Como resultado tenemos un mercado laboral viciado, en el que priman los proyectos con tiempos poco realistas (o directamente falsos), los proyectos mal ejecutados y los proyectos poco atractivos. Y esto se traduce en que el programador tiene que echar horas y hacer trabajos de poca calidad, para que las consultoras sean rentables.

Ojo, por suerte no todas las consultoras son así, y me consta que las hay mucho mejores. Pero es cierto que la mayoría de ofertas de trabajo que circulan por los portales de empleo son de empresas de este tipo. Huye de las empresas líderes en su sector. Como diría el almirante Ackbar: es una trampa.

Tras años siendo carne de consultora y engordando experiencia, yo me acabé dando cuenta que era un paquete de programador. Así sin más. Poco a poco fui buscándome la vida para reinvertir la tendencia. No está siendo fácil, pero estoy progresando así que estoy contento.

El caso es que todo esto me hizo pensar. ¿Qué habría sido de mí, de haber tenido un mentor? ¿Qué cosas no habría hecho? ¿Cuáles habría descubierto antes? Si hubiese tenido a alguien que me guiara en el camino, estoy convencido de que mi historia sería totalmente diferente.

Consejos gratis

Al final todos acabamos en el mercado laboral y vamos teniendo una trayectoria profesional, que puede ser mejor o peor. En la mía me he dado cuenta de muchas cosas, y algunas de estas se las quería contar a los estudiantes para que las tuvieran en cuenta. Así que ahí va una de consejos gratis. No se devuelve el dinero.

Aprende las bases

Estamos más que acostumbrados a estar aprendiendo continuamente. ¿Pero qué es lo que aprendemos? Muchas veces aprendemos lenguajes o frameworks sin pensar mucho en lo que hay por debajo. Todo lo que aprendemos a la hora de desarrollar se sustenta sobre unas bases. Si conoces esos cimientos sobre los que se sustenta algo, vas a ser mejor programador. Aprenderás más rápido temas relacionados, y los entenderás de forma más profunda.

Por ejemplo, hay mucha gente que se dedica a aprender Angular, React o cualquier otro framework JavaScript de moda. Eso está muy bien, pero está mucho mejor cuando antes has aprendido a utilizar JavaScript. Si mañana aparece otro framework nuevo (es probable que aparezca en los próximos 5 minutos), lo vas a aprender mucho más rápido y de forma más profunda, ya que conoces las bases.

También puedes aprender a utilizar C# o Java, pero te sale más a cuenta aprender lo que es la herencia, la composición, el acoplamiento etc. Incluso aprender como surgió esto de la orientación orientada a objetos, y como ha acabado siendo una cosa diferente a la que su creador tenía en mente.

Buscar el porqué de las cosas

¿Podrías vivir sin StackOverflow? Está claro que es una gran herramienta para resolver dudas. Si tienes algún problema de esos que se enquistan, puedes buscar la solución allí. Y eso es bueno. Lo que no es tan bueno es copiar la solución en nuestro código, cambiar el nombre de las variables y tirar millas.

Yo creo que es mucho más interesante pararse un poco y darle una vuelta a la solución que has encontrado. Lo primero es entenderla. Y una vez la has entendido, intentar adaptarla y si puedes mejorarla.

Está bien recurrir a recursos externos para obtener ideas, pero hay que ser siempre crítico y no copiar las cosas sin pensar.

Tienes que ser proactivo. Muévete

Valor de una persona = (Talento + Conocimientos) * Actitud

Esta ecuación la vi en la charla TED de Victor Krüppers y aunque no tenga una demostración científica yo creo que viene a decir una cosa que todos intuimos: lo importante es la actitud. Puedes ser muy bueno y tener muchos conocimientos, que sin la actitud adecuada no vas a progresar. Una persona con actitud, con ganas de aprender, con inquietud profesional, con ganas de mejorar y con ganas de presentar soluciones, proporciona mucho más valor añadido que una que es simplemente conocimiento en bruto. Además ser proactivo te ayuda a estar en continua formación.

Así que ya sabes, la actitud en esta profesión es un multiplicador que puede hacer que seas mucho mejor profesional de lo que dicen tu experiencia o conocimientos.

Haz preguntas

Recuerda, no hay preguntas tontas, solo tontos que no preguntan.

Muchas veces nos da vergüenza preguntar. Es algo que ha mi me ha pasado siempre, y que me sigue pasando. Por no hacer una pregunta que pueda parecer tonta, acabas no haciéndola. Y es un error. Ahí nos podemos fijar en los niños, que no tienen miedo a preguntar. Ellos hacen las preguntas porque es la manera que tienen que aprender y descubrir el mundo. Pues haz como los niños y aprovéchate de tus amigos y compañeros de profesión. Asédiales a preguntas. Es una muy buena manera de aprender y de salir de atascos mentales que pueden suponer perder horas de tiempo.

Siempre aprendiendo

aprendiendo

Como ya he dicho antes, en esta profesión vas a estar siempre aprendiendo. Y da igual si quieres hacerlo. En este caso no tienes elección. Por las buenas o por las malas vas a tener que aprender. Lo bueno es que hoy en día la información es muy accesible. Tienes blogs, tienes libros, tienes cursos online (próximamente muy bien organizados en Learning Paths Academy). Aquí el que se aburre es porque quiere.

Mi consejo es que siempre estés aprendiendo algo. Puede ser un nuevo lenguaje, un nuevo framework, o a mejorar tus técnicas de programación. Da igual, pero sigue progresando. Esto te ayudará a ser mejor en tu carrera laboral y también te ayudará a lidiar con el síndrome del impostor.

No te compares con otros

Es muy común que nos comparemos con gente del sector. A veces lo hacemos con verdaderos cracks. Piensas, joder este tío, con la misma edad que yo, y es una máquina. Compararte con otros te lleva a la desmoralización, la desmoralización lleva a la dejadez y la dejadez lleva al código espagueti.

Asúmelo: hay gente muy buena. Pero tú no sabes cuáles han sido sus circunstancias. Igual llevan más años en el gremio. O quizá son un poco más espabilados. O quizá son solo fachada. El caso es que da igual. Si quieres compararte con alguien, hazlo con tu yo del pasado. Si echando la vista atrás, pongamos por ejemplo un año, ves que has progresado, es que lo estás haciendo bien.

Ojo, aquí hablo de compararse a modo de castigo. Intentar copiar las cosas que llevan a alguien a ser buen profesional siempre es buena idea.

Olvida la titulitis

¿Tienes un título universitario? Enhorabuena, pero eso no demuestra nada. No eres ni mejor ni peor que alguien que no lo tenga. Tampoco eres mejor que una persona con un título de otro tipo como física, matemáticas o incluso magisterio. Hay verdaderos monstruos de la programación que no tienen título. Y ni falta que les hace.

Hay muchas maneras de adquirir conocimiento. La Universidad es solo una de ellas, y probablemente ni siquiera sea la mejor. Si alguien tiene los conocimientos y sabe aplicarlos ¿qué más nos da que tenga carné o no? Desde luego yo en mi equipo siempre quiero a los mejores y me da lo mismo el título que tengan.

No pienses solo en el dinero

Wolf

Cuando eres joven y empiezas a trabajar, te emocionas un poco pensando en el sueldo. Si ahora gano 20, y me cambio de trabajo, puedo ganar 22. Y si el año que viene me cambio, serán 24. No es mala estrategia, pero puede serla si solo te fijas en el dinero para cambiar de trabajo.

Yo he aprendido con el tiempo, que hay otras cosas más importantes en un trabajo. La posibilidad de aprender me parece imprescindible, y no se da en todos los trabajos. Si eres joven y estás empezando, yo me fijaría más en eso que en otras cosas. Con la edad tus prioridades cambian y pasas a valorar otras cosas, como un buen horario o la conciliación familiar.

Pero lo mejor sin duda es no ser esclavo del dinero. Si eres esclavo tomarás tus decisiones profesionales de forma equivocada, ya sea por miedo o por responsabilidad (familia, hipoteca etc.)

Aprovecha el tiempo

Ahora que tengo hijos, no dejo de pensar en todo ese tiempo que desperdicié cuando era más joven. Haciendo zaping, durmiendo muchas horas o sentado en un banco con los colegas sin hacer nada en especial. Antes tiraba el tiempo porque quería, ahora simplemente no lo tengo. Los niños requieren mucha atención.

No digo que tengas que estar todo el día metido en casa leyendo libros o programando. Al menos que sea lo que te apetece hacer. Es importante desconectar y tener vida más allá del código. Pero también recomiendo que tengas en cuenta que el tiempo no se recupera. Si no lo usas, se gasta. Así que intenta aprovechar ese tiempo para cumplir tus objetivos y metas.

No seas un cretino

Seguro que alguna vez has tenido a un cretino por compañero (o lo has sido tú). El típico con aires de superioridad, que te daba consejos como perdonándote la vida y que no te alababa ni aunque hubieras descubierto el bosón de Higgs. Es muy triste convertirte en una persona así.

Yo creo que no cuesta nada ser amable y reconocer el trabajo de los compañeros. ¿Alguna vez te han dicho, “esto que has hecho está genial”? ¿O “buen trabajo”? Si te ha pasado sabrás que te sienta muy bien. A todos nos gusta que alaben lo que hacemos, así que intenta hacerlo con los compañeros siempre que puedas.

En algún momento todos tenemos que criticar el trabajo de alguien. Intentémoslo hacer con respeto, educación y buenas palabras. No cobran por ser simpático. Al menos de momento.

Y bueno, de momento lo dejamos aquí. Estos consejos están pensados para cualquier persona, y no solo para informáticos. A mí me hubiese gustado que me los hubieran dicho en su momento, pero nadie lo hizo. Aunque es probable yo no le hubiera escuchado. A veces hay cosas que no estamos preparados para escuchar.

Para la próxima entrada, seguiré contando algunas de las cosas que a mi me hubiese gustado que me dijeran hace años.



¿Quiéres que te avisemos cuando se publiquen nuevas entradas en el blog?

Suscríbete por correo electrónico o por RSS