¿Cómo es ser un investigador informático?

La informática es el motor de la revolución digital, que contribuye a la aparición de industrias completamente nuevas y a cambios dramáticos en la calidad de vida.

Los continuos avances en esta revolución digital dependen en gran medida de la investigación en ciencias de la computación.

¿Cuáles son los campos de la investigación CS?

Prácticamente todos los temas que has visto en tus cursos de licenciatura tienen un área de investigación activa y asociada, desde algoritmos, arquitectura e inteligencia artificial hasta computación portátil (no pudimos pensar en ningún tema que termine en x, y o z, pero háganos saber si piensa en algunos!).

Algunas investigaciones son teóricas e involucran el desarrollo y análisis de nuevos algoritmos y técnicas, y otras se aplican más e involucran experimentos, diseño, implementación y pruebas. En todos los casos, la investigación es una empresa de exploración intelectual que busca avanzar en nuestro campo.

El Informe Anual de Taulbee de CRA proporciona un desglose de las áreas de investigación de los nuevos Ph.D. otorgados [Informe de Taulbee de CRA, 2014]. Otra vista se basa en las áreas que el departamento de CS de EE. UU. Está buscando en las contrataciones de sus profesores. En 2015, las áreas de investigación más buscadas incluyeron seguridad, big data, sistemas, ingeniería de software, aprendizaje automático, ciencias de la información y robótica. Sin embargo, existen posiciones abiertas en la facultad en casi todas las áreas [Análisis por el Prof. Craig E. Wills].

¿Dónde trabajan los investigadores?

La investigación se desarrolla en todo tipo de lugares. Muchas empresas contratan investigadores para ayudarlos a resolver algunos de sus problemas más difíciles y desarrollar las bases para sus futuros productos y servicios. Las universidades, por supuesto, son centros de actividad de investigación y una importante investigación aplicada se lleva a cabo en laboratorios gubernamentales. En la actualidad, poco menos del 60% de los nuevos doctores en ciencias de la computación van a trabajar en empresas, aproximadamente el 30% acepta trabajos académicos y el resto trabaja en el gobierno y en otros lugares. En nuestro campo, es bastante común que los investigadores en estos diferentes campos colaboren estrechamente e incluso se muevan entre sectores. De hecho, muchas áreas de la investigación en ciencias de la computación se entrecruzan con otros campos y es bastante común que los científicos en computación interactúen con biólogos, ingenieros, físicos, matemáticos y psicólogos, entre otros.

En la industria, algunos investigadores trabajan en la rama del laboratorio de investigación de su empresa. Aquí, los investigadores trabajan en problemas abiertos, colaboran con colegas en su empresa y, a menudo, interactúan con investigadores universitarios, viajan a conferencias para presentar su trabajo y publican en revistas y actas de conferencias. La investigación producida en estos laboratorios a menudo está adelantada a los productos que finalmente los utilizarán.

En otros casos, los investigadores en la industria están más estrechamente integrados en la parte de desarrollo de su empresa. Aquí, trabajan en estrecha colaboración con los ingenieros de software y otros en el desarrollo de productos actuales, ayudando a resolver algunos problemas técnicos particularmente difíciles que se basan en la investigación actual.

En el mundo académico, los miembros de la facultad tienen una considerable autonomía para elegir sus propios problemas de investigación y también para enseñar y asesorar a la próxima generación de investigadores. Los trabajos de la facultad son atractivos para aquellos que disfrutan tanto de la investigación como de la enseñanza. En contraste con la mayoría de las empresas y los laboratorios de investigación gubernamentales, los investigadores universitarios deben realizar sus propios fondos de investigación escribiendo propuestas de subsidios (por ejemplo, a la National Science Foundation, otras agencias gubernamentales y socios industriales).

En el gobierno, muchos problemas técnicos desafiantes requieren experiencia en investigación y experiencia. Si bien es probable que los investigadores del gobierno tengan proyectos de investigación específicos que se espera que aborden, con demasiada frecuencia publican en los mismos lugares que los investigadores industriales y académicos. Por ejemplo, la computación de alto rendimiento, la visualización y varios otros campos de la computación están particularmente bien representados en los laboratorios de investigación federales.

