JavaRush /Blog Java /Random-ES /¿Quién es quién en TI? ¿Qué hacen los PM, los desarrollad...

¿Quién es quién en TI? ¿Qué hacen los PM, los desarrolladores frontend y backend y el control de calidad?

Publicado en el grupo Random-ES
¡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. ¿Quién es quién en TI?  ¿Qué hacen los PM, los desarrolladores frontend y backend y el control de calidad? - 1Si 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 ¿Quién es quién en TI?  ¿Qué hacen los PM, los desarrolladores frontend y backend y el control de calidad? - 2tarea 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.
Habilidades requeridas:
  • 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.
Según dou, en Kiev el salario medio de un primer ministro principiante es de 700 dólares . El rango salarial en Kiev para estos especialistas es de 1200 a 4500 dólares : todo depende de la experiencia del especialista y de la empresa. En quién puedes convertirte:
  • 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))
Si le interesan las personas, le gusta comunicarse con ellas y está dispuesto a asumir la responsabilidad de un equipo (o incluso más) de desarrolladores, entonces esta profesión es claramente para usted.

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 . ¿Quién es quién en TI?  ¿Qué hacen los PM, los desarrolladores frontend y backend y el control de calidad? - 3Los 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).
Los desarrolladores frontend son programadores que han estudiado diseño en HTML , CSS , JavaScript y han comenzado a estudiar un marco específico, por ejemplo, Angular o React. A continuación, veamos las habilidades específicas que son necesarias para convertirse en desarrollador frontend y tomemos la dirección Angular como ejemplo . Habilidades requeridas:
  • 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 .
Según dou, en Kiev el salario medio de un especialista principiante en este perfil es de 500 dólares . El precio medio general en Kiev para estos especialistas es de 1.800-2.700 dólares . Bueno, las cifras más altas pueden llegar incluso a casi 5.000 dólares . Pero hay que entender que se trata de casos aislados y entre especialistas altamente cualificados. Si te gusta trabajar con la parte técnica, pero para que no te vuelva loco por su complejidad, y al mismo tiempo tener una profesión en una dirección popular, esta especialidad te puede interesar. En quién puedes convertirte:
  • 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. ¿Quién es quién en TI?  ¿Qué hacen los PM, los desarrolladores frontend y backend y el control de calidad? - 4Los 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.
Al igual que Frontend , los desarrolladores de Backend tienen diferentes direcciones, es decir, un lenguaje de desarrollo específico. Pero, por supuesto, tomaremos como ejemplo el lenguaje de desarrollo Java. Entonces, ¿cuáles son las habilidades necesarias para un desarrollador de Java?
  • 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 .
Para los desarrolladores de Frontend y Backend , no dije nada sobre las altas habilidades de comunicación. En todas partes escriben que para estos especialistas es importante una gran capacidad de comunicación, pero esto no es del todo cierto. Sí, es importante comunicarse adecuadamente, pero esto es importante en cualquier dirección y en cualquier otra profesión. Pero si lo comparamos con un PM o un reclutador, cuyo trabajo consiste exclusivamente en la comunicación, entonces para un desarrollador tener habilidades blandas súper desarrolladas (habilidades de comunicación) no es tan importante. Después de todo, trabajan en código todo el día y, por ejemplo, una vez al día participan en algún tipo de reunión, como una reunión diaria, en la que dicen literalmente un par de frases: qué hicieron, qué están haciendo, lo que harán. Bueno, a veces llaman a sus compañeros para discutir algunas cuestiones técnicas. Por lo tanto, esta profesión es ideal para los introvertidos, personas que aman la privacidad. Puede recibir su tarea y trabajar en ella sin perder muchas horas en llamadas y discusiones poco claras. También escribí que el nivel de inglés requerido es Intermedio , ya que por un lado no hay mucha comunicación con el cliente, pero al mismo tiempo es necesario poder leer/escribir en inglés (documentación, Jira ) y, posiblemente, comunicarse con los desarrolladores del lado del cliente. Los clientes pueden hacer la vista gorda ante el inglés torcido de los desarrolladores: lo principal es que son fuertes en el desarrollo. Las oportunidades de crecimiento para los desarrolladores Backend son las mismas que para los desarrolladores Frontend:
  • 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.
