En empresas grandes / intermedias, ¿el código del desarrollador desde cero?

Esto realmente se divide en tres respuestas, una para tiendas de TI (software principalmente para usuarios internos), tiendas de productos comerciales (compañías que venden su software) y compañías cuyo negocio principal se basa en la web (por ejemplo, Amazon, Google).

Las tiendas de TI (casi) siempre integrarán o personalizarán software de terceros como Oracle o SAP. Obviamente, no estás comenzando desde cero aquí.

Las compañías de productos comerciales realizarán el desarrollo de código “desde cero” cuando sea necesario, pero felizmente usarán código abierto (licencia bsd pero no GPL3) o reutilizarán el código existente para ahorrar costos de desarrollo.

Las empresas basadas en la web escribirán nuevas características “desde cero” si es necesario, pero nuevamente intentarán aprovechar su base de código existente. Es cierto que esa base de código es en gran medida su propio código desarrollado durante una década o más, pero la mayoría de las veces un nuevo sitio web (o subsitio) no se inicia de novo.

Más del 90% de las horas de trabajo de desarrollo se destinan al mantenimiento: corregir errores, mejorar el rendimiento y agregar características a las bases de código existentes.

Depende de la ética de la empresa, muchos lo hacen, muchos no, en algunos es una mezcla de ambos.

Como todo en el desarrollo de software, no hay blanco y negro, solo gris.

Si te refieres a comenzar desde una clase vacía sin métodos. Probablemente no muy a menudo. En general, hay algo en la base del código que hace algo similar y usted lo copia y lo modifica.

Ahora, algunos dirían que parece que viola los principios de reutilización de OO. No. Estoy hablando de comenzar con una entidad conocida por conveniencia, pero terminas cambiando casi todo el código.

Puede suceder, pero las grandes empresas quieren que todos los proyectos sigan ciertas reglas y desarrollen marcos donde se agregue el código. Si el proyecto está en algo completamente nuevo, puede haber un poco más de libertad, hasta que se defina el modelo.