¿Cuáles son los caminos del desarrollador de software? La respuesta aquí

Luego de haber terminado tus cursos, tutoriales, salir del instituto o terminar la universidad empezarás a buscar trabajo, al encontrar trabajo como desarrollador tu puesto será el de desarrollador junior o ingeniero junior, el nombre puede variar, pero el significado del puesto no:

“Te falta mucho por aprender”


Antes de continuar, puedes leer este post o ver y escuchar esta información en formato de video en nuestro canal de Youtube, te dejamos el link por si prefieres este formato. 😃 👍


¡Hola mundo, y bienvenidos a este post!

Existen múltiples peldaños que puedes subir en tu vida como ingeniero de software, además de poder optar por distintas especialidades. Aunque estos caminos que veremos a continuación por supuesto que no es necesario que lo tengan todas las empresas, pero te servirá como una guía para saber qué caminos debes seguir y qué especialidades tomar.

En este post veremos los distintos pasos a seguir y también las distintas ramas por las que puedes optar. Esto tomando en consideración exclusivamente una empresa acorde con estructuras ágiles. Importante mencionarles que no todas las empresas hacen la diferencia entre ingeniero frontend o ingeniero backend.

Roles como ingenieros

Por supuesto que existen muchas interpretaciones de estos roles, por lo que intentaré darles a ustedes las que he visto que se repiten más, aunque podría ser que ustedes se topen con definiciones completamente distintas

Ingeniero de software Junior

Este profesional por lo general es el recién salido de la universidad, el que terminó cursos de desarrollo y armó su portafolio o el que sencillamente está teniendo su primera experiencia laboral como desarrollador.

Es alguien que necesita una supervisión constante y crea código que puede ser ingenuo, hay que preocuparse que su código se encuentre bien probado y que no tenga problemas que puedan romper los ambientes de pruebas o producción.

Un buen desarrollador junior se diferencia de uno malo por la motivación que tiene este, por aprender y adquirir conocimientos y no por la cantidad de código. Un desarrollador junior perfectamente podría producir mucho código, pero lo importante es verificar los puntos anteriores:

  • Que no contenga errores
  • Y que no tenga potenciales problemas

Ingeniero de software intermediate

También hablamos de este profesional anteriormente y puede ser que muchos se sientan más identificados con este que cualquier otro.

Es un profesional que escribe mucho código, contiene pocos errores y también conoce de distintos patrones que lo ayudan a entregar su trabajo.

Sabe de arquitectura, tiene sus preferencias en cuanto a patrones y conoce cómo funcionan las empresas no solo en lo técnico, sino también en lo social.

Ingeniero de software senior

Este desarrollador programa bastante menos que los dos anteriores, se dedica más a revisar el código de otros desarrolladores y sugerir cambios para prevenir cosas como:

  • Deuda técnica
  • Problemas de rendimiento
  • Potenciales errores de código o bugs

Tienen como principal objetivo mentorear a otros desarrolladores, proponer ideas a su equipo, asegurar que se cumplan los estándares de la compañía, que los requerimientos se encuentren bien documentados por los otros ingenieros.

Su objetivo es ayudar a que se cumplan los lineamientos de la empresa en el proceso de la ingeniería de software.

Después tenemos dos ramas, tenemos la de los contribuidores individuales y administración. Y te quiero contar, que los contribuidores individuales son personas que no tienen gente a cargo, por lo general se utiliza para gente que es muy buena en el mundo del desarrollo, pero a esta no le gusta la administración o incluso peor, tiene un muy mal rendimiento en la parte administrativa de la empresa. Es por esto que las empresas muchas veces abren nuevos puestos para estas personas con gran talento y que desean mantener en su equipo. Creando así muchos de los puestos que vienen a continuación, pero te comento también, que en otras empresas podría ser que tengan gente a cargo, después de todo, las empresas pueden darle los nombres que quieran a los cargos que existan en su empresa.

Contribuidores individuales:

Arquitecto de software

Un arquitecto de software es un desarrollador con la capacidad de poder diseñar sistemas informáticos complejos a lo largo de uno o más equipos.

Tienen como tarea documentar las soluciones que crean, compartirlas con el equipo para que puedan aprender y también opinar sobre los sistemas diseñados, dividen la solución diseñada en tareas para que los desarrolladores puedan tomar.

Utilizan todas las herramientas de diagramas que tengan a su alcance para poder explicar lo que piensan sobre cómo se debe implementar una solución en particular. Puedes pensar en el arquitecto como alguien que recibe los requerimientos de los grandes proyectos y este después los divide entre todos los integrantes del equipo, dividiendo el proyecto para que esté lo tomen más equipos o desarrolladores individuales.

