¡Ey! Todos buscamos aquí porque estábamos interesados en trabajar en el campo de TI. Pero en lugar de hurgar en la primera especialidad de TI que encuentre, ¿quizás valga la pena echar un vistazo a la lista de posibles áreas en una empresa de TI? Esta es la segunda parte de mi breve reseña. En el primero , analizamos especialidades como Reclutador, Recursos Humanos, Administrador de sistemas, DBA, DevOps. Hoy veremos las especialidades que son la “columna vertebral” de cualquier equipo y, en consecuencia, de un proyecto. Si me equivoco en algo en alguna parte, no me regañes demasiado, más bien corrígeme en los comentarios: miro todo desde el lado de un desarrollador de Java y es posible que simplemente no conozca los matices de todas las especialidades.
6. PM - Gerente de proyecto
El trabajo de un director de proyectos es planificar, organizar y gestionar de manera competente proyectos técnicos y mejorar la comunicación entre los miembros del equipo para garantizar que el trabajo se realice sin problemas y de la manera más eficiente posible. Estos especialistas deben conocer las necesidades de los clientes y los objetivos que persiguen, y coordinar al máximo las acciones de los empleados para llevar el proyecto a su conclusión lógica y positiva. Positivo, porque los proyectos no siempre se pueden completar con éxito por varias razones: interrupción de la financiación, insatisfacción con el trabajo por parte del cliente, etc.... La tarea principal del PM es coordinar a un grupo de empleados para resolver problemas técnicos, porque los desarrolladores no siempre son personas muy sociables y no siempre pueden comunicarse de manera competente entre sí, y esto, a su vez, sólo puede jugar en contra del proyecto. Bueno, o, por ejemplo, el desarrollador se quedó atascado en algo: puede estar sentado durante mucho tiempo y no saber cómo solucionar algún problema. A todos no nos gusta admitir que no sabemos o no podemos hacer algo, y a los desarrolladores aún más. Aquí es donde llega al rescate PM , que le ayudará a encontrar una persona a la que pueda acudir para obtener información adicional, o que ya se haya encontrado con algo similar. Las responsabilidades del PM incluyen:- establecer objetivos generales del proyecto;
- desarrollar planes para lograr estos objetivos;
- mantener los plazos del proyecto y los informes de estado actual;
- gestión de recursos del proyecto (empleados y equipos técnicos);
- mejorar la coordinación de la interacción entre los miembros del equipo del proyecto;
- seguimiento de la efectividad del proyecto y cumplimiento del cronograma planificado;
- realizar evaluaciones de riesgos para proyectos;
- Organizar diversas reuniones para discutir objetivos, avances actuales, aspectos positivos y negativos del proyecto.
- Inglés Intermedio Alto y superior, ya que el PM se comunica con el cliente en nombre del equipo;
- conocimientos técnicos amplios, pero no muy profundos, para que puedas entender quién hace qué, cómo se realiza el trabajo en general, sin profundizar demasiado;
- habilidades en la gestión de proyectos y equipos involucrados en ellos;
- fuertes habilidades de comunicación, ya que el trabajo de un PM consiste principalmente en comunicaciones con los miembros del equipo y la gerencia;
- Habilidades de correspondencia desarrolladas. Por ejemplo, a menudo es necesario enviar cartas al correo electrónico del cliente en nombre de un equipo o empresa, y nadie apreciará una carta escrita incorrectamente o con errores;
- una mente analítica que será útil para resolver problemas que surjan mientras se trabaja en un proyecto;
- habilidades de gestión del tiempo, cuyo uso le permitirá mantener los proyectos dentro del cronograma y el presupuesto (después de todo, tiempo = dinero);
- Habilidades de planificación de recursos y tareas.
- el gerente de entrega ( DM ) es una continuación directa del PM -a, se ubica inmediatamente por encima de un grupo de PM y coordina sus proyectos en un nivel superior;
- gerente de programa : coordina varios proyectos interrelacionados, pero yo mismo no entiendo realmente la diferencia con el DM;
- director técnico ( CTO ) - director técnico responsable de desarrollar productos y mejorar sus procesos de creación;
- director ejecutivo ( CEO ) - director ejecutivo;
- gerente de cuentas ( AM ) - gerente de servicio al cliente;
- volver a capacitarse y pasar a otra especialidad))
7. Desarrollador front-end
Un desarrollador frontend es un desarrollador responsable de implementar la parte visual de una aplicación que los usuarios ven e interactúan en una aplicación web. Como regla general, estos especialistas colaboran con los desarrolladores Backend que son responsables de la parte lógica (servidor) de la aplicación, que continúa la parte visual de la aplicación creada por los desarrolladores Frontend . Los desarrolladores frontend, al igual que los desarrolladores backend, son la columna vertebral del desarrollo de cualquier proyecto. Quienes apoyan proyectos. Después de todo, cualquiera que sea el negocio, depende de trabajadores comunes y corrientes, por así decirlo. Entonces los desarrolladores actúan como muy trabajadores. Como regla general, hay muchos más que representantes de otras especialidades y son más necesarios en cualquier proyecto. Las responsabilidades del desarrollador frontend incluyen:- desarrollo de nuevas funcionalidades y mejora de las antiguas;
- refactorizar el código para mejorar el rendimiento, que a veces puede verse muy afectado; legibilidad, para que otros desarrolladores puedan comprender rápidamente el código y su lógica; extensibilidad, para que en el futuro sea más fácil implementar nuevas funciones reutilizando partes de las antiguas;
- revisión (revisión) del código enviado al servidor. Por ejemplo, un desarrollador escribió el código, otro lo revisa y puede devolvérselo al primero con comentarios sobre lo que debe corregirse;
- comunicación con clientes y miembros del equipo, tanto desarrolladores Frontend como Backend ;
- implementación técnica del diseño gráfico UI/UX compilado por el diseñador;
- seguimiento del rendimiento de las aplicaciones;
- corregir errores (errores).
- Nivel de inglés - Intermedio ;
- Comprensión de todo el proceso de desarrollo web (diseño, desarrollo e implementación);
- trabajando con Angular 5+ ;
- conocimientos de JavaScript , TypeScript , RxJS , Sass , webpack ;
- habilidades de diseño ( HTML , CSS );
- habilidades para trabajar con Git ;
- comprender patrones de diseño;
- Buen conocimiento de Linux .
- líder tecnológico : especialista técnico (gurú) en este campo;
- líder de equipo - líder del equipo de desarrollo (comandante de campo). Desde aquí puede convertirse en una dirección gerencial, por ejemplo, CTO ;
- desarrollador full-stack : un desarrollador que posee las partes backend y frontend , es decir, necesita aprender el backend ;
- arquitecto de soluciones : un especialista que toma decisiones sobre la arquitectura del dispositivo interno y las interfaces externas del producto;
- consultor tecnológico - consultor técnico en alguna tecnología;
- volver a capacitarse y pasar a otra especialidad.
8.Desarrollador backend
Desarrolladores backend : crean y mejoran la parte del servidor responsable de la lógica empresarial de la aplicación, que se conecta con la parte visual (interfaz) de la aplicación (por ejemplo, a través de la API REST ). La combinación de la parte servidor de la aplicación ( Backend ) + la parte visual de la aplicación ( Frontend ) forma una aplicación web con la que interactúa el usuario final. Los desarrolladores de backend son responsables de crear, mantener, probar y depurar todo el backend. Por lo general, esto incluye la lógica central de la aplicación, la interacción con bases de datos, la interacción con varias API y otros procesos internos. Un especialista de este perfil, además de conocer la sintaxis de su lenguaje y frameworks básicos, debe tener conocimientos generales de bases de datos, en particular relacionales , poder escribir pruebas unitarias y de integración para su código, tener conocimientos del creador de aplicaciones. - Maven o Gradle , poder usar Git -ohm Las responsabilidades del desarrollador backend incluyen:- desarrollo de nuevas funciones;
- código de refactorización;
- revisar código de otros desarrolladores de Backend ;
- escribir documentación para ayudar a los nuevos desarrolladores backend ,
- quienes vengan al proyecto comprenderán rápidamente la lógica de la aplicación;
- corregir errores;
- pruebas de redacción (pruebas unitarias, de integración);
- comunicación con otros miembros del equipo.
- Nivel de inglés - Intermedio ;
- conocimiento de Java Core : la sintaxis del lenguaje Java y un conjunto de tecnologías básicas;
- comprensión de todo el proceso de desarrollo web;
- conocimiento del lenguaje SQL ;
- conocimiento de bases de datos relacionales, como PostgreSQL o MySQL ;
- habilidades para interactuar con una base de datos a través de JDBC , Hibernate ;
- conocimiento de los frameworks básicos de Spring (Spring Core, Spring Data, Spring Web) ;
- conocimiento de Git , Maven ;
- Habilidades en pruebas unitarias y de integración, por ejemplo usando JUnit y Mockito .
- líder tecnológico ;
- jefe de equipo ;
- desarrollador full-stack : necesitas aprender frontend ;
- arquitecto de soluciones ;
- consultor tecnológico ;
- volver a capacitarse y pasar a otra especialidad.
9.Manual de control de calidad
Manual Quality Assurance es un especialista que trabaja para asegurar la calidad del producto, cuyo objetivo es mejorar el propio proceso de desarrollo de la aplicación, analizar la documentación y, en base a ella, identificar errores e imprecisiones en el funcionamiento del producto. Normalmente, el aseguramiento de la calidad, que se aborda en el Manual de garantía de calidad , consta de:- realizar evaluaciones de riesgos;
- análisis de especificaciones y requisitos;
- generar ideas para mejorar la calidad del producto;
- elaboración de planes de prueba;
- análisis y documentación de los resultados de las pruebas obtenidas.
- estudiar requisitos, especificaciones y otra documentación;
- ver y verificar que el sistema y sus características técnicas cumplan con la especificación (lista de requisitos);
- desarrollar estrategias y planes de prueba eficaces;
- escribir scripts de prueba (casos de prueba), a partir de los cuales QA Automation crea pruebas automatizadas;
- ejecución manual de casos de prueba, análisis de resultados;
- en caso de fallas o inconsistencias durante las pruebas, es necesario elaborar un informe, crear tareas (crear errores) y enviarlas a los desarrolladores para que las mejoren;
- pruebas de regresión de productos;
- documentar las etapas de prueba;
- comunicación con los equipos de desarrollo sobre inconsistencias funcionales y errores.
- Nivel de inglés - Intermedio ;
- buena comprensión de las metodologías y prácticas de garantía de calidad de las aplicaciones;
- conocimiento de pruebas de regresión;
- capacidad para documentar errores;
- habilidades en revisión detallada de requisitos de software;
- orientación técnica básica;
- comprensión de JSON , XML ;
- conocimientos básicos de SQL ;
- habilidades para trabajar con herramientas para organizar la documentación de pruebas, por ejemplo - Testrail ;
- atención a los detalles;
- mentalidad crítica.
- Líder de control de calidad : el líder de control de calidad del equipo;
- volver a capacitarse y pasar a otra especialidad, por ejemplo, convertirse en desarrollador frontend o backend .
10. Automatización de control de calidad
QA Automation es un especialista en calidad de productos que utiliza diversas herramientas de software para crear pruebas basadas en scripts escritos personalmente o mediante un manual de control de calidad . QA Automation es algo así como el siguiente nivel después del QA Manual . Si QA Manual hace todo manualmente, entonces QA Automation utiliza algún tipo de lenguaje de programación para escribir pruebas que verifican el correcto funcionamiento de la funcionalidad de la aplicación. Estas pruebas generalmente se ejecutan automáticamente bajo ciertas condiciones: cuando se crea la aplicación, o todos los días en algún momento, etc. Normalmente, las responsabilidades de AQA incluyen :- estudiar requisitos, especificaciones y otra documentación;
- crear y configurar entornos de prueba para ejecutar scripts y casos de prueba;
- diseñar, crear y ejecutar automatización de casos de prueba (planes de prueba) utilizando Selenium de acuerdo con estándares y metodologías de garantía de calidad definidos;
- estudiar las pruebas manuales de la aplicación y hacer sugerencias sobre la posibilidad de automatización;
- mantener casos de prueba de automatización actualizados;
- redacción de documentación;
- mantener el nivel requerido de cobertura de pruebas;
- si es necesario, ayude con las pruebas manuales. Puede ejecutar manualmente casos de prueba y scripts para productos en desarrollo utilizando herramientas de gestión de pruebas;
- participación en el desarrollo, concretamente en la administración del proceso de control de calidad;
- comunicación con los equipos de desarrollo sobre inconsistencias funcionales y errores.
- Nivel de inglés - Intermedio ;
- buena comprensión de las metodologías y prácticas de garantía de calidad;
- excelente conocimiento de la sintaxis de un idioma (por ejemplo, Java o JavaScript ), porque las pruebas deben escribirse en algo;
- escribir pruebas automatizadas usando Selenium ;
- familiaridad con CI/CD ;
- capacidad para trabajar con Git ;
- atención a los detalles;
- mentalidad crítica.
- líder de control de calidad ;
- volver a capacitarse y pasar a otra especialidad.
GO TO FULL VERSION