Finalmente, observamos que las becas postdoctorales son cada vez más populares en la informática. Estos son puestos de investigación a corto plazo (generalmente uno o dos años) en el mundo académico, la industria y el gobierno, donde los nuevos doctores pueden desarrollar aún más sus programas de investigación con el apoyo de un mentor experimentado. Si bien la mayoría de los trabajos no requieren experiencias “postdoctorales”, algunos graduados de doctorados consideran que son una buena manera de tener algunos años “tranquilos” para trabajar en su propia investigación sin las obligaciones adicionales que vienen en la facultad u otra posición de investigación.

Recursos adicionales

  • El informe de 2012 “Innovación continua en tecnología de la información” del Consejo Nacional de Investigación destaca muchas contribuciones cruciales a la investigación en tecnología de la información que resultaron de la investigación fundamental apoyada por el gobierno federal, que generalmente se realiza en el mundo académico, y su creación de nuevas tecnologías, empresas y productos con grandes beneficios impacto. Los resultados no anticipados de la investigación pueden ser tan importantes como los anticipados y la investigación llevada a cabo en el ámbito académico seguirá dando forma a nuestra sociedad y al mundo en que vivimos. Consejo Nacional de Investigación. Innovación continua en tecnologías de la información . Washington, DC: The National Academies Press, 2012.
  • La comunidad de ciencias informáticas teóricas mantiene “Nuggets de visión” que identifican temas de investigación amplios dentro de las ciencias informáticas teóricas que tienen potencial para un gran impacto en el futuro
  • Vea estos videos sobre varios proyectos de investigación en ciencias de la computación del Proyecto de investigación en acción de computación de CCC.
  • Seis razones por las que estudiar ciencias informáticas vale la pena
  • La transición a mi segundo año, este verano me ha dado mucho tiempo para pensar y reflexionar sobre mis experiencias de especialización en Ciencias de la Computación. Siento que fue extremadamente diferente de la forma en que se presenta comúnmente en los medios de comunicación, o incluso de cómo esperaba que fuera. Así que aquí están las seis realidades de ser un estudiante de ciencias informáticas:

1. Lo más probable es que sea conducido por un compañero o una familia. Personalmente, mi hermano fue quien me animó a tomar una clase de informática. Ya había intentado aprender a codificar, pero no tuve tanto éxito que ni siquiera pude configurar el entorno de desarrollo. A pesar de que abandonó su clase de introducción a la CS, me dijo que podía hacerlo y que el campo necesitaba más mujeres ingenieras como yo. A través de su fe en mí, tomé un curso de desarrollo web y salté a la pista de introducción de CS en Stanford, y desde entonces me he quedado en el tren de CS.

2. Te sentirás como Dios. La cosa número uno que me atrae a un comandante de CS es el hecho de que a) construyo cosas que permanecen para siempre (¿quién dijo que internet está escrito en tinta es un mal negocio?) B) ¿Es accesible para tanta gente? yc) es como enseñarle a un bebé realmente estúpido a hacer algo. Mehran Sahami, un muy famoso y uno de mis increíbles profesores de CS, nos dijo en el primer día de clase que las computadoras son realmente tontas, pero que son muy buenas para seguir instrucciones. Casi demasiado bueno, hasta el punto de que hacen todo a la carta. Si puedes hablar con la computadora en su idioma y hacer que haga lo que quieres que haga, entonces estás de oro.

3. De repente, todo necesita ser descompuesto. Mis habilidades de resolución de problemas se han vuelto inmensamente mejores después de convertirme en un especialista en informática. De hecho, ahora todo lo que veo como un problema. ¿Correr tarde esta mañana? Analizo el problema: ¿qué es lo que llevará más tiempo y cómo puedo cortar las esquinas para evitar perder el tiempo? Mis padres a menudo confían en mí para arreglar cualquier cosa relacionada con la tecnología (televisión, teléfonos, lo que sea). Abordo cada problema como un problema de software: ¿qué podría estar mal? Busque los síntomas del problema, vea dónde aparece. Entiende el sistema, lo que podría estar causándolo. Y luego, por lo general, puedo obtener la solución.

4. Es fácil darse por vencido. Es fácil darse por vencido y decir, a quién le importa, alguien más lo codificará para mí. Otro de mis increíbles profesores de CS, Eric Roberts, nos mostró en el primer día de mi segunda clase introductoria que, incluso si Stanford graduara a todos sus estudiantes de la carrera de CS, y Valley los contratara a todos, todavía necesitarían más personas. para llenar los puestos de trabajo. No es sorprendente que el software sea el lugar donde se encuentran los trabajos, e incluso trabajando para eBay, el talento es una cosa que la compañía está buscando agresivamente. Puedes darte por vencido, pero ¿qué pasa con lo que podría ser? Tal vez podrías codificar la próxima aplicación

5. La experimentación es clave. Aprender CS implica experimentación. Tienes que perder el tiempo con el código, realmente entrar en él. A veces significa que romperás algo que ya estaba funcionando. Pero lo mejor es que a cambio, aprendes algo nuevo, a veces algo que ni siquiera está documentado o arreglado. Esto definitivamente me pasa en el trabajo todos los días. A veces tengo ganas de tomar el enfoque perezoso y volver a las viejas formas de hacer las cosas, pero confía en mí, definitivamente es mucho mejor jugar con él.

6. Lo dudarás todos los días. Ser un comandante de CS es difícil, y probablemente esa sea la razón por la que tantas personas no lo hacen. Dudará todos los días si está destinado a ello y querrá darse por vencido. Verá que los niños lo hacen desde que tenían dos años y pensarán: “Maldición, ¿por qué me molesto en intentarlo?” Reprobará las entrevistas / exámenes de programación, y reflexionará sobre esta pregunta (experiencia personal aquí). La verdad es que nadie habla de lo difícil que es porque no quieren pensar en ello. Incluso ahora, un año después, sigo dudando de mi decisión de especializarme en CS o ingeniería de software. Tuve estas dudas el día que puse un pie en mi primera, segunda y tercera clase de CS en todos los exámenes que tomé en el primer día de mi pasantía, en los días en que no presiona el código a Github. Pero la verdad es que está bien dudar de ti mismo, siempre y cuando no te detenga. ¿No crees que eres el mejor? ¡Por supuesto que no! No le tengas miedo, no llegarás a ninguna parte a menos que lo intentes.

Entonces, si eres alguien que está contemplando la informática, o alguien que tiene miedo: detente, y hazlo. Olvídate de los chicos que te dicen que no puedes hacerlo, olvídate de todos los enemigos que están celosos de tu celo. Código. Si está dañado, si tiene un error de segmentación o una excepción de Java, vaya a solucionarlo. Lo más probable es que si solo asumes que no estás destinado a ello, nunca podrás sentir la emoción de hacer que algo funcione (incluso si es solo “Hola mundo”), todo porque lo detienes.

A veces, el único que te detiene es a ti, y la respuesta es simplemente dejarlo ir.

Antes de responder, imagino que los humanos evolucionan y construyen ciudades y universidades en una llanura cubierta de hierba sin arbustos ni árboles, y luego los exploradores encuentran un árbol. La universidad más cercana luego comienza un Departamento de Ciencia de los Árboles, y muy pronto todo, desde la tarta de durazno hasta la madera contrachapada y desde los horarios de riego hasta los pájaros carpinteros, es estudiado por los investigadores de TS. Eso es sobre cómo era CS cuando hice mi Ph.D., y probablemente todavía lo sea. Así que no hay una respuesta única para su (s) pregunta (s).

Trabajé en un equipo de siete personas. Puede hacer mucho más de esa manera, si su experimento consiste en crear un programa (escribimos un montón de código) y luego descubrir qué tan bien funciona en la práctica (participamos en un experimento). Nos reunimos semanalmente, todo el equipo, para tomar decisiones sobre qué construir exactamente, pero pasamos la mayor parte del tiempo construyéndolo.

Las horas dependen de la compañía para la que trabajas, pero la mayoría de la gente entiende que los cerebros, como los músculos, pueden agotarse, y entonces no tiene sentido trabajar más. Creo que lo hice alrededor de 40 horas / semana.

Estoy en mi mitad de los 50 y sigo haciendo desarrollo; Creo que un amigo de mis días universitarios sigue investigando. La fecha de caducidad es un mito. En cuanto al mercado laboral, ya no sé cómo es.

Es mi trabajo soñado, y mucho mejor de lo que imaginaba cuando estaba obteniendo mi doctorado.

(Como algunas de sus preguntas abordan los problemas de recursos humanos y contratación, responderé a esta pregunta de forma anónima).

