Bueno, se cumplen 18 meses de mi primer trabajo como desarrollador, y ya hay días en los que incluso me siento como uno. Tengo 35 años y vengo del mundo del entrenamiento personal. Hice un bootcamp, ahora explicaré un poco en más detalles sobre esto en el post.
Cada persona, empresa y proyecto son un mundo. Y mis errores, presentes y pasados pueden no servir de ejemplo para nadie más. Pero espero que a alguno le sirva. Por otro lado, tampoco soy ejemplo de nada.
Lo primero: El bootcamp
¿Por qué hice el bootcamp? No por aprender más, más rápido o porque piense que sea mejor. Lo hice por dos motivos: falta de disciplina y una pequeña esperanza de hacer networking con otros mataos como yo. Traté el bootcamp como la "última" oportunidad de encontrar algo, y pagar semejante pastizal (deuda) ayudó a tomármelo en serio.
La experiencia en el bootcamp fue positiva. Tuve MUCHA suerte con la profesora y la apuesta del networking funcionó. Conocí al que más tarde sería mi puerta de entrada en la empresa. Fue gambleo puro y duro, y tuve suerte, mucha suerte. A veces se nos olvida que es un factor clave en muchos aspectos diferentes, y yo lo tengo presente todos los días. También me esforcé más que nadie, sin ser el más inteligente o dotado. Si hacer un bootcamp en el 99.9% de las ocasiones es tirar el dinero, ir sin ser un tryhard lo es bastante más.
Concuerdo en que los proyectos en las fases de selección ni se los miran. Pero en mi caso, fue parte de lo que me dio la puerta de entrada. No por la calidad del código sino por la evidente cantidad de horas y el número de integraciones (OpenAI, geolocalización de propiedades, tensorflow, pasarela de pagos con Stripe, etc). Como poco, aunque no lo miren, aprenderás.
Básicamente:
- Tienes capacidad de trabajo/esfuerzo y estás apurado de pasta? Ni se te ocurra. Busca cualquiera de los millones de recursos que hay gratuitos. Haz proyectos que te interesen, si no es un infierno tirarte X horas diarias con ello.
- Te sobra pasta y te garantizan prácticas en una empresa dentro del sector y además tienes falta de disciplina?: maybe, just maybe.
Sobre el curro en General
Lo que voy a comentar igual son cosas súper obvias, pero que he experimentado de primera mano. De nuevo, cada empresa y persona es diferente. Y como son varias conclusiones o pensamientos pues los dejo así sueltos:
Nadie espera, contratado como Junior, que sepas todo desde el día cero. Si la empresa es medianamente seria deberían ser claros con sus expectativas. También es tu trabajo preguntar por ellas en la entrevista y one to one.
La gente es paciente para el periodo de adaptación. Yo estoy empezando a entender ahora más o menos de que va la película, y va año y medio. Hay paciencia, eres un Junior, pero creo que es importante demostrar interés, pero también progreso.
Todo el mundo asume, y sabe, que invertir en ti es tiempo que se deja para hacer otras cosas. Y eso está bien, educarte es una inversión a futuro. A no ser que no seas un cara, no tengas miedo a pedir ayuda/explicaciones, pero no hagas perder el tiempo a nadie.
4. Aférrate a aquellos que tienen una tendencia natural para explicar el porqué de las cosas, más que la solución a tu problema. Aprender a hacer las preguntas adecuadas es importante con este tipo de perfil, que espero que te encuentres. Al principio que saques tareas rápido generalmente le importa a nadie. Si alguien tiene interés en explicar, pégate como lapa.
Aprende inglés. Sin más.
Aprende a comunicarte. Es un perfil técnico, pero trabajamos con personas. Quién acepta tu iniciativa es una persona, quién te consigue los recursos es una persona, quién te pone los deadlines es una persona y así ad infinitum. Esto te va a llevar más lejos que aprender X lenguaje de programación. Si eres introvertido o tienes problemas para expresar ideas o con el conflicto o el miedo escénico: trabájalo.
Identifica claramente quién manda. No quién es tu jefe. Si no quién manda. Es con esa gente con la que te tienes que marcar los goles, a quién invertir tiempo extra, favores etc. Esta es la gente que bien o determina tu aumento de sueldo/responsabilidades/puesto, y la gente que te puede aportar más a nivel técnico/conocimiento. No vas a llegar a todo, así que importante seleccionar bien con qué, cómo, quién y cuándo tragar. También identifica pronto la dinámica y juegos polítequeo que hay dentro de la empresa antes de casarte con nadie.
Ubícate. Dónde caes dentro del equipo, cuál es su dinámica y cuál es tu función dentro de él. Si hay un rol o función en la que destacas, hazlo, y hazlo frecuentemente. Nadie puede con todo, pero ir seleccionando de qué cosas te puedes encargar o qué cosas puedes tener cierta autonomía hará primero que ganes confianza, y segundo que te ganes la del resto. Ser el "go to" person en algún área se percibe como un valor.
Cuenta (y usa) a los otros equipos. Ayudar al PM, QA, infra, diseño, etc te hará la vida más fácil, te harán tu vida más fácil, tu trabajo será mucho más visible y te podrás marcar algún gol. Por otro lado te darás cuenta que tu trabajo es una pieza pequeña, que depende de muchas otras cosas. De nuevo, saber dónde te ubicas te hará mucho más efectivo.
10. Si tu jefe no es un patán, usa los 1 to 1 de forma efectiva. Haz preguntas útiles. Ejemplos: qué consejos me das ahora que empiezo? qué expectativas tienes? qué crees que podría mejorar? qué crees que hago bien y debería seguir haciendo? qué crees que falla en el equipo? si pudieras cambiar algo del equipo, qué sería?. Entender lo que se espera/percibe de ti es importante, entender las aspiraciones/preocupaciones de los que toman decisiones también.
Ve a la oficina. Sé que esto es personal, y que la vida de cada uno es como es. Yo tengo la posibilidad de remoto, sin embargo por café gratis y espacio voy todos los días. Lo que ha sucedido por accidente es que tengo relación con absolutamente todos los departamentos, y surgen conversaciones que no habría tenido de ningún otro modo. Si no puedes ir a la oficina, busca una forma de buscar el contacto y fricción con otra gente y equipos.
Ofrécete para tareas que creas que puedas aprender y afrontar. No sólo hay que trabajar mucho, sino parecerlo. Alguno diría que hasta es más importante que lo primero.
Sé honesto. Recuerda que la honestidad sin compasión es crueldad, la amabilidad sin honestidad es manipulación. Sé firme y sincero siempre que puedas.
14. Atrévete a arrancar nuevas iniciativas, procesos, conversaciones. La mitad se tumbarán o no arrancarán del todo, igual la otra mitad cala y mejoras algo del equipo. Nuestro trabajo, muchas veces, no consiste en escribir código. Cierto, no tenemos ni puta idea como junior, pero puedes traer una visión nueva a un sitio que ya tiene una cultura instaurada. Hay muchas cosas que en la empresa no se hacen "porque nunca se han hecho", o porque ni se les ha ocurrido. Atrévete a aportar. Recuerda que es mucho más sencillo que la gente se sume cuando ya hay algo iniciado, una propuesta, un draft, una mini demo, un proof of concept. La gente no se va a mover o aportar sólo con una idea. No habrá muchas cosas que puedas aportar a nivel técnico, pero sin en otras áreas, en función de tus puntos fuertes.
Haz que las reuniones cuenten. Tanto las tuyas, como las de los demás. Todo el mundo odia una puta reunión en la que sobra gente, no se saca nada en claro, no hay cosas específicas al terminar la reunión que llevarse y que la conclusión es "de aquí hace falta otro meeting". Pregunta activamente, incluso por nombre, si lo que expones tiene sentido, si hay alguna objeción, etc. Prepara lista de tareas en base a lo discutido.
Generalmente nuestro trabajo "no importa". En 10 años nadie va a recordar esa función recursiva de puta madre que escribiste, y mucho menos en nuestro primer trabajo. No te estreses, con calma pero sin procrastinar.
No dejes de estudiar. El trabajo no suele ser suficiente, y mucho menos cuando coges otras responsabilidades, meetings, etc.
Ojalá tuviera algo que aportar en el sentido de entrevistas, pero conseguí dos mediante conocidos (por el bootcamp), me cogieron en las dos y elegí en la que el proyecto pintaba mejor y pagaban mejor. En las dos entrevistas se echó un vistazo al código de mis proyectos, preguntas de teoría y demás. Lo mejor que puedes hacer es ser sincero. Si no tienes ni puta idea, dilo. No te tires el farol con un tío que tiene 20 años de experiencia. Si no sabes la respuesta, apúntatela para buscarla en casa, o pregunta directamente cuál es la respuesta.
Sé que son cosas muy elementales, pero no lo deben ser tanto cuando no todas son llevadas a cabo por todos en la empresa, incluso con años de experiencia. Muchas cosas importantes en el curro tienen que ver con el código, y el stack, y las buenas prácticas. Pero muchas que aportan valor al equipo no.
Como dije no soy ejemplo de nada. Me aseguré de estudiar como un hijo de puta en el bootcamp, juntarme con la gente válida y tuve la suerte de que uno de ellos me consiguió una entrevista. Entré como """"full stack"""", un compañero senior rechazó una posición de "sub team" o "squad lead" y se me dio la oportunidad, la cual acepté. Por estar en contacto con otros equipos estoy involucrado en más de un producto, superviso varios procesos e incluso estoy en las guardias de infraestructura, con lo que conlleva a nivel de aprendizaje y económico. Sin todo lo anterior igual las probabilidades (quitando el factor azar) serían menores.
Espero que la experiencia de uno que ha entrado en la rueda os sea de ayuda a alguno. Para todo lo demás el más que trillado
https://jamesclear.com/marginal-gains
No hace falta hacer mucho. Hace falta hacer muchas cosas ligeramente mejor el suficiente tiempo. Ánimo y sorry for la chapa!