Depende del tipo de proyecto y de cómo se gestione el equipo. Algunos equipos valoran varias manos en cada línea de código. Otros prefieren que cada módulo sea de propiedad y esté aislado. No importa dónde aterrice su equipo en ese espectro, tendrá que esperar lo siguiente:
- Tendrá que interactuar con otros en su entrada, salida o estructuras subyacentes.
- Habrá conceptos unificadores que harán que el código funcione a pesar de todas las diferentes manos.
- Los sistemas de colaboración serán críticos para la comunicación y la coordinación.
- En algún lugar del montón de código habrá algo que usted posee, por elección o por decreto.
El conflicto puede ocurrir, pero rara vez es útil. Las comunicaciones casi siempre mejoran las cosas, y debe comprender de dónde vienen sus colegas. Esta es probablemente la mayor diferencia que programar solo.
Los equipos junior tienden a necesitar que cada línea de código se toque dos veces en el entorno. Estas personas necesitan el mayor apoyo y diversidad de revisión y pueden obtenerla entre sí. Los errores necesitan muchos ojos para atrapar y manos para arreglar.
- ¿Cuáles son las habilidades básicas que debe tener un ingeniero de software y qué lenguajes de programación debe conocer razonablemente?
- ¿Qué salario base debo solicitar para un puesto de ingeniero de software de nivel básico en el norte de Virginia?
- Cómo configurar un entorno Golang para un corredor compartido de GitLab CI
- ¿El algoritmo básico y la estructura de datos son tan importantes que cada empresa debe examinar a su candidato probándolo?
- ¿Qué es mejor: ingeniería de software o ingeniería aeroespacial?
Los equipos superiores son mejores con aislamiento y modularidad. Ofrezca a estos expertos grizzly espacio para hacer magia y hacer pequeñas gemas maravillosas. Deben tener la experiencia suficiente para construir interfaces adecuadas con las que otros puedan trabajar fácilmente.
Todo esto estará fuertemente aromatizado por el liderazgo y la arquitectura. Los diseños altamente interconectados y complejos tenderán a requerir más manos en cada línea de enfoque de código. Los diseños más simples con aislamiento e interfaces e interacciones bien definidas necesitarán aislamiento modular para tener éxito. Lo curioso es que OO promocionó su capacidad para lograr la simplicidad de la interfaz, la modularidad y el aislamiento, pero la mayoría de los diseños de OO en la actualidad son monstruos complejos en comparación con los diseños funcionales.