Los desarrolladores de pila completa tienen una racha curiosa de una milla de ancho. No solo quieren saber codificar; quieren saber cómo codificar todo , desde las interfaces orientadas al cliente hasta las bibliotecas de back-end. Si tiene talento para la programación y el hábito de seguir nuevos conceptos por agujeros de conejo, el desarrollo de pila completa podría ser el trabajo de sus sueños.
Pero, ¿cómo llegas allí? ¿Cuál es la trayectoria profesional de un desarrollador de pila completa y cómo debe recorrerla?
¡No es para preocuparse! En este artículo, cubriremos todo lo que necesitará saber para su viaje: qué habilidades fundamentales necesitará adquirir, cómo puede prepararse para su primer trabajo y qué puede esperar de su progresión profesional.
Pero antes de lanzarnos a los detalles esenciales, hablemos a grandes rasgos; ¿Qué es un desarrollador de pila completa?
Un desarrollador de pila completa es un profesional que, como su nombre lo indica, puede manejar una «pila completa» de tecnologías de desarrollo y dominar las disciplinas de codificación de front-end y back -end.
En conjunto, el front-end y el back-end abarcan la totalidad de una aplicación. El front-end, o del lado del cliente, se refiere a todos los aspectos de una aplicación que un usuario puede ver e interactuar. El back-end se refiere a los servidores, las bases de datos, la lógica comercial y el software patentado que respaldan la aplicación detrás de escena.
Piense en una aplicación como una casa. Un desarrollador front-end se desempeña como diseñador de interiores de la estructura; amueblan y decoran la casa, convirtiéndola en un lugar atractivo y funcional para visitar y usar. Por otro lado, un desarrollador de back-end es un contratista responsable de construir los cimientos, instalar la plomería y hacer funcionar la electricidad, todas las características esenciales que las personas en la casa normalmente darían por sentado.
Un desarrollador completo podría construir y amueblar la casa en su totalidad desde cero. Tienen una comprensión integral de los principios arquitectónicos de front-end y back-end y dominan varios lenguajes de programación, incluidos los elementos básicos de front-end como HTML, CSS y JavaScript, así como back-end standby como Python, Java y R.
Su amplio conocimiento interdisciplinario los hace invaluables; Los desarrolladores de pila completa no solo pueden cambiar fácilmente entre tareas de front-end y back-end, sino que también están bien posicionados para tener una visión holística del desarrollo de una aplicación y unir sus partes dispares en un todo cohesivo.
Los desarrolladores de pila completa generalmente son responsables de las siguientes tareas:
- Apoyar los esfuerzos de desarrollo desde la conceptualización del proyecto hasta su lanzamiento
- Creación de prototipos y creación de aplicaciones y/o sitios web
- Diseño de interfaces front-end y experiencias de usuario.
- Realización de la administración de la base de datos y del servidor.
- Puesta a punto de proyectos siguiendo los comentarios de los usuarios
- Colaborar con otros desarrolladores, diseñadores de UX, ventas y liderazgo para mejorar y ejecutar proyectos.
El desarrollo de pila completa es una carrera popular y prometedora para aquellos en el campo del desarrollo de software. Actualmente, un 55 por ciento de los desarrolladores encuestados se identifican como profesionales de pila completa . Esta alta proporción no es sorprendente; Según el Informe de habilidades de desarrollador de 2020 de HackerRank , los desarrolladores de pila completa actualmente reinan como los profesionales más solicitados en su sector, con el desarrollo de back-end y la ciencia de datos en segundo y tercer lugar, respectivamente. Un 38 por ciento de los gerentes de contratación afirmaron que el desarrollo completo de la pila era el «rol número 1 para cumplir en 2020».
La profesión también está en camino de crecer: la Oficina de Estadísticas Laborales espera que los trabajos para desarrolladores web crezcan un 13 por ciento entre 2018 y 2028 . Esta expansión es significativamente más rápida que el cinco por ciento promedio anticipado para todas las demás profesiones.
No hay duda de que el puesto tiene potencial, o que podría proporcionar una carrera profesionalmente satisfactoria al profesional adecuado. Pero, como uno de esos profesionales, es posible que se pregunte: ¿qué debe hacer para comenzar a recorrer una carrera profesional de desarrollador de pila completa?
1. Primero, aprende las habilidades
Todos los desarrolladores de pila completa necesitarán tener un sólido conjunto de habilidades fundamentales si quieren calificar para un trabajo en el campo y, lo que es más importante, manejar las responsabilidades que se les asignan. Tenga en cuenta que las capacidades principales que se enumeran a continuación ofrecen un punto de partida, no una línea de llegada.
Según la investigación de HackerRank , los profesionales de full stack a menudo necesitan aprender más idiomas que otros desarrolladores; El 45 por ciento de los desarrolladores de pila completa encuestados en 2020 informaron que tuvieron que aprender un nuevo idioma en el último año.
Hay varias habilidades para priorizar al comienzo de una carrera profesional para un desarrollador de pila completa:
¿No sabes por dónde empezar? No se preocupe, hay algunas maneras de desarrollar un sólido conjunto de habilidades fundamentales. En términos generales, su elección de ruta educativa dependerá en gran medida de su situación, preferencias de aprendizaje y marco de tiempo preferido para mejorar sus habilidades.
¡Repasemos las opciones más populares!
Colega
Como era de esperar, un título de cuatro años es una de las rutas de aprendizaje más comunes para los desarrolladores. Según la Encuesta para desarrolladores de 2020 de Stack Overflow , tres cuartas partes de los desarrolladores profesionales encuestados han completado al menos el equivalente a una licenciatura.
Las carreras populares para estos estudiantes de pregrado incluyen :
- Informática, desarrollo informático o desarrollo de software (62,6 por ciento)
- Ingeniería civil, eléctrica o mecánica (9,3 por ciento)
- Sistemas de información, TI o administración de sistemas (7.9 por ciento)
Una educación universitaria suele ser la mejor ruta para aquellos que desean sumergirse de manera integral en la teoría y la práctica del desarrollo de software. Estos títulos de cuatro años también son bien recibidos por posibles empleadores y regularmente ofrecen oportunidades para la creación de redes profesionales y la creación de carteras.
Sin embargo, dado que los títulos universitarios convencionales exigen cuatro años de estudio a tiempo completo y una inversión financiera, esta ruta puede no ser adecuada para aquellos que desean mejorar sus habilidades rápidamente o con un presupuesto limitado.
Campamentos de entrenamiento
Un campo de entrenamiento de codificación es un curso intensivo basado en habilidades que permite a los aspirantes a profesionales adquirir habilidades comercializables en un entorno de aula dirigido por un instructor. Por lo general, estos programas concluyen en alrededor de tres a seis meses y ofrecen una variedad de opciones de medio tiempo, tiempo completo, virtuales y en persona. Los participantes exitosos de estos programas también tienden a ser bien considerados por los empleadores .
Los programas de campo de entrenamiento suelen ser más baratos que los programas universitarios. Sin embargo, el menor costo y el plazo más corto vienen con una compensación; Los estudiantes de campamentos de entrenamiento por lo general no tienen el amplio conocimiento teórico que tienen los graduados universitarios, y es posible que deban hacer más para establecer contactos y crear sus carpetas de forma independiente.
Autodidacta
En teoría, un aspirante a desarrollador no necesitaría asistir a un programa en persona para prepararse para una carrera profesional de desarrollador de pila completa. Es posible prepararse para una carrera en codificación de pila completa completamente a través de estudios independientes que consisten en cursos en línea, libros, tutoriales y otros medios.
Tome plataformas de aprendizaje en línea como freeCodeCamp , Khan Academy y Udemy como ejemplos. Todos ofrecen cursos autoguiados sobre los fundamentos de la codificación que permiten a los alumnos aprender a su propio ritmo y de acuerdo con sus propios intereses. Por lo general, estas clases son económicas y, a menudo, gratuitas. Sin embargo, estos cursos rara vez cuentan con el apoyo práctico de un instructor y, en el caso de plataformas agregadas como Udemy, no siempre brindan un nivel de calidad constante. Los estudiantes deben examinar minuciosamente todas las plataformas de aprendizaje en línea antes de inscribirse en un curso.
Vale la pena señalar que esta ruta exige un nivel muy alto de responsabilidad y automotivación. Si los estudiantes no son capaces de mantener sus propias narices en la piedra de afilar proverbial, es posible que su cronograma de mejora de habilidades se extienda por semanas, meses o incluso años . ¡Piense cuidadosamente en sus hábitos de aprendizaje antes de comprometerse con el estudio independiente!
2. Continúa practicando
Todos aquellos en una trayectoria profesional de desarrollador de pila completa, y especialmente aquellos que no están siguiendo un programa estructurado y formalizado con proyectos de clase regulares, deberán practicar sus habilidades antes de solicitar su primer trabajo. Hay varias maneras de lograr esto; ¡Sigue leyendo para descubrir cómo!
Construya su cartera
Si es un desarrollador de pila completa recién acuñado con grandes esperanzas y sin experiencia previa, necesitará una cartera.
Un portafolio es un cuerpo de trabajo que te representa; a menudo, un reclutador basará su primera impresión de usted y su conjunto de habilidades en lo que ve en su cartera. Tener uno es fundamental, especialmente si eres un aprendiz autodidacta que no tiene un título universitario o un certificado de finalización para garantizar tu competencia. Los empleadores no quieren tirar los dados con un candidato sin experiencia ni experiencia; quieren contratar a alguien que saben que puede manejar el trabajo que requiere el puesto.
¿Qué debe incluir su cartera ? En general, cualquier proyecto o trabajo que crea que demuestra su mejor trabajo o habilidades de codificación debe estar en exhibición. Para cada ejemplo, debe describir el proyecto, anotar lo que contribuyó al mismo, resaltar las tecnologías que utilizó e incluir un enlace al código, si es posible.
¡Tenga en cuenta los posibles conflictos de confidencialidad! Si su mejor proyecto está sujeto a un acuerdo de confidencialidad, no podrá compartirlo en una carpeta sin consentimiento. Es un inconveniente, sí, pero puede compensar la pérdida manteniendo algunos proyectos paralelos sobre los que tiene control total y puede compartir.
Una manera fácil de hacer esto es hacer que su cartera sea un proyecto paralelo sólido. Cree un sitio web funcional y bien diseñado que incluya su biografía, currículum y cualquier proyecto que sienta que demuestra sus capacidades.
Alternativamente, puede crear un perfil sólido en GitHub . GitHub es una popular plataforma de colaboración y control de versiones basada en la nube que permite a los desarrolladores contribuir con código a proyectos de código abierto.
Los empleadores pueden evaluar su cartera de GitHub para ver con qué frecuencia contribuye, la calidad de su código y los idiomas que ha demostrado dominar. Si bien técnicamente no es experiencia laboral, estar activo en GitHub mostrará su pasión y capacidad en la codificación de pila completa.
No importa la ruta que tome para crear su cartera, ¡asegúrese de mostrar sus habilidades!
Trabaja en Proyectos de Voluntariado
Es cierto que el trabajo voluntario puede no parecer un primer paso intuitivo si está buscando un empleo completo remunerado, pero hacerlo puede mejorar su currículum, brindarle la experiencia que tanto necesita y ayudar a una buena causa.
Innumerables organizaciones sin fines de lucro necesitan buenos codificadores, pero no tienen el presupuesto para contratar a un codificador a tiempo completo o parcial. Eres un buen programador que necesita ganar experiencia antes de aventurarse en el grupo de trabajo (remunerado). ¡Tus intereses están alineados! Ofrecer su tiempo y conocimiento técnico como voluntario beneficiará a todos los involucrados.
Entonces, ¿cómo empezar? La forma más fácil podría ser acercarte a una causa que te apasione y ofrecer tus servicios. Sin embargo, si las causas por las que gravita no tienen necesidades de codificación inmediatas, también puede registrarse en plataformas como Code for Fun y Donate: Code , que conectan a los desarrolladores con mentalidad comunitaria con causas sin fines de lucro. Comience a mirar a su alrededor: ¡nunca sabe qué oportunidades puede encontrar!
Tome algunos conciertos pequeños
¿No quieres correr antes de empezar a caminar? Es comprensible tomar precauciones.
Una trayectoria profesional para un desarrollador de pila completa requiere experiencia, pero si no se siente lo suficientemente preparado para postularse para puestos de tiempo completo, intente asumir algunos proyectos independientes más pequeños. Estos trabajos únicos lo ayudarán a ganar confianza, aumentar sus habilidades y agregar a su cartera.
Si desea intentar buscar algunos proyectos más pequeños, intente preguntar en sus círculos de amigos y familiares para ver si alguien que conoce tiene una necesidad de codificación inmediata. Si no surgen oportunidades, puede buscar ofertas de trabajo a corto plazo en plataformas independientes como Upwork .
Recuerda, tu propósito aquí es ganar experiencia, no convertirte en un trabajador independiente a tiempo completo; no se subestime, pero no se estrese demasiado si se encuentra en uno o dos proyectos que pagan por debajo de su tarifa preferida. Una vez que su cartera reforzada lo ayude a conseguir un puesto de tiempo completo, su salario será más estable y, con suerte, reconocerá sus habilidades.
3. Encuentre un trabajo de desarrollo de pila completa
Una vez que haya desarrollado su conjunto de habilidades fundamentales y adquirido algo de experiencia, puede comenzar a solicitar trabajos de nivel de entrada, pero ¿para qué se inscribirá exactamente?
En términos generales, los desarrolladores de pila completa de nivel de entrada son responsables de construir estructuras de front-end y back-end y colaborar con otros profesionales para diseñar, codificar, probar y refinar aplicaciones innovadoras. También pueden tener la tarea de mantener y trabajar con bases de datos, sistemas operativos y marcos de interfaz de usuario. Por encima de todo, los desarrolladores full stack de nivel de entrada deben ser jugadores de equipo de mente abierta que estén dispuestos a aprender en el trabajo y enfrentar nuevos desafíos a medida que se presenten.
¿No estás seguro de cómo conseguir el trabajo? Su primer paso debe ser actualizar su currículum, pulir su cartera y comenzar a estudiar para su entrevista de codificación. Recuerde, muchas conversaciones de contratación incluyen secciones prácticas de codificación, ¡así que prepárese para programar a pedido!
Recursos adicionales:
- Prepárese para entrevistas técnicas — LeetCode
- Cómo progresar mientras estudias para las entrevistas de programación — freeCodeCamp
- 21 trucos psicológicos que te ayudarán a triunfar en una entrevista de trabajo — The Ladders
4. Progreso a una posición senior
Una vez que haya pasado de tres a cinco años en un puesto junior, es posible que esté listo para ascender a un puesto sénior de desarrollo completo .
Los desarrolladores sénior deben ser capaces de construir y administrar la amplitud de la infraestructura de una empresa. Deben tener una comprensión profunda de la gestión de bases de datos y el diseño arquitectónico, así como cierta familiaridad con el trabajo de experiencia del usuario.
Dado que estos profesionales también suelen tener la tarea de liderar un equipo de desarrolladores junior, los profesionales senior deben tener habilidades de liderazgo bien desarrolladas y ser capaces de delegar estratégicamente.
5. Avance a un nivel de director
Después de pasar varios años en un puesto de alto nivel, es posible que tenga la oportunidad de asumir un puesto de director .
Una nota a tener en cuenta a medida que avanza en este avance: si bien los directores aún dedican parte de su tiempo a codificar, a menudo dedican más tiempo a abordar problemas generales y abordar sus responsabilidades gerenciales. Si desea asumir este rol, debe hacer un esfuerzo para reforzar sus habilidades de liderazgo y comunicación interpersonal.
En su trabajo diario, los directores son responsables de desarrollar y administrar aplicaciones en las pilas técnicas de front-end y back-end. Brindan liderazgo técnico y visión sobre proyectos en curso, contribuyen a las sesiones de lluvia de ideas sobre conceptos, crean cronogramas de desarrollo de software y abordan todas las asignaciones de presupuesto y recursos.
Los directores también juegan un papel crucial en la gestión y el desarrollo del personal, brindando tutoría y asegurando que sus equipos sean lo más eficientes y cohesionados posible.
6. Lograr un rol de CTO
Si se desempeña bien en un rol de nivel de director durante muchos años, puede sentirse preparado para buscar un rol de CTO. Un CTO, o director técnico , es responsable de proporcionar orientación y liderazgo técnico general para una empresa.
A diferencia de los otros mencionados aquí, este rol no tendrá muchas responsabilidades de codificación diarias, ya que es una posición de liderazgo de nivel ejecutivo. Sin embargo, tendrá una plétora de obligaciones gerenciales; Los CTO supervisan todos los aspectos de la estrategia técnica de una empresa y son responsables de comunicar esa estrategia a los socios e inversores. Estos profesionales también utilizan los comentarios de las partes interesadas para mejorar su enfoque y supervisar las principales iniciativas centradas en la tecnología.
En general, los CTO deben tener una gran cantidad de conocimientos técnicos y comerciales, excelentes habilidades de comunicación, una sólida comprensión de los principios y prioridades comerciales, y una capacidad comprobada para realizar análisis e investigaciones tecnológicas.