¿Los investigadores con doctorados, que trabajan en la industria, trabajan principalmente solos o en equipo?
Colaboré con muchos, muchos estudiantes universitarios, estudiantes de doctorado, profesores universitarios e investigadores en la industria y el gobierno. Gran parte de lo que hago ahora es dar consejos y orientación, eliminar obstáculos burocráticos, etc., pero de vez en cuando vuelvo a la maleza para ayudar a resolver un problema. Pero aunque la mayor parte de mi esfuerzo de trabajo se dedica a mantenerme en contacto con los colaboradores (correo electrónico, teléfono y viajes), diría que al menos el 60% del tiempo estoy trabajando solo en mi oficina.

¿Escriben código o realizan experimentos (o van a reuniones)?
Me di cuenta muy pronto de que podía trabajar en dos ideas geniales por mi cuenta, o podría dejar de hacer el trabajo divertido y ser una pequeña parte de varios equipos que trabajan en diez ideas geniales. Así que al menos por ahora he dejado de escribir código y hacer experimentos, e incluso me estoy alejando de hacer mi propia visualización de datos (que es lo que más me ha gustado hacer). Todavía tendré tiempo para hacer un modelo teórico, ya que es de baja sobrecarga y se puede hacer en cualquier lugar (ver más abajo).

¿Cómo son las horas?
No es un trabajo, es un estilo de vida … En su mayor parte ya no estoy trabajando bajo plazos externos. Tengo un conjunto de objetivos (que incluyen mantener a mis colaboradores contentos), pero si no cumplo con una fecha límite impresa o no tengo el software listo para la entrega, no estoy afectando el resultado final. Dicho esto, esta noche estaba escribiendo un artículo durante las pausas comerciales en el juego de los Patriots, solo porque quiero obtener un montón de fórmulas menores en un formato que puedo citar.

¿Cómo es el mercado laboral / la competencia para estos trabajos?
Me gusta bromear que nuestro proceso de entrevista dura de 3 a 6 años … La “competencia” realmente no captura la naturaleza del proceso de contratación. Digamos que quiero colaborar con su asesor de doctorado y creamos un proyecto para que usted trabaje. Tiene la ventaja de que obtiene acceso a algunos recursos informáticos bastante únicos y estoy ayudando a configurar su trabajo para que sea más atractivo para mi empleador. Si la investigación va bien, seis años después, eres prácticamente el experto mundial en el campo, y tu trabajo se considera vital para nuestra misión, tanto que hemos podido conseguir dinero para contratarte y permitirte para continuar su investigación en el sitio como un postdoctorado.

¿Es realmente necesario un doctorado?
Para ser un investigador, sí, absolutamente.

Si es así, ¿cuánto cuesta la escuela de la que es esto?
No he colaborado con estudiantes de doctorado en una escuela con un rango inferior al # 90, y nada más alto que el # 5. Mi trabajo es saber quiénes son los buenos profesores, y no me importaría menos dónde trabajen, siempre y cuando tengan un buen estudiante o dos.

Finalmente, ¿tienen los investigadores la temida “fecha de caducidad” que supuestamente tienen los desarrolladores de software (en todos los lugares que leo, dice que hay que salir del desarrollo antes de los 40)?
La respuesta es “no es un problema”, pero creo que es importante entender por qué no es un problema. Si utilizo Javascript y me pagan como un niño de 40 años con hijos y una hipoteca, es un poco difícil para un administrador ver cuánto más valor aporte a la mesa que un jovencito de 21 años. Si al nuevo niño se le paga la mitad, ¿el código será la mitad de bueno? ¿Y cómo podría medirse eso?

Como investigadora me pagan como si tuviera 40 años porque estoy manejando muchas relaciones internas y externas que dan como resultado que se realicen más investigaciones que podría hacer por mi cuenta. También soy visto como un observador de talentos (varios de mis aprendices fueron contratados para ocupaciones permanentes o de larga duración este año) y me consideran un líder en mi disciplina particular. ¿Soy reemplazable? Claro, todo el mundo es. Pero hay solo un puñado de personas que podrían asumir mi rol, y todas tienen los trabajos que les gustan. Un doctorado de reciente aparición tardaría cinco años en convertirse en el papel que tengo (al igual que yo), y eso significa que no estoy compitiendo con los doctorados de nueva creación (y ciertamente no con los de 21 años).