Normalmente, y como casi todos los que estudiamos el campo, ya sea que estamos empezando o aquellos que ya son expertos, nos hemos hecho la misma pregunta ¿Cómo sé que tipo de Desarrollador soy?
¿Qué hace un Desarrollador Junior?
Un Junior Developer o Programador Junior es un programador o creador de programa de grado primordial que labora en un equipo de desarrollo.
Primordialmente, lo qué hace un Programador Junior va a partir de aprender la base del código, redactar o desarrollar código (básico), arreglar los errores que logren ir surgiendo, hasta recopilar datos de usuarios.
Paralelamente, un Programador Junior aporta un fundamental apoyo al equipo de diseño paralelamente que optimización sus capacidades de codificación y diseño de manera continua.
Algunas de las actividades que hace un desarrollador Junior son:
- Tiene conocimientos básicos sobre software y hardware.
- Conoce al menos un lenguaje de programación.
- Trabaja en funciones y herramientas internas de software.
- Colabora en la planificación y con ideas para un proyecto.
Normalmente, a este tipo de desarrollador, se le caracteriza por que acaba de terminar su carrera, sus conocimientos son muy básicos, y requiere supervisión para lanzar un proyecto.
¿Qué hace un Desarrollador Semi Senior?
El semi senior se caracteriza, primordialmente, ya que se encuentra en el medio de “novato” y “experto”, acercándose más a lo último, debido a que va triunfando mucha más vivencia y entrenamiento con la era.
Ser un semi senior no es nada sencillo, debido a que debes disponer de la paciencia y la disposición fundamental para “echarle ganas” y conseguir conseguir el status.
Algunas de las actividades que hace un desarrollador Semi Junior son:
- Conoce las etapas del desarrollo: análisis, desarrollo, prueba, implementación, documentación, etcétera.
- Configura un ambiente de desarrollo por sí mismo.
- Detecta errores de código y lo hace más eficiente.
- Crea y escribe pruebas unitarias simples.
A diferencia del junior, este tipo de desarrollador tiene experiencia que va desde los 2 hasta los 6 años, así como la capacidad de realizar tareas con menos supervisión.
¿Qué hace un desarrollador Senior?
Los desarrolladores senior poseen más nociones sobre desarrollo de programa que los junior o los de medio grado. De esta forma, los senior disponen de conocimientos especializados y avanzados en programación y son capaces de edificar sistemas complicados.
En específico, saben de patrones de diseño de programa, arquitectura, control de variantes, algoritmos, programación dirigida a objetos, refactorización, paradigmas de programación, etcétera.
Lo interesante es que los desarrolladores senior organizan sus conocimientos técnicos a modo de “T”: poseen una comprensión elemental de varias preguntas, sin embargo un conocimiento más profundo de tan únicamente una o numerosas zonas.
Esto contrasta con la reacción generalizada de los junior, que tienden a elegir la herramienta que más controlan, aunque sea peor opción.
Algunas de las actividades que hace un desarrollador Senior son:
- Comprende el alcance de un proyecto y plantea métodos para desarrollar, probar, implementar y mantener el proyecto.
- Asesora a desarrolladores junior y semi senior
- Hace revisiones periódicas de código.
- Mejora la calidad y estructura del código.
A este tipo de desarrollador y a diferencia de los anteriores, se le caracteriza por tener más de 6 años de experiencia y de ser capaz de supervisar y dirigir equipos.
¿Cómo sé que tipo de Desarrollador soy?
Ahora que ya sabes que es cada desarrollador, ¿En dónde te puedes identificar?
Aunque cabe aclarar que depende mucho de la organización en donde te encuentres, y que las definiciones varían, dado a que algunas empresas manejan diferentes perfiles tecnológicos para sus desarrolladores.
Y normalmente encontrarás desarrolladores Senior que para ti serán, semi junior.
Lo que diferencia uno de otro, son los años de experiencia, y la capacidad de poder resolver problemas de una forma autónoma o en equipo.
¿Qué consejo le tiene que dar un desarrollador Senior a un Junior, que va a conseguir su primer empleo?
Está es una respuesta de Alonso Isidoro Roman, quien estudió Ingeniería de software en Escuela Politécnica Cáceres en 2005.
“Aprende sobre Test Driven Design y Domain Driven Design. Procura tener fundamentos en diseño de bases de datos relacionales, SQL, patrones de diseño, programación orientada a objetos y programación funcional. Aprende un lenguaje que te permita practicar los dos estilos, java, o scala. Aprende programación concurrente, paralelismo, sistemas operativos, redes TCP/IP, recursividad.
Optativamente y creo que vendría bien, álgebra, cálculo, física de semiconductores y teoría de lenguajes formales.
No he dicho nada de aprender ningún framework de moda. He descrito las bases fundacionales.
Aprende sobre Junit para hacer tests unitarios cuando hagas TDD y comprender qué es el Given/When/Then.
Crea un perfil en GitHub, sube proyectos personales, si no los tienes aún, hazlos!.
Crea un blog personal, escribe allí acerca de dichos proyectos. Enlaza esos proyectos. Enlaza esas publicaciones en Twitter y Linkedin.
Aprende a usar google para cuando tengas dudas, probablemente acabarás en la web del mantenedor de la tecnología que estás usando, o en stackoverflow. Crea un perfil en stackoverflow, aprende a escribir buenas preguntas cuando tengas dudas, no pidas que te resuelvan un problema.
Aprende inglés, como mínimo debes ser capaz de leerlo, querrás entenderlo y hablarlo como mínimo para un nivel de comprensión con tus compañeros desarrolladores y querrás dominarlo para ir un paso más allá para defender lo que quieres hacer ante CEOs y CTOs de empresas extranjeras.
Para expresar tus preguntas en sitios como stackoverflow también querrás dominarlo. Mientras lo vas aprendiendo, no dudes en apoyarte en sitios como google.translate y deepl para escribir la pregunta en tu idioma nativo.
Es importante saber inglés, más importante es saber comunicar un problema de ingeniería. Practica, hay muchos recursos online. Ponte películas y series en ingles con subtítulos en inglés para educar el oido. Llegará un momento en el que podrás quitar los subtítulos.
Ten pasión, lee, comparte, sé educado, procura respetar a los demás para que gracias a todo lo demás te respeten. Se agradecido ante quienes te ayudan. Comprende que esto es una marathon, no un sprint.”
Fuentes: Profile – EuroInnova – Epitech