¿Me pueden ayudar a decidir si debo obtener un doctorado en informática teórica?

Para alguien como usted que tiene intereses teóricos, le recomiendo al menos obtener una maestría en CS. Algunas cosas que pueden hacerte sentir mejor:

Cuando ingresé a la escuela de posgrado de CS (en una de las 10 mejores escuelas, por cierto), el único ‘lenguaje de programación’ en el que había trabajado era Matlab. Mi maestría anterior (un doctorado abortado, realmente) en matemáticas estaba en el área * muy * no práctica de la teoría de grupos. Lo más difícil de tener éxito en el programa de posgrado de CS en el que estoy ahora (y lo digo en serio) fue levantar el valor para postularse cuando me sentía tan mal calificado. Comencé pensando que necesitaba trabajar en Ciencias de la Computación Teórica, ya que eso era lo único para lo que tenía remotamente el fondo ‘correcto’ (en mi estimación limitada). Tuve mucha suerte de descubrir relativamente pronto que este no era el caso. Los profesores de muchas áreas diferentes de la informática están muy entusiasmados de trabajar con estudiantes que tienen una formación matemática más rigurosa. La conclusión es que elegir la sintaxis particular de cualquier lenguaje de programación en el que esté trabajando es la parte fácil; Los profesores buscan estudiantes con fuertes habilidades analíticas y la capacidad de aprender rápidamente. Debes recordar que cualquier ‘fondo’ que tengas de tu licenciatura se verá completamente eclipsado por las habilidades que adquirirás como estudiante graduado. Los profesores saben esto y, por lo tanto, es posible que muchos de ellos sean mucho más flexibles de lo que esperaba cuando se trata de cumplir con los requisitos. Dicho esto, todos los profesores son diferentes, y muchas veces personas o subgrupos específicos dentro de un departamento fomentarán una actitud particular hacia el cuerpo estudiantil o las calificaciones que creen que los estudiantes deben cumplir. Hay laboratorios que no te mirarán dos veces a menos que tengas fuertes habilidades de desarrollo en un idioma en particular. La conclusión es: no quiere terminar pasando toda su carrera de posgrado codificando las ideas de otra persona. Eso no es lo que se supone que es obtener un título de posgrado, y tener un fondo de codificación más débil puede salvarte de ese desafortunado destino.

En términos de comercialización, actualmente estoy en el mercado laboral y me está yendo muy bien en términos de interés del empleador, pero es cierto que mi área de especialización (optimización en grandes redes) es muy comercializable en este momento. Tuve suerte en eso porque encontré algunas aplicaciones interesantes de las matemáticas que ya conocía en esa área y luego corrí con ellas. Supongo que el mejor consejo que puedo dar es ser autodirigido e inquisitivo. Una vez que esté en el programa de posgrado CS, ¡vaya a las conversaciones! ¡Ve a muchas charlas! Vea lo que le parece interesante y lo que las personas que le rodean (especialmente las personas vinculadas a la industria) lo encuentran interesante. Busca intersecciones. Lo mejor de la escuela de posgrado de CS en lugar de decir, la escuela de posgrado de matemáticas, es que gran parte del profesorado tendrá conexiones y experiencia en la industria. Puedes hablar con ellos sobre esto. En realidad, a menudo tendrán alguna idea de lo que es un gran tema en la industria en este momento y cómo podría segmentar un proyecto de clase o una tesis en esa área. Ahora tiene la oportunidad de poder corroborar las palabras de moda que todos en el mercado de trabajo tecnológico quieren en su currículum con experiencia real en investigación. Si ya sabe que quiere ingresar a la industria, piense en la escuela de posgrado como una oportunidad de dos años para mejorar su currículum y prepararse para entrevistas de trabajo para el trabajo que desea. Descubrirá que su concepción del trabajo soñado y su área de interés idealmente evolucionarán conjuntamente; profundizar en uno reforzará su sentido de dirección y entusiasmo por el otro.

¡Finalmente, no te conformes y no trabajes con personas que no te gustan! En menor medida, no trabaje en proyectos que no le gusten (pero si le gustan las personas, déle una oportunidad al proyecto. Asegúrese de que realmente no le guste antes de decidir no seguirlo. Esto generalmente lo hará) toma alrededor de un mes más o menos para darse cuenta. Nota: ¡la gente * no * se enoja contigo por cambiar de opinión! He comenzado muchas colaboraciones solo para descubrir que nuestros intereses no se alinearon lo suficiente como para hacer que perseguir el proyecto tenga sentido ¡La gente en general no tiene resentimientos por esto, y entonces has hecho buenas conexiones!) No dejes que la presión que tus compañeros puedan experimentar en la escuela de posgrado sobre encontrar un asesor o progresar en el programa según algunos la línea de tiempo te influye indebidamente. Actúa (de una manera mínimamente malcriada y extremadamente amable) como si las reglas no se aplicaran a ti. Y siempre sea muy amable con el personal administrativo.

