¿Cuáles son las categorías de trabajos de ingeniería de software?

Tienes diferentes formas de segregación.

Es mejor seleccionar un método de segregación, si está buscando el “rol”, realmente depende de la empresa y de cómo quieren dividirlo.

No existe una segregación de trabajos “general” ya que cada empresa tiene varios niveles de especialización. Por ejemplo, en Amazon, técnicamente podría estar en un equipo que solo se enfoca en el procesamiento de pagos.

Algunos de estos enfoques están más cerca de los administradores del sistema o las tareas de ingeniería que no son de software, como DevOps. En las empresas más pequeñas, un programador puede asumir estas tareas, pero generalmente se deja a una SA.

Lo más básico de “Clustering”

Desarrollador de software – Code Monkey guy que generalmente es de nivel medio de entrada.

Desarrollador Senior: generalmente brinda orientación y realiza revisiones de código, a menudo puede realizar la administración como un líder técnico del equipo.

Arquitecto: un desarrollador senior que diseña el panorama del software y define las reglas por las cuales trabajan los desarrolladores.

Diseñador front-end: algunos lugares tendrán diseñadores en el front-end para crear una interfaz de usuario más limpia y nítida, a menudo también son fuertes en tecnología “front-end” y pueden o no ser programadores.

Roles de apoyo comunes:

DevOps: SA o enlace para SA para determinar las necesidades del sistema de desarrollo y las necesidades de implementación de producción.

QA: por lo general, un equipo de soporte para garantizar la funcionalidad del software

Gerentes de producto / proyecto: a menudo (generalmente preferible) personas que no son desarrolladores que son buenos para traducir el discurso de las personas normales en el lenguaje “técnico”. Además, pueden ejecutar interferencias y mantener a los usuarios comerciales informados sin interrumpir al equipo de desarrollo. Esto a veces (desafortunadamente) se aplica a los miembros del equipo senior.

DBA: esto a menudo se incluye en el equipo de desarrollo, y fuera de algunas necesidades serias de la base de datos no es un gran problema. Sin embargo, las tiendas más grandes tienen un DBA o incluso un equipo de DBA.

Document Writer: estos son muy raros. Si bien creo que un gerente de producto puede asumir fácilmente este rol, a menudo el equipo de desarrollo se hace responsable de la documentación. Sin embargo, hay algunas compañías que se dan cuenta de que los desarrolladores son muy malos para documentar y, en cambio, contratan a un escritor. (Si no cree que leí alguna documentación de Sun Engineers en el pasado, es sorprendente que alguien pueda descubrir cómo programar Java).

Algunas compañías tendrán otras funciones, como ingeniero de implementación, administradores de versiones y equipos de construcción. Sin embargo, creo que esta es una lista bastante completa.

Supongamos rápidamente que está hablando de una organización más grande, ya que las pequeñas tienden a evitar títulos, categorías o cualquier cosa que sugiera poner a las personas en un balde. A pesar de nuestra dependencia de mezclar cosas en cubos, ¡nos negamos a tener otro valor bajo alguna clave genérica!

Una compañía de software más grande (alrededor de 2016) tendrá la mayoría de estas funciones, las he dividido en cubos (jadeo). Disculpas por ser tan amplio, pero los roles deben ser reconocibles, con términos / claves genéricos, y obviamente cambian por organización. No he detallado cada uno porque: TLDR;

Ingeniería de software

  • Interfaz
  • Back-End / Servidor
  • Infraestructura
  • Datos
  • Androide
  • iOS
  • Monetización
  • Herramientas
  • Seguridad
  • Fiabilidad del sitio (SRE)
  • Arquitecto
  • Director / Distinguido / Personal

Administración de Ingeniería de Software

  • Vicepresidente de ingeniería
  • Director de Ingeniería
  • Director de Ingeniería
  • Líder técnico
  • Director del programa
  • Gerente de proyecto
  • Entrenador ágil
  • Escritor técnico

DevOps (Operaciones)

  • Administrador de sistema
  • Administrador de base de datos
  • Ingeniero DevOps

Seguro de calidad

  • Probador de control de calidad (manual)
  • Ingeniero de Software en Prueba
  • Ingeniero de automatización

Ciencia de los datos

  • Científico de datos
  • Analista de datos
  • Ingeniero de ciencia de datos

Servicios profesionales (integración de software empresarial)

  • Analista de negocios
  • Arquitecto de Soluciones
  • Ingeniero de Integración / Consultor

Tecnologías de la información

  • Soporte de escritorio
  • Administrador de red
  • ingeniero de Aplicaciones
  • Deshazte de los algoritmos. Si los productos de su empresa requieren algoritmos especiales, adapte la descripción del trabajo a esos (p. Ej., Computer Vision Engineer).
  • Combina arquitectura y back-end.
  • Combina devops y devtools. No hay razón para que dos equipos trabajen en esto.
  • ¿Qué significan las operaciones? Si se trata de un trabajo de confiabilidad del sitio, asígnele el nombre.
  • En una compañía pequeña (50 FTE o menos), la seguridad, los desarrolladores, la confiabilidad del sitio y el backend probablemente terminarán siendo el mismo equipo.
  • Es mejor que haya una justificación convincente para el rol de ingeniero de pruebas. Los equipos de ingeniería de alto calibre prueban su propio código.

Propuesta, diseño, implementación (incluye pruebas, validación y verificación a nivel modular), integración (incluye pruebas, validación y verificación a nivel de sistemas) y mantenimiento (también conocido como “Cradle to Grave”).

More Interesting

¿Debo obtener una maestría en ciencias de la computación después de 6 años de experiencia como ingeniero de software?

¿Qué grado es mejor, más completo y más lucrativo entre la tecnología de la información y la informática?

¿Es posible conseguir un trabajo en las empresas de Silicon Valley si soy fuerte en algoritmos pero débil en inglés?

Estoy pensando en crear una aplicación. ¿Es mejor aprender programación o que alguien me cree la aplicación que planeo hacer?

Soy estudiante de ciencias de la computación y actualmente estoy en mi segundo semestre de mi maestría. Quiero obtener un doctorado y no conozco ninguna programación. ¿Dónde debo comenzar para poder estar en una buena posición más tarde?

¿Qué hacen los graduados en informática en sus treintas y cuarentas?

¿Importa a qué escuela asistes para una licenciatura en informática?

¿Qué hago cuando no soy bueno en codificación pero todavía quiero seguir una carrera en informática?

¿Qué ingeniería debo elegir, CS o IT? ¿Qué es mejor en la colocación laboral?

¿Cuál debería ser mi especialidad universitaria si quiero comenzar a diseñar inteligencia artificial?

¿Puede alguien que era muy malo en matemáticas y ciencias en la escuela llegar a ser muy bueno en la programación web?

¿Dónde debería intentar trabajar: IBM GBS India o Infosys India?

¿Cuánto tiempo antes de que los títulos universitarios sean inútiles (debido a las nuevas tecnologías), aproximadamente 15 años?

¿Es una especialización en ciencia de datos similar a una especialización en estadística con una especialización en informática?

¿Hay codificación en ingeniería de sistemas?