Los salarios de los desarrolladores Backend son muy agradables. Por ejemplo, un desarrollador Java principiante en Kiev puede recibir en promedio unos 600 dólares . El salario medio en Kiev de estos especialistas varía entre 1.950 y 2.850 dólares . Bueno, para los desarrolladores fuertes de nivel senior, el salario puede alcanzar los $ 5000 o más. Pero debes entender que esto se puede lograr con una enorme experiencia a tus espaldas y el más alto nivel de habilidades. En la escuela siempre fui bueno en matemáticas y física, porque me daban ladrillos en forma de fórmulas, y para resolver algunos problemas tenía que construir una estructura lógica a partir de estos ladrillos. Por eso me gusta el desarrollo: el mismo principio, solo que hay muchos más ladrillos lógicos y las estructuras deben construirse de manera más compleja. Si no busca caminos fáciles y quiere desafíos reales, no dude en elegir esta dirección.

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. ¿Quién es quién en TI?  ¿Qué hacen los PM, los desarrolladores frontend y backend y el control de calidad? - 5Normalmente, 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.
Actualmente, las pruebas van de la mano con el desarrollo de software y desempeñan un papel importante en la creación de cualquier producto de TI de alta calidad. Y así es, porque además de la funcionalidad escrita correctamente, debemos asegurarnos de que funcione correctamente y no contenga más de 100.500 errores. Aquí es donde las pruebas vienen al rescate, sirviendo como una especie de control de calidad para que sólo un producto lo más estilizado y pulido posible pueda pasarlo. Las responsabilidades del Manual de Calidad incluyen:
  • 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.
Habilidades necesarias para convertirse en un manual de control de calidad :
  • 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.
Una oportunidad directa para el crecimiento de un especialista de este tipo es QA Automation . Para hacer esto necesitarás aprender un poco. También puedes convertirte en :
  • 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 .
En Kiev, el salario medio de un manual de control de calidad para un novato es de 400 dólares . Bueno, en promedio, los salarios de estos especialistas están en el rango de $1250-1650 . Para los especialistas senior más experimentados, los salarios pueden alcanzar los 3.000 dólares o más. Esta es una de las formas más fáciles de "ingresar a TI": puede comenzar con esta especialidad y luego pasar a algo más complejo o alcanzar la cima del dominio en esta área.

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. ¿Quién es quién en TI?  ¿Qué hacen los PM, los desarrolladores frontend y backend y el control de calidad? - 6Normalmente, 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.
El principal "truco" de las pruebas de automatización es que las pruebas automatizadas le permiten probar el software mucho más rápido, con más frecuencia y, en consecuencia, acelerar la entrega del producto. En primer lugar, un trabajo de automatización de pruebas bien realizado permitirá que las pruebas se ejecuten de forma rápida y predecible. Esto, a su vez, evitará situaciones en las que la persona que realiza los pasos manualmente podría omitir un paso o ingresar un valor que no está destinado a la prueba. En segundo lugar, puede incluir pruebas automatizadas en el proceso de compilación y ejecutarlas cada vez que se complete la compilación. Esto se puede hacer usando la herramienta CI . En tercer lugar, cuando los desarrolladores cambian alguna funcionalidad en una aplicación, esto puede afectar una parte completamente diferente del sistema y también cambiar su comportamiento. Pero cuando ejecutamos pruebas automatizadas, los cambios en el comportamiento de cualquier parte del sistema se harán visibles de inmediato; este es un seguro adicional en caso de que creemos tres nuevos al corregir un error. Habilidades requeridas:
  • 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.
Una oportunidad de crecimiento directo para AQA es convertirse en desarrollador del lenguaje de programación en el que ya escribe pruebas. También puedes convertirte en:
  • líder de control de calidad ;
  • volver a capacitarse y pasar a otra especialidad.
El salario medio de un principiante en QA Automation en Kiev es de 600 dólares . El promedio para esta área es de $ 1700 a $ 2500 , y para los especialistas de nivel superior, los salarios pueden alcanzar los $ 4000 o más. Si tienes una mente crítica, quieres escribir código, pero no tienes “desafíos” que a veces puedan ponerte de los nervios y quieres un trabajo más relajado, deberías aprender más sobre esta profesión. ¿Quién es quién en TI?  ¿Qué hacen los PM, los desarrolladores frontend y backend y el control de calidad? - 7En todas las especialidades, mencioné el inglés como una habilidad requerida. Pero si no lo tienes muy bien, no te enfades. Esta no es una oración. Hay bastantes empresas de productos rusas y ucranianas que contratan especialistas sin los conocimientos necesarios de inglés, ya que la gente no necesita comunicarse con clientes extranjeros, sino sólo dentro del equipo. Por ejemplo, podría ser el departamento de TI de un banco o de un operador de telecomunicaciones. Para que puedas encontrar trabajo sin hablar un idioma, si tienes el deseo. Y hoy eso es todo para mí...¿Quién es quién en TI?  ¿Qué hacen los PM, los desarrolladores frontend y backend y el control de calidad? - 8
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION