¿Los programadores pasan un tiempo considerable de su tiempo de trabajo en algoritmos?

En mi mismo caso … No.

La mayoría del tiempo es programación, sí, pero aunque cualquier programa puede calificar como un algoritmo, no paso tanto tiempo en la optimización de algoritmos, buscar u ordenar algoritmos, implementar estructuras de datos y la resolución de acertijos que generalmente se encuentran en la programación competitiva.

La mayoría de los problemas de programación tienden a caer en cualquier organización del código en sí (OOD, en su mayoría), corrección de errores (mucha investigación, a menudo para algunas líneas de código culpables).

El resto del tiempo, en realidad estoy traduciendo requisitos en características, lo que generalmente implica modelar datos, escribir entradas y su validación, persistir datos, escribir diferentes representaciones de datos, optimizar consultas …

Depende de dónde trabajes y los proyectos que te asignarán allí, pero pocas personas realmente tienen que preocuparse por los algoritmos (como lo que creo que quieres decir con eso) en su rutina diaria. Vea, la mayoría de los trabajos de programación son para aplicaciones de línea de negocios.

Sí y no, con “puede estar” allí en alguna parte.

Un “algoritmo” es solo un proceso, o un conjunto de pasos, para hacer algo. Entonces, casi todo es un algoritmo. El código para imprimir “Hola mundo” es un algoritmo. Si lo mira de esta manera, sí, si no están en su pausa para el café, en una reunión o hablando con sus compañeros de equipo, el resto del tiempo los programadores tienden a dedicarlo a algoritmos.

Si estaba preguntando acerca de algoritmos complejos , cosas que ve en los libros de texto: todas esas inversiones de cadenas y desplazamiento de árboles, depende en gran medida de sus responsabilidades, el campo y la industria.

Una gran cantidad de software no es tan complicado, en realidad, y en la mayoría de los casos, si no en todos, la complejidad es atendida por servidores de aplicaciones, marcos y bibliotecas, por lo que el programador puede centrarse en “cosas importantes”: la lógica empresarial. La parte difícil generalmente es unir todo correctamente sin dispararse en el pie.

Definitivamente, hay trabajos y campos donde los programadores no están expuestos a algoritmos complejos regularmente. Hay campos y trabajos donde lo contrario es cierto.

Comencé a programar por dinero como estudiante de posgrado en 1989. Una estimación rápida pone mi tiempo de programación en 43,904 horas.

Calculo que he pasado menos del 2% de mi tiempo implementando un algoritmo con nombre (~ 878 horas). Todo eso ocurrió cuando tuve conciertos en dominios de problemas científicos o de ingeniería.

No estoy seguro de representar la norma, pero la mayor parte de mi programación ha estado repitiendo patrones de advertencia para crear UI o para manejar solicitudes y respuestas entre un cliente (navegador, teléfono o aplicaciones de escritorio) y una API o servicio alojado en un servidor.