¿Hay una mala reputación para los programadores que provienen de un fondo de física? Si es así, ¿por qué?

Descargo de responsabilidad : estudié matemática (pura) y física. Sin embargo, actualmente trabajo en informática científica en un lugar con un gran enfoque de CS / estadísticas.

tl; dr: depende de la aplicación. Tal sesgo es bastante cierto en las startups orientadas al consumidor; no es cierto en lugares donde las estadísticas tienen demanda (por ejemplo, finanzas, startups de big data)

Ciertamente, he escuchado tales declaraciones contra la física computacional a lo largo de toda mi vida, ya que mis padres son estadísticos. En el artículo de Quora que John Clover citó, la mayoría de las respuestas parecían centrarse en el hecho de que los físicos tienden a preocuparse únicamente por hacer las cosas en lugar de tener un código portátil. Esto es ciertamente cierto; Sin embargo, he aprendido que a medida que la supercomputación y la computación paralela se vuelven más manejables (¡y asequibles!) para los físicos, existe un mayor enfoque en hacer un código más limpio ya que existe el temor de que MPI / MapReduce lo castigue al eliminar accidentalmente sus datos.

Al mismo tiempo, veamos un poco de historia. A fines de la década de 1980 y principios de la década de 1990, las instituciones financieras habían comenzado a darse cuenta de que necesitaban contratar personas con habilidades en matemáticas, estadística e informática. Un empleado ideal sería una persona que podría:

  • Formular un modelo matemático.
  • Encuentre una aproximación / linealización adecuada para que se puedan usar estimadores estadísticos
  • Codifique tal modelo, evalúe su éxito e itere

Durante este período, a menudo se escucha el nacimiento de quants que podrían atacar todas las tareas anteriores. Pero el problema era que en ese momento, la educación matemática no fomentaba (ni requería) aprender a programar; la educación estadística no le enseñó a uno cómo construir modelos; y la educación en ciencias de la computación se centró en la programación, compiladores y autómatas, con un fuerte enfoque en la lógica en comparación con otras áreas de las matemáticas. Entonces, ¿qué estaban haciendo los bancos, los fondos de cobertura y las empresas comerciales propietarias?

Contratación de físicos.

Los físicos son una raza académica bastante diferente. Su mantra principal es idear una forma sistemática (léase: matemática) para formular los fenómenos que vemos en el mundo que nos rodea. Sin embargo, cuando se enfrentan a problemas para los que no existe una solución , los físicos no huyen del problema (como podrían hacerlo algunos matemáticos). En cambio, encuentran aproximaciones que, si bien son cuestionables matemáticamente (¿integrales de ruta, alguien?), Pueden coincidir con el experimento. Los físicos también son expertos en descubrir estimadores para sus datos; es decir, han tenido una suerte asombrosa al encontrar funciones de sus datos que convergen en una distribución estacionaria significativa. Si bien ignoran los problemas de las cadenas de Markov, la convergencia en la medida y la paradoja de Stein (estadísticas), tienen la intuición y el experimento como guías. Finalmente, cuando las cosas se ponen difíciles (y me refiero a cualquier problema de 3 cuerpos o mayor), los físicos están felices de dejar que las computadoras hagan el trabajo. Si bien pueden no crear soluciones elegantes, terminan empujando los límites de la potencia informática y definen las aplicaciones de la vanguardia de la informática.

Entonces, ¿esta narración de físicos como programadores solo es cierta para las finanzas?

No.

Solo hay que echar un vistazo a los listados de trabajo en las startups basadas en datos para tener una idea de dónde se necesitan los físicos como programadores. En el mundo real, uno no se basa en rumores y teoremas para hacer un producto que funcione; se necesitan muchas pruebas, iteraciones y un excelente control de calidad. Los físicos cumplen con los requisitos para tales trabajos, porque son maravillosos para encontrar heurísticas que funcionen. Si bien los estadísticos pueden quedarse sin aliento con algunos de los estimadores utilizados, estas técnicas son necesarias para el mundo real [estoy excluyendo la informática científica de esto].

Finalmente, me gustaría señalar que una buena cantidad de investigación activa en criptografía y aprendizaje automático implica la noción de un campo aleatorio de Markov . ¿De dónde crees que vinieron? ¡Física! El modelo de Ising y el modelo de Potts se utilizan para modelar fenómenos de mecánica cuántica (principalmente cosas que tienen que ver con el magnetismo). Estos modelos se han utilizado anteriormente en visión por computadora y gráficos por computadora. Mientras que muchos informáticos ignoran felizmente lo que estos modelos dicen físicamente [léase: sus limitaciones], los físicos han sido eficientes en la implementación de estos modelos.

En resumen:

Los físicos tienen muchas herramientas y, si bien no dominan todas estas herramientas, sin duda son ‘Jacks of all trade’. Como tal, su utilidad en la programación depende de la aplicación: si tiene una aplicación que es el clavo para Ruby, Scala o el martillo de Python, probablemente no necesite a alguien con muchas habilidades diferentes. En estos campos, los físicos tienen una mala reputación. Pero si está haciendo algo creativo con tecnología que requiere muchas habilidades diferentes, será mejor que toque las puertas de algunos físicos.