Cuando un fragmento de código es irrazonablemente lento en un conjunto de datos grande, un programador generalmente se desvía para encontrar un algoritmo para acelerarlo. Algunos programadores tienen la tarea de crear algoritmos todo el tiempo, no necesariamente los difíciles, pero es parte de su trabajo y por qué se les paga bien.
Si un desarrollador resuelve un problema que requiere mucho tiempo y que es particularmente difícil, puede obtener una bonificación o puede reflejarse en su aumento anual.
Por eso decimos que el desarrollo de software no se trata de aprender un lenguaje de programación, se trata de resolver problemas. Es nuestro trabajo
- Cómo imprimir una cadena usando un puntero
- ¿Cuál es la técnica para crear una solución DP iterativa a partir de su solución recursiva?
- ¿Cómo ordena Quora los elementos que aparecen en la secuencia de un usuario?
- ¿Todos los NP-HARD que son decidibles también son NP-Complete?
- Cómo aprender a analizar algoritmos
Sin embargo, algunas personas ganan dinero con algoritmos específicos. Muchos escriben libros sobre ciertas soluciones de software que se les ocurrieron. Si los algoritmos son útiles, entonces su libro puede vender muchas copias y se beneficiarán.
Los algoritmos altamente complejos a menudo son resueltos por equipos que trabajan muchos meses en una solución. Tales algoritmos a menudo se patentan como procesos o métodos. Algunas compañías tienen un plan de bonificación lucrativo para los empleados que están en estos equipos.
También es posible construir una compañía alrededor de un algoritmo o conjunto de algoritmos para un propósito específico. La empresa puede mantenerlo en secreto comercial o patentarlo, y luego licenciarlo a otros o construir un producto a su alrededor.
Si eligen este último, es una tarea mucho más grande porque implica, no solo el algoritmo, sino el costo y el esfuerzo de iniciar un negocio.