Plataforma de desarrolladores/programadores junior

¿Qué tengo que aprender para llegar a trabajar de X?

Cuando tengas claro que es la X busca tu roadmap aquí y empieza en ello https://roadmap.sh. No es obligatorio ni recomendable acabarlo todo antes de empezar a buscar, pero ya sabes cuales son las cosas que se te suele pedir.

¿Algún recurso para empezar?

desu

#5070 Que problema tienes con las todo list, si estas siguiendo mi diario jajaja

La todo lista esta bien si... le metes logs, grafana, HTTPS, orquestracion CI/CD.... como tu bien dices. Alguna cosilla para ir mas alla.

Es la diferencia entre curso y mundo real (trabajo). El trabajo es hacer lo que nadie quiere hacer... como montar un puto grafana y prometheus y escribir 2 dockerfiles zzz que pereza! pues precisamente eso que nadie quiere hacer y da pereza es por lo que te pagan XD

2 respuestas
pantocreitor

#5071 jajajaja no hombre, contra los todo list nada, me refiero a enseñar como tuyo el típico todo list de un curso, que cuando te has hartado de verlos se nota cuales son de un curso (si, hay mucha gente que hace el mismo curso gratis, copia y pega todo, lo sube tal cual con un “initial commit” y te dice que el proyectillo es suyo sin siquiera leerlo) y cuales son hechos por algún user.

Si haces un todo pues eso, déjalo guapo con extras, que se vea que le has echado ganas. En mi caso comentaba lo del consumer y el producer porque es algo que casi nadie ve en FPs o bootcamps, por lo que si tienes hecho algo lo más probables es que sea porque te has interesado en aprender.

D

#5071 Si la haces currada si, me refiero a las todo list que suele hacer todo fpero/bootcampero, si es una todo list como planteaste tu con mas funcionalidades pues si demuestra que sabes algo mas que hacer un for.
A no me importa pelearme con cualquier cosa, lo prefiero, puestos a ser fpero mejor fpero con ganas xD.

werawk

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:

  1. 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.

  2. 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.

  3. 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.

  1. Aprende inglés. Sin más.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  1. 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.

  2. 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.

  3. 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.

  1. 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.

  2. 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.

  3. 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!

15 6 respuestas
HeXaN

#5074 No me he leído semejante texto pero quería darte la enhorabuena por reconducir tu carrera y evolucionar.

3 1 respuesta
werawk

#5075 Gracias señor pato, me alegra ver que tras salir de la nevera después de 3 años de baneo, sigues aquí. Pásame el copy paste mítico de los recursos para programar, anda. Que ahora sí procede.

Leagrove

#5074 Por curiosidad, con que salario empezaste y con cuanto estás ahora tras 18 meses? Que stack estás utilizando cuando empezaste y que stack estás utilizando ahora mismo?
Enorme todo lo que has comentado, gracias por compartirlo

wolfie6949

#5074 Por lo que has contado y cómo, se te ve con un buen perfil para esta profesión, llegarás a donde te propongas.

Desgraciadamente conozco a otros tantos que se han subido al carro "porque se trabaja desde casa y se gana dinero" pero no tienen intención de pelearse con nada para mejorar el perfil. Esos no tendrán un recorrido tan largo.

privet

#5074 la diferencia esta en el estudiar como un hdp

CaNaRy_r00lz

#5070 El problema es que como Junior, no tienes ni puta idea que hacer, es decir, si tienes ideas pero quizas no son las adecuadas a desarrollar para enseniar, o por lo menos ese es mi problema, saber que conio hacer que no se vuelva una locura y que ademas sirva para que te pillen. Que cuando buscas en internet siemrpe son las mismas 4 mierdas que todo el mundo hace

2 respuestas
aren-pulid0

pues metete en la locura, aprende lo que te toque y si hace falta lo dropeas, algo te llevas seguro

Don_Correcto
#5074werawk:

No hace falta hacer mucho. Hace falta hacer muchas cosas ligeramente mejor el suficiente tiempo.

This. Disciplina y echarle horas, como todo vaya.

1
Vito_

#5080 plantéate hacer una web o una app de lo que te dé la gana haciendo requests a una API.
Hoy quería implementar una search bar en la web que estoy haciendo pero no quería enviar una request cada vez que pulsaba una tecla en la barra de búsqueda así que me he pasado más de tres horas leyendo documentación para montarme mi propio custom hook en React para ponerle debounce a la búsqueda xD

Esto a parte de llevar días dándome cabezazos contra la documentación de Firebase para ver cómo puedo interactuar con la cloud firestore...

1 respuesta
CaNaRy_r00lz

#5083 Si alguna idea tengo a ver como evoluciona, pero primero tengo que mirarme bien spring, la verdad es que front react y eso no me gusta nada prefiero mas el back, pero bueno , sobretodo pk es con JS y no me gusta nada igual que python

1 respuesta
Vito_

#5084 yo creo que también me gusta más back que front pero bueno, tengo reciente el usar React JS del proyecto que hice antes de navidad y ahora quería probar React TS.

De lo que sí me arrepiento es de haber elegido Firebase, tenía que haber probado el combo Prisma, Express y PSQL, pero bueno, a base de hostias uno aprende

D

#5080 Así es como he aprendido yo más que en todo el ciclo, metiendome con cosas que ni entendia, Spring, arquitectura, patrones....

copium

#5074 enhorabuena wawa, eres un ejemplo a seguir y probablemente el que mejor huele de la oficina.