Cómo encontrar un trabajo de programación de algoritmos y no solo escribir aplicaciones CRUD

La programación de algoritmos es en gran medida una cosa de I + D. Una vez establecidos, los algoritmos se convierten en partes de bibliotecas que otros programadores pueden conectar y reproducir. Muchas empresas dispuestas a financiar tales actividades de I + D quieren empleados con doctorados y habilidades matemáticas serias.

FWIW, de vez en cuando se puede refactorizar repetitivo en algo más interesante.

Hice I + D por mi cuenta, antes y después de las horas, cuando el pago de las tareas no rascaba esos picor. Algunos de esos ejercicios dieron sus frutos años después, cuando se encontraron nuevas oportunidades para aplicar esos algoritmos.

La depuración / diagnóstico generalmente recibe un respeto insuficiente, ya que se considera más un costo que un valor agregado. Puede intentar buscar grupos que trabajen en FPGA / ASSP / DSP y / o entregables integrados, donde las chuletas de validación son más apreciadas. Para ellos, los algoritmos novedosos pueden convertirse en secretos comerciales.

Hay tres maneras que conozco para hacer un trabajo de CS “interesante” profesionalmente. Una, que se ha mencionado, es obtener un doctorado y trabajar en la academia o ser contratado en el departamento de investigación o ciencia de una empresa que está haciendo un trabajo interesante. Como científicos, idearás los algoritmos (generalmente usando Python o Matlab o algo así) y los entregarás a los ingenieros que los convierten en código escalable y mantenible.

Otro es ser un inventor. Cree un producto usted mismo que resuelva algún problema de una manera innovadora. Aquí tiene libertad para abordar esto de la forma que desee, incluso mediante la implementación o la invención de algoritmos. Este tipo de trabajo es más adecuado en un entorno de inicio o de código abierto.

Por último, puede especializarse en un área específica de rendimiento crítico. En gráficos 3D, por ejemplo, muchas de las operaciones necesitan ser altamente optimizadas e implementar incluso funciones simples requerirá la última investigación algorítmica para que sean lo suficientemente efectivas.

Bienvenido a la realidad. La mayoría de los trabajos de programación están creando una variedad de aplicaciones de mala calidad. ¿Por qué? Porque eso es lo que las personas con dinero para pagar necesitan y quieren.

Los trabajos que he visto donde vas a estar haciendo menos trabajo son en investigación académica, investigación de seguridad, desarrollo de videojuegos o trabajando para un contratista de defensa.

Obtenga un doctorado y trabaje para una compañía de tecnología que opera a escala web, o algo similarmente especializado.

Si obtiene una buena respuesta a esta, hágamelo saber. El 95% de la ingeniería de software es “trabajo gruñón aburrido”. La única vez que trabajé en código que te gustaría, era un estudiante graduado, y el sueldo apestaba. Incluso trabajando para una universidad en investigación subvencionada, hice el trabajo duro.

Me dicen que un profesor de informática se pone a trabajar en inventar nuevos algoritmos. Pero la mayoría de las veces, escriben propuestas de subvención e informes de subvención, y rompen el látigo sobre los estudiantes graduados.