Normalmente no respondería esto porque aún no he terminado mi licenciatura, pero me siento culpable por rechazar las solicitudes de A2A, así que aquí va algo de divagación incoherente …


Lo principal que siempre escucho sobre un doctorado es que es un trabajo tan duro que es poco probable que lo encuentres gratificante a menos que seas un apasionado de tu campo. Y no solo estoy hablando de un interés general en CS, que muchas personas tienen. Estoy diciendo que necesita tener un subcampo específico y estrecho de CS que sea realmente, muy interesante. Por ejemplo, el bloqueo de algoritmos de flujo para el problema de flujo de red máximo.

Es tan interesante que está dispuesto a salir y leer cada artículo que se haya escrito en él, y obligarse a leerlos una y otra vez hasta que los entienda por completo, y luego pasar los próximos años superándolos. Cuando termine su doctorado, debe ser el experto líder mundial en el interés específico y limitado que ha elegido.

Pero luego, por otro lado, volteemos eso. Has encontrado un tema que te fascina profundamente. Puedes pasar los próximos años de tu vida estudiando ese tema como tu principal responsabilidad. Te emparejará con un experto en informática, alguien con años de conocimiento y experiencia, de quien puedes aprender mucho. Y si trabajas duro y perseveras, para cuando termines tu doctorado, serás el experto líder mundial en tu tema. ¿No suena eso como una gran oportunidad?

Debes elegir algo que te haga pensar en el párrafo anterior, no en el anterior.

Me parece que, si bien al menos te gusta la CS aplicada, no te apasiona demasiado. Solo la teoría realmente te emociona. Si ese es el caso, la respuesta es clara: hacer teoría. Tienes razón en que pasarás mucho tiempo sin saber qué hacer, pero también todos , y eso no significa que no lograrás nada . Obtener un doctorado es una experiencia humillante, no importa lo inteligente que seas. Una y otra vez te darás cuenta de que no tienes idea de qué demonios estás haciendo, y la única forma de solucionarlo es redoblando tus esfuerzos. Todos pasan por eso, excepto quizás un pequeño puñado de las personas más brillantes con vida. Pero eso no significa que sean los únicos que deberían obtener doctorados. Hay tanto conocimiento por ahí esperando ser descubierto, y tienes la oportunidad de ser parte de eso, siempre y cuando puedas soportar sentirte estúpido constantemente mientras mantienes la confianza en ti mismo. (Me di cuenta de que no puedo , que es una de las razones por las que no voy a obtener un doctorado).


Puede descubrir en el camino que no está tan interesado en la teoría como pensaba que estaba. Su resolución puede flaquear o ceder por completo. Y eso no tiene nada de malo, eso sí, no te hace menos inteligente, menos intelectual o menos trabajador; solo significa que un doctorado no era adecuado para usted. ¿Quién quiere pasar cinco años enfocando toda su energía mental en un campo estrecho y profundamente específico, solo para tener perspectivas de trabajo inciertas cuando salgan? (Algunas personas … pero no tantas).

Sin embargo, incluso si no termina su doctorado, eso no significa que haya perdido el tiempo dedicado a hacerlo. De hecho, un número sorprendente de empleados en Google son deserciones de doctorado. No importa qué, conocerás personas inteligentes e interesantes, y aprenderás mucho, tal vez más de lo que imaginabas posible.

FYI, actualmente estoy en cuarto año en la escuela de posgrado de CS. Llegué a la escuela de posgrado de CS con la intención de hacer solo ciencias de la computación teóricas, y tenía una formación algo similar: me especialicé en matemáticas y ciencias de la computación (enfocándome en ciencias de la computación teórica para mi especialización en CS y tomando la menor cantidad posible de cursos de sistemas) . Después de un año más o menos en informática teórica, decidí que podría no ser para mí y comencé a buscar un área diferente.

Aquí hay algunos pensamientos:

  1. Puede adquirir habilidades técnicas / de codificación.
    Muchas personas que van a la escuela de posgrado de CS tienen habilidades de codificación bastante buenas, pero no todas lo hacen. Aprenderá lo que necesite mientras siga trabajando en ello. Como estudiante de matemáticas, has tratado algunos conceptos abstractos bastante difíciles. Esta habilidad en el manejo de la abstracción es transferible a un trabajo más técnico.
  2. El progreso NO está garantizado para ninguna área de investigación.
    Pasará algo menos de tiempo pensando en ideas matemáticas al hacer aplicaciones, pero eso no significa necesariamente que progresará constantemente en su trabajo. Las aplicaciones vienen con sus propios problemas: las ideas inteligentes pueden no funcionar en la práctica porque lo que funciona en un entorno idealizado no necesariamente se traduce en datos y cargas de trabajo reales.
  3. El trabajo no teórico puede sentirse más concreto
    Diseñar, crear prototipos y codificar puede parecer mucho más tangible que comprender diferentes ideas matemáticas que podrían o no funcionar. Del mismo modo, si está ejecutando experimentos o recopilando datos, puede trabajar directamente lo que hizo, incluso si a veces puede parecer una rutina.
  4. Un título de posgrado en ciencias de la computación es altamente deseable
    Cualquiera sea el área que elija, un título de maestría / doctorado en ciencias de la computación puede ayudarlo a obtener un trabajo altamente deseable en campos relacionados con la tecnología. Por lo tanto, no permita que su dilema lo consuma, ya que una elección no óptima todavía significa una gran cantidad de oportunidades en el futuro.
  5. El área de investigación solo importa mucho
    En última instancia, para completar la escuela de posgrado, tendrás que elegir un área y seguir con ella. Encuentre un profesor con un proyecto interesante que tenga una vacante, únase a un grupo de lectura o haga un proyecto de lectura con un profesor que le parezca interesante. Lo más probable es que encuentres algo en esa área que te fascine. Si realmente no está seguro, bájese e intente algo que le parezca familiar, pero que aún juegue a algunos de sus puntos fuertes como matemático principal (visión, nlp, optimización, aprendizaje automático …).

    Por separado, también se podría señalar la falta de límites claros entre áreas y entre teoría y aplicación. Puede y probablemente cambiará a medida que se desarrollen sus intereses.

  6. Ten confianza y trabaja duro
    En última instancia, la única forma de salir de la escuela de posgrado con un doctorado es si sigues trabajando duro y no dejas que el progreso estancado / fallas te afecten. Algunas de las personas más inteligentes que conocí en la escuela de posgrado abandonaron y algunas personas que eran inteligentes pero no necesariamente las mejores en las clases constantemente producían una excelente investigación porque disfrutaban de su trabajo y lo mantenían.

Un doctorado es principalmente un título de enseñanza e investigación. Les digo a los estudiantes que continúen con sus estudios adicionales si quieren hacer una de las dos cosas anteriores. Preferiblemente ambos. Sin embargo, Ph.D. grados han ganado importancia para los empleadores.

Según mi lectura de su caso, parece que realmente no tiene ganas de enseñar. También parece que estás buscando habilidades comercializables en la industria. Así que veamos algunos escenarios.

El trabajo teórico en investigación industrial existe pero es bastante limitado. Además, los laboratorios están fuertemente presionados para liberar el producto. Por lo tanto, el desarrollo está aumentando en relación con la investigación. Si desea continuar con esto, también necesita trabajar en algún aspecto aplicado de la informática. El trabajo inicial en un laboratorio probablemente sería el desarrollo en la naturaleza. Obtener algunas habilidades de desarrollo no hace daño.

El trabajo teórico en la investigación académica normalmente implica que usted también toma una posición docente. La parte de enseñanza alimenta la parte de investigación, ya que necesita dirigir a otros para mover la aguja de investigación hacia adelante. Aquí es donde entran en juego los estudiantes de posgrado (y la facultad). Realmente no puedes tener estudiantes graduados sin enseñarles primero. Además, una carrera como profesor comienza con la enseñanza.

En todos los casos, primero debe pagar sus cuotas. En la industria, probablemente esperarán cierta capacidad de desarrollo para realizar productos. En la universidad, primero debes comenzar a enseñar mientras trabajas en tu campo de intereses de investigación.

Por supuesto, hay algunas excepciones si sus campos de estudios de posgrado producen un avance que amerita que se le ofrezca una publicación de laboratorio (o al menos un documento de publicación) de inmediato. Es posible pero raro. Es mucho más seguro si tiene habilidades de desarrollo o credenciales de enseñanza.

Si se enfoca más en las aplicaciones, eso no elimina su capacidad de realizar investigaciones teóricas y trabajar con algoritmos. Si adopta un enfoque más teórico que no le impida aprender el lado de la aplicación. Así que comienza con el que te parezca más cercano y prueba el otro lado. Si termina siendo más interesante, entonces cambia.

Por lo tanto, le sugiero que hable con un consejero de carrera o un profesor de confianza. El objetivo es ayudarlo a encontrar algo que le interese. Ph.D. el trabajo requiere un enfoque intenso bastante estrecho. Entonces es clave que trabajes en algo que realmente te gusta.

Tenemos un dicho en nuestro departamento: “Tienes que amar realmente tu tema de tesis antes de trabajar en él. Al final de la tesis, probablemente no puedas soportar verlo”. Bromeando, por supuesto.

Creo que deberías hablar con un consejero de carrera. Tendrán una mejor idea de cómo convertirlo en una persona comercializable en la industria o en la educación o la investigación. Puede hacer una búsqueda en la industria de personas que contraten matemáticos teóricos, por ejemplo.

Algunas de las personas con las que trabajé en Boeing trabajaban en matemática teórica en sistemas informáticos, es decir, ayudaban a depurar partes de CATIA y la representación matemática de objetos dentro de los sistemas. Pero eran un grupo muy pequeño y altamente capacitado.

Creo que también debe hablar con el departamento de informática y averiguar qué requisitos técnicos le faltan y por qué o por qué pueden ser importantes. El desarrollo de software y la teoría tienden a trabajar en la comprensión de los niveles de arquitectura: hardware – red, computadora, dispositivo, microchip, chip de computadora, etc., incluso en el circuito, software –compilador, sistema operativo, lenguaje de programación, arquitectura de software– proceso, almacenamiento, evento y sin una buena idea sobre cómo interactúan todos los niveles, hace que sea muy difícil encontrar usos aplicados de la tecnología o experimentos teóricos sobre cómo alterar el modelo de arquitectura de la computadora.

La mayor parte del trabajo teórico sobre el que he leído a menudo se relaciona con la forma en que opera la naturaleza o la forma en que opera el cerebro humano o cómo se forman los cristales o cómo se puede usar una representación matemática de estos para conducir el sistema en una nueva dirección más efectiva. Modelar la realidad requiere una comprensión profunda de la realidad.

La buena noticia sobre la mayoría de los requisitos técnicos es que si comprende las teorías detrás de la arquitectura de la computadora, puede tomar un libro sobre nuevos requisitos técnicos, leerlo en un par de días y poder trabajar de manera efectiva.

Creo que has respondido tu propia pregunta con:

  • No planeo convertirme en profesor y no creo que probar muchos teoremas me ayude a desarrollar habilidades comercializables.

More Interesting

¿Cuál es la mejor manera de mantenerse al día con los últimos avances / avances en el campo de la informática?

¿Cuáles son los proyectos más interesantes en Facebook AI Research (FAIR)?

¿Qué startups de aprendizaje automático tienen más probabilidades de convertirse en empresas multimillonarias?

¿Cuáles son algunas buenas implementaciones de MapReduce para gráficos, lo que significa un marco de gráficos de código abierto altamente distribuido y de uso general, y qué tan bien funcionaron para usted en la práctica?

¿Cuál es la mejor manera de leer documentos de investigación de CS?

¿Qué es el Protocolo de separación de localizador / identificador (LISP) en términos simples, con las terminologías en eso?

¿Cómo puede ayudar un estudiante universitario con la investigación del aprendizaje automático?

¿Cuáles son los documentos fundamentales sobre detección comprimida?

¿El campo de los sistemas informáticos ya está saturado?

¿Cómo puede un estudiante de doctorado en un programa de aprendizaje automático no superior (con la mayoría de los estudiantes y profesores haciendo investigación aplicada) intentar entrar en una carrera de investigación teórica?

¿Qué son la minería de datos, la ciencia de datos, la inteligencia / análisis de negocios y la investigación operativa?

¿Qué debo especializar en sistemas inteligentes o computación en la nube?

¿Es factible para mí ingresar al programa de maestría de Stanford CS (o cualquier escuela de las 10 mejores) sin investigación de CS en pregrado?

¿Qué habilidades prácticas debe aprender un aspirante a investigador de aprendizaje automático (Linux, computación paralela, GPU, etc.)?

Estoy en la clase 12. Quiero hacer algunos trámites o investigar en informática. Quizás pequeño. Sé python y C ++. ¿Qué tengo que hacer?