No puedo decir que soy el más experimentado, pero creo que es absolutamente crítico. Cuando trabaje en cualquier proyecto de escala razonable, tendrá que coordinarse con muchas personas, a veces los miembros de su equipo, entre equipos y entre empresas. No hay forma de evitar eso (además de trabajar solo en pequeños proyectos), y los malentendidos son muy costosos.
En el software, a menudo trabajas largas horas durante largos períodos de tiempo con un pequeño grupo de personas. Desde el punto de vista del simple espacio de trabajo, es mejor que no pongas los nervios de esas personas, ¡y eso significa comunicarte bien con ellos!
Sin embargo, para mí, los problemas más comunes y, a menudo, los más difíciles de resolver en los equipos de software hoy en día no son de naturaleza algorítmica, sino que se trata de hacer que las bases de código continúen siendo mantenibles, lo que exige un software bien diseñado. Pero no diseñas todas las partes del software, por lo que tú y tus compañeros de equipo deben estar siempre en estrecha comunicación para asegurarse de que todas las personas que usan tu software entiendan las decisiones de diseño que tomas. Creo que una buena comunicación es, por lo tanto, fundamental para evitar la duplicación de trabajo, patrones de diseño y filosofías incompatibles, y conflictos entre compañeros de equipo a lo largo del tiempo.
- ¿Cuáles son las preguntas frecuentes de la entrevista para los ingenieros de Java?
- ¿Qué cubren las entrevistas de programación aparte de las estructuras de datos y algoritmos?
- ¿Cuáles son algunas de las preguntas de programación de computadoras que la gente ha encontrado en entrevistas para trabajos de nivel inicial y pasantías?
- ¿Cómo fue tu experiencia en la entrevista de Facebook?
- ¿Cómo podemos devolver los números K máximos de una matriz entera sin clasificar?