Staff engineer

Este profesional puede cambiar de nombre dependiendo de la empresa en la que te encuentres trabajando, es muy similar en cuanto al arquitecto de software, pero este se caracteriza por tener un conocimiento profundo de la aplicación existente y los distintos procesos que esta tiene.

Este profesional lleva mucho tiempo trabajando en la compañía, puede participar de los diseños de arquitectura de ingenieros o arquitectos con menos experiencia y tiene un conocimiento transversal con el que puede ayudar a múltiples equipos de una organización.

En otras palabras, el staff engineer también puede ser llamado arquitecto en otras empresas.

Principal engineer

Principal engineer es un profesional con conocimiento técnico absoluto de como opera una solución de software de una empresa. Tiene conocimientos para diseñar soluciones de software completamente transversal a la compañía y puede asesorar a todos los equipos de desarrollo que esta tenga.

Este profesional lleva mucho tiempo en la empresa y por lo general es el cargo técnico más alto al que se puede aspirar.

Estos cargos que te menciono no es necesario que los implementen todas las empresas, perfectamente podría ser que trabajes en una donde todos sean «ingenieros» y que los sueldos se negocien independientemente. Pero al menos acá y en otras empresas en las que he trabajado, es sumamente normal tener estos tipos de cargos y, el objetivo, es que los contribuidores individuales, cuando son muy talentosos, se les asignan estos cargos para mantenerlos y, por supuesto, aumentarles el sueldo, incluso sueldos comparables a los directorios de las empresas.

Administración:

Tech Lead

Tech lead, este es el primer salto que toma un ingeniero de software senior cuando decide pasar a un cargo más administrativo en lugar de técnico.

Él estará a cargo de un equipo de desarrollo. Él tomará los proyectos que tiene planificada la empresa, por lo general en trimestres, aunque, por supuesto, que esto puede variar y los repartirá en los distintos miembros de un equipo.

Tiene también el rol de asesorar al resto del equipo, tomar decisiones cuando el equipo llega a un conflicto que no puede resolverse y de vez en cuando, el tech lead también puede ponerse audífonos para resolver problemas difíciles.

Gerente

Gerente de área o mánager, acá te alejas completamente del código y empiezas a gestionar proyectos y a planificar la visión a largo plazo de la empresa. Este cargo tiene que ver completamente con gestión y te alejas de la parte técnica.

Director

Este último ya es autoexplicativo, pero lo mencionaremos en pocas palabras, el director forma parte del directorio de una empresa y decide en conjunto con otros directores la visión de largo plazo de la empresa, cómo qué proyectos van a realizarse durante el año y también le hacen seguimiento en conjunto con los gerentes de área o managers.

Acá ya vimos un listado de los distintos cargos a los que puede optar un desarrollador a lo largo de su vida dentro de una empresa, por lo que, si estás recién comenzando, te recomiendo que obviamente comiences como junior y te postules a las empresas como tal, a medida que vayas avanzando en tu carrera profesional, podrás ir pasando al siguiente nivel hasta que te toque decidir si te dedicas a la administración o a ser un contribuidor individual.


Pero antes de que cierres este post, que este listado no te limite, la mayoría de nosotros entramos a trabajar, porque necesitamos dinero y mezclamos nuestra pasión, que es la informática con nuestro trabajo, pero por supuesto que existen muchas otras formas de ganar dinero, no solo con trabajo se gana dinero, pero, ¿qué otras formas existen para ganar dinero siendo programador?, te dejamos el link a la respuesta en el post: 10 formas de ganar dinero con la programación

Y esto ha sido todo de este post, si te ha encantado, ¡golpea al botón de me gusta!, dejanos un comentario, y visita nuestra Academia Hola Mundo, donde encontrarás todos los cursos para formarte como un desarrollador o desarrolladora.

Y para no perderte nada, no olvides suscribirte a este blog, seguirnos en todas las redes como Youtube, Twitter e Instagram, y por último, te invitamos a escuchar nuestra música «Hola Beats«, diseñada para ayudarte a concentrarte y acompañarte en tu aprendizaje o trabajo, la puedes encontrar en Spotify, Apple Music, Amazon Music, Youtube Music y Deezer.

¡Hasta la próxima!, y chao mundo

Comments (1)

Deja un comentario

Press ESC to close

Descubre más desde Hola Mundo

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo