Consejo de carrera: Doctorado en teoría de lenguajes de programación [cerrado]

14

Estoy muy interesado en las teorías de los lenguajes de programación y voy a aplicar un doctorado en este tema, pero quiero saber más sobre la carrera después de la educación de posgrado. además de ser profesor, pero también ¿qué ocupación puedo obtener?

    
pregunta user16854 11.02.2011 - 07:20

9 respuestas

17

Si usted es un profesional en lenguajes de programación y teoría de autómatas, entonces debería tener suficientes oportunidades en la industria como desarrollador de compiladores o especialista en optimización de back-end.

Los idiomas más nuevos aparecen todo el tiempo, y los idiomas existentes se están mejorando o dirigiéndose a las plataformas más nuevas. Por ejemplo C ++ se está moviendo a C ++ 0x, los tipos de hardware se están moviendo de Verilog a SystemVerilog y ARM se usa cada vez más en dispositivos de consumo. Todos estos presentan buenas oportunidades para los desarrolladores de compiladores.

Por último, pero no menos importante, los desarrolladores de compiladores que pueden hacer uso de arquitecturas de múltiples núcleos gobernarían la percha en los próximos años.

Para trabajos de compilación, vea aquí .

    
respondido por el Fanatic23 11.02.2011 - 08:05
14

Michael Feathers escribió una vez que descubrió que la mayoría de las personas involucradas en la programación pertenecían a una escala que iba desde científicos hasta ingenieros.

Los científicos se divierten con el aprendizaje y la comprensión, mientras que a los ingenieros les gusta construir cosas y ver cómo funcionan.

En el extremo del ingeniero extremo, hay personas que constantemente lanzan un nuevo código, o trucos, solo para poner las cosas en marcha. Tienden a ignorar el panorama general. Los científicos extremos, por otro lado, se convierten en astronautas arquitectos con sus cabezas en los grandes armazones nublados, y nunca han entregado una línea de código de trabajo en toda su vida. Los mejores programadores están en el medio.

Solía pensar que era un programador, ya que me encantaba leer sobre eso y dedicaba horas a eso. Unos pocos trabajos más tarde, me di cuenta de que en realidad tengo un problema de entrega, ya que siempre estoy buscando una manera mejor, o "la manera correcta" de hacer las cosas. Resulta que estoy demasiado del lado científico para ser efectivo, al menos en un trabajo de desarrollador "normal".

De cualquier manera, creo que usted nace con una preferencia por uno u otro (últimamente he estado leyendo mucho sobre los tipos de personalidad, especialmente el Indicador de tipo de Myers-Briggs , y tengo una idea de que esto podría estar relacionado con la función S / N, para aquellos de ustedes que estén interesados en eso). He intentado obligarme a mí mismo a ser más práctico y más "hacedor", pero simplemente me agoto.

Mi punto hacia la pregunta original es que si recorres el camino del doctorado, probablemente te gusten más las cosas teóricas que las "cosas prácticas de construcción". No hay nada de malo en eso, pero creo que esa elección de carrera a menudo te encerrará en una carrera científica / educativa. No puede esperar poder pasar directamente de un doctorado a un trabajo de consultor bien pagado. Las cosas que aprendes trabajando en "el mundo real" difieren bastante de las mejores prácticas aprendidas de los libros.

Por supuesto, una alternativa es comenzar su propio negocio después del doctorado y desarrollar (o contratar a alguien para desarrollar) una aplicación basada en las fantásticas teorías que descubrió mientras investigaba.

    
respondido por el erikric 11.02.2011 - 09:19
6

He estado pensando en hacer un doctorado por un par de años (actualmente estoy trabajando en una maestría en tesis) y lo primero que me dijeron los doctores en el mundo académico y la industria es lo siguiente:

  

No obtengas un doctorado por el dinero   o perspectivas de carrera, solo lo consiguen si   realmente disfrutas lo que estas haciendo   Y quiero pasar años estudiándola en.   profundidad.

Fanantic23 cubrió el La parte profesional de las cosas está bastante bien, pero no hay tantos trabajos para un doctorado, así que debes asegurarte de invertir el tiempo en aprender algo por razones distintas al dinero antes de ingresar al programa de doctorado.

    
respondido por el rjzii 16.02.2011 - 14:51
2

NO vayas a un doctorado si estás contando con conseguir un trabajo académico, o si no te importa perder muchos años para terminar siendo un ingeniero como lo habrías hecho antes.

No para desalentarlo, pero la gran mayoría de las personas con doctorados en CS, y específicamente en temas como los lenguajes de programación NO terminan como profesores. Simplemente no hay suficientes trabajos de investigación para repartir.

Los trabajos de investigación en la industria son incluso menos comunes y disponibles que los trabajos de investigación en el mundo académico, ya que pagan mejor y no tienen requisitos de enseñanza.

Piénselo de esta manera: si observa la cantidad de artículos científicos de PL publicados por año y asume que un estudiante de doctorado por trabajo, no todas estas personas serán profesores.

Hice mi doctorado en Ingeniería de Software en CMU, donde PL es uno de los campos más sólidos (somos un programa top-3 en PL). Según mi conocimiento, de todos los que se graduaron con un doctorado en PL, solo dos terminaron en cargos académicos. Todos los demás son empleados como ingenieros de software. Conozco uno que funciona en temas relacionados con PL, pero los otros son generalistas.

Comuníquese conmigo de manera privada si desea que lo ponga en contacto con personas que investigaron en PL y que pueden contarle más sobre la experiencia.

    
respondido por el Uri 02.03.2011 - 19:11
1

Espero que puedas trabajar para uno de los laboratorios de investigación que trabajan en lenguajes de programación, Microsoft e IBM los tienen, al igual que otras compañías. Por no mencionar cualquier tienda que desarrolle o implemente lenguajes.

    
respondido por el Zachary K 16.02.2011 - 05:17
1

Debes hablar con los profesores de tu alma mater antes de embarcarte en el doctorado.

Por lo general, un doctorado trabaja en un laboratorio de investigación o se convierte en profesor. Las ganancias de por vida suelen estar considerablemente por debajo de un título de maestría.

Una teoría del lenguaje de programación diss probablemente lo pondría en el campo de los compiladores de escritura.

Además, estas cosas no son difíciles de descubrir mediante la lectura: expreso dudas de que esté listo para el doctorado si está haciendo esta pregunta.

    
respondido por el Paul Nathan 16.02.2011 - 17:34
1

Estaba interesado en estudiar esa misma carrera / curso (Mi tesis de posgrado está relacionada con el diseño del compilador, y también imparto una clase sobre "Comparación de lenguajes de programación", ambos conceptos se relacionan con "Teoría de los lenguajes de programación").

Pero, fue más como un pasatiempo que una carrera de "pagar las facturas".

También existe el problema de que, la teoría de los lenguajes de programación, aplica muchas matemáticas, pero es difícil de aplicar, de una manera práctica.

Si ya tienes ese curso, ¿cómo lo aplicaste?

Ejemplo, cree su propio compilador de Java, hágalo más rápido que el original, agregue algunas cosas y véndalo. Ejemplo: "HotSpot"

O, algo como "Java / C # ejecutándose en un compilador de tostadora" y venderlo ;-)

Clases de conceptos relacionados con la enseñanza en un colega / universidad, como Automatones, Diseño de compiladores, Comparación de lenguajes de programación, etc.

También puede crear su propio inicio pequeño, a tiempo completo o tiempo libre / parcial, mientras tiene un trabajo de programador estándar, que paga las facturas (lo intentó y falla). : -s

Hay varias compañías que pueden producir productos de software que realmente requieren esas habilidades específicas.

(Principalmente, el diseño de un lenguaje de programación y el compilador correspondiente para una máquina virtual / física particular, un analizador XML propio, etc.).

Pero, parece que la mayoría de ellos prefieren contratar a un desarrollador genérico barato, en lugar de un desarrollador con alguna especialización ...

    
respondido por el umlcat 02.03.2011 - 18:46
1

Un doctorado en CS con un enfoque en la teoría de los lenguajes de programación puede conseguirle un trabajo fuera de la academia, pero muy probablemente aún dentro del ámbito de la investigación. Microsoft (ya sea a través de MS Research o Microsoft), Google, Amazon, Ericsson, HP, IBM Research, Oracle serían posibles empleadores.

Si expande sus oportunidades de trabajo fuera de su futura disertación, Ph.D. la contratación de grupos también te considerará por la profundidad de tus estudios.

Y eso es solo en el sector comercial. Si observa el DoE y sus numerosos laboratorios (Laurence Livermole, Sandia, etc.) o el Departamento de Defensa o contratistas militares como Raytheon, General Dynamics (mi empleador) o Lockheed Martin, hay puestos disponibles para científicos e investigadores. La NSA también querría contratarte.

Las oportunidades no académicas para las personas con un doctorado en ciencias son menos (mucho menos) que aquellas que requieren un B.S o M.S. grado, pero todavía son abundantes, dignamente remunerados y gratificantes.

Buena suerte.

    
respondido por el luis.espinal 11.04.2011 - 15:43
-2

Muchos trabajos disponibles:

C # /. NET en Microsoft
Java en Oracle
Perl6 (no recibiré mucho pago, creo)
ActionScript en Adobe

    
respondido por el jondinham 21.04.2012 - 10:55

Lea otras preguntas en las etiquetas