¿Cuáles son las áreas más prometedoras en CS? ¿Por qué?

Ingeniería de software.

Primero, disipemos el mito de que la ingeniería de software (SE) es lo mismo que la programación.

¡Es más grande!

  • SE> programación + prueba
  • SE> diseño + programación + pruebas
  • SE> arquitectura + diseño + programación + pruebas
  • SE> Requisitos + arquitectura + diseño + programación + pruebas
  • SE> Negociación + requisitos + arquitectura + diseño + programación + pruebas
  • SE> gestión de proyectos + negociación + requisitos + arquitectura + diseño + programación + pruebas
  • …y así.

Dada la escala actual de sistemas y el poder de cómputo barato y la distribución global de recursos y equipos, ¡simplemente ser bueno en la visión limitada del ciclo de vida del desarrollo de software no es realmente suficiente!

Comprensión del panorama general:

  • ¿Por qué lo necesitamos?
  • Quien lo necesita
  • ¿Qué tenemos que hacer para hacerlo?
  • ¿Alguna asociación para forjar?
  • Cuales son los riesgos?
  • ¿Cuáles son los beneficios medibles?
  • ¿Cuáles son los costos (de todo lo anterior)?
  • ¿Qué es realmente importante / valioso / vale la pena hacer?
  • ¿Cuánto se puede hacer teniendo en cuenta las limitaciones de horario / presupuesto?
  • ¿Cómo podemos rastrear si realmente hicimos un buen trabajo?
  • …¡y así!

¡Los puntos anteriores ni siquiera implican escribir una sola línea de código! Hay un viejo adagio en el mundo SE: la ingeniería de software es 80% de ingeniería de personas y 20% de desarrollo.

¡Los ingenieros de software del mañana no solo pueden ser buenos en los aspectos técnicos! Desperdiciamos miles de millones de dólares en malas inversiones en software (por ejemplo, Google para informes de Standish Chaos). ¡Y no porque la solución fuera tecnológicamente pobre, sino porque estaba mal administrada!

La mayoría de la gente puede aprender a codificar / probar bastante bien, pero aprender los verdaderos principios de SE – construir bien el software y administrarlo y comprender el panorama general es ¡órdenes de magnitud más importantes!

Hay tanto que aprender e innovar que te dejará boquiabierto. Este campo necesita muchos más pensadores y hacedores. Pero todo lo que tenemos son codificadores y probadores, pero muy pocos ingenieros, según las necesidades descritas anteriormente.

SE no es tan maduro como la ingeniería civil u otros campos de la ingeniería clásica. Por lo tanto, hay mucho que aprender y cambiar. De hecho, es bastante rico y fascinante. Considere seriamente este campo: ¡se sorprenderá gratamente de su profundidad!

* Asumiendo en el contexto de la investigación *

Muy difícil de decir. Es un campo de estudio en constante evolución, a menudo combinado con otros campos de estudio. Voy a responder por los campos que más me interesan: inteligencia artificial y computación cuántica

AI: aprendizaje automático , PNL , análisis de datos
Hace décadas, estábamos luchando con el almacenamiento de datos en gran cantidad. La tecnología para ampliar el sistema de almacenamiento ha madurado un poco desde entonces. Ahora es el momento de extraer información previamente desconocida, ya que son potencialmente útiles.

Específicamente aprendizaje automático:

minería de flujo de alta velocidad, donde debe usar el aprendizaje incremental porque solo puede leer los datos que llegan una vez.
Aprendizaje activo, enfoques de aprendizaje donde la máquina tiene que elegir sus propios datos de entrenamiento a partir de ejemplos y distribución de datos previamente conocidos.

Computación cuántica
La idea ha existido desde 1982, y hasta ahora todavía en su infancia. Es una nuez tan difícil de romper.

Esta es una respuesta corta, pero estas áreas en CS tendrán una gran tendencia en los próximos años.

  1. Internet de las cosas : un día, todos los dispositivos se conectarán y se alimentarán con la capacidad de transferir y recibir datos.
  2. Ingeniería de software : la creación de software para teléfonos, automóviles, relojes, televisores, PC, tabletas y dispositivos futuros nunca se extinguirá.
  3. Inteligencia artificial : declaración general, pero realmente me refiero a la ciencia de datos eficiente. No piense en Machine Learning porque puede buscar rutas alternativas para la IA. Dentro de la IA, hay muchas sub-ramas como Computer Vision, NLP, etc. Por favor, compruébelo porque hay muchas oportunidades aquí, pero el problema que la industria está olvidando es que se necesita un modelado conceptual en lugar de computacional pesado. modelos matemáticos que tienen “alta precisión”.
  4. Computación en la nube : en el futuro, todo estará en la nube. Lentamente en el futuro, incluso las pequeñas empresas serán impulsadas por la nube, ya que la tecnología estará tan integrada con lo que hacemos. Esta área trabaja de la mano con IOT.
  5. Computación cuántica : esta es una cookie difícil pero un campo importante que cambiará el juego para la industria. Espere nuevo hardware, nuevos dispositivos, nuevos paradigmas.
  6. Nanoingeniería : modificar elementos a un nivel nano es optimizar productos en un gran esquema. Este campo me emociona más, aunque todavía estoy buscando encontrar una entrada ya que está fuera de mis objetivos actuales.
  7. Impresión 3D : actualmente la tecnología aún es nueva y yo mismo no estoy familiarizado con ella, pero pienso en lo que puede hacer con ella. ¡Puedes construir casi cualquier cosa que desees! Uno de mis amigos solo imprime en 3D cosas que necesita, como billeteras, fundas para teléfonos celulares y otros accesorios.
  8. Robótica : no hay duda de que los robots caminarán por la tierra en los próximos 10 años. Algunos ya tienen pero tienen inteligencia finita.
  9. Realidad virtual : el futuro es virtual. Casi muchas cosas que hacemos en la vida real se pueden hacer en realidad virtual. Incluso reuniones. Definitivamente sé que dejaré de viajar por el mundo para reunirme. En cambio, solo alojaré una sala de realidad virtual. La realidad virtual también será parte de las experiencias del mundo real. Algunos parques de atracciones tienen auriculares VR como parte de la experiencia de la montaña rusa
  10. Realidad aumentada : todavía no veo aplicaciones muy amplias, pero los nuevos filtros de Pokemon Go y Snapchats muestran que AR puede ser una herramienta omnipresente para entretener o ayudar a las personas en el mundo real.
  11. Ciberseguridad : la gente piensa que este será un campo de tendencia, pero honestamente encuentro crypto una broma. Mejor seguridad viene mejores hackers. Y hay un dicho que dice: “cada sistema es pirateable. es cuánto tiempo lleva lo que lo hace “inquebrantable”. Creo que en el futuro, no se necesitará criptografía porque el mundo estará tan abierto y conectado. Pero para que eso suceda, la sociedad tendrá que tomar un cambio radical.
  12. Educación : pronto, la codificación será una necesidad como aprender un nuevo idioma. La demanda de maestros de CS no es alta ahora, pero lo será a medida que el público y la academia adopten plenamente la integración de CS en su plan de estudios, incluso en áreas no relacionadas con CS.

No tengo que discutir el aprendizaje automático / minería de datos, ya que otras respuestas ya lo han hecho. Así que votaré por la seguridad y la privacidad, a pesar de que no trabajo en esa área.

Confiamos en las computadoras más que nunca, y nuestra dependencia de ellas solo está aumentando. Cuando piensas en cuántas computadoras controlan los sistemas en los que arriesgamos nuestras vidas, y cuáles serían las consecuencias de que estas computadoras sean pirateadas, es bastante aterrador.

Así que olvídate de las infracciones de Facebook, Target y Ashley Madison. No mataron personas.

¿Qué pasaría si alguien pudiera derribar la red eléctrica?

¿Qué pasaría si alguien pudiera hacerse cargo de los sistemas de control de su automóvil? (Se ha hecho ingresando a través de una vulnerabilidad en un sistema telemático).

¿Qué pasaría si tuvieras un marcapasos y alguien pudiera hackearlo?

La seguridad es un juego de gato y ratón, y seguirá siendo uno durante todo el tiempo que pueda ver. Los malos encuentran y explotan una vulnerabilidad. Los buenos lo arreglan. Los malos encuentran y explotan alguna otra vulnerabilidad. Los buenos lo arreglan. Y el ritmo continua.

¿Qué tanta diversión tendrán los malos cuando tengamos nanobots recorriendo nuestros vasos sanguíneos para mantenernos saludables?

Siempre recomiendo a mis alumnos que si están buscando un área de ciencias de la computación para la que siempre habrá una necesidad, busquen seguridad.

Actualmente, los campos más prometedores son la Inteligencia Artificial (el aprendizaje automático es un tema candente en este campo en este momento), así como el Internet de las cosas (IoT).

Estos términos se lanzan con tanta frecuencia y sus significados se vuelven complicados, por lo que daré una descripción rápida de lo que significa cada uno de los términos en negrita.

  1. Inteligencia Artificial (IA): la capacidad de una computadora para hacer un trabajo que se cree que toma la “inteligencia de un humano”
  1. La inteligencia artificial puede extenderse a la capacidad de una computadora para tomar decisiones, “aprender” (aprendizaje automático), comprender el lenguaje humano hablado y escrito (procesamiento del lenguaje natural).
  2. Todos los subcampos en IA no están ni cerca de saturados y apenas hemos arañado la superficie de lo que podemos hacer con Inteligencia Artificial.
  3. La IA requiere un fondo matemático relativamente fuerte. Muchas personas con las que hablo dicen que Machine Learning realmente se trata más de identificar patrones en los datos e implementar algoritmos que la mayoría de los otros campos de codificación.
  • Internet de las cosas (IoT): una conectividad de dispositivos que permite transferir datos a través de una red sin ayuda externa.
    1. Internet de las cosas es esencialmente lo que es un “hogar inteligente”. Por ejemplo, también puede asegurarse de que su horno esté apagado y que sus puertas estén cerradas cuando esté de viaje y, si no lo están, ¡puede apagarlas de forma remota!
    2. Esencialmente, lo que IoT intenta hacer es optimizar su control de sus procesos diarios en una base de datos, lo que le permite ser más eficiente con la forma en que usa su tiempo.

    Todos estos conceptos se utilizan cada vez más en la sociedad actual. El modelo S de Tesla, por ejemplo, utiliza datos de usuario que Tesla ha recopilado en los últimos años para darle la capacidad de conducir solo (en la autopista) y estacionarse solo. Siri / Alexa utiliza una combinación de reconocimiento de voz e IoT para realizar procesos en su hogar.

    Estos campos se han generalizado por las grandes compañías y se están explorando bastante, y aún tienen un gran potencial; Sin embargo, voy a cambiar de marcha a lo que será un campo prometedor en informática.

    Lo que se puede hacer solo con computadoras está disminuyendo lentamente, a medida que el campo se vuelve más saturado. Solo puede haber tantas aplicaciones, bots de mensajería o sitios web. Esto me lleva a mi pensamiento en campos interdisciplinarios.

    Las computadoras son una tecnología tan poderosa, y apenas estamos comenzando a aprovechar su potencial. Un campo en el que las computadoras pueden tener un gran impacto es la medicina. Al hacer que las computadoras ayuden con procesos quirúrgicos peligrosos o al tener una nanotecnología que mata las células cancerosas, podemos salvar miles de vidas y garantizar que las personas reciban la atención adecuada. Al utilizar AI, también podemos hacer posible diagnosticar enfermedades sin tener que visitar el consultorio del médico. De hecho, durante un hackathon, ayudé a codificar un chatbot de Facebook que puede ayudar a diagnosticar enfermedades (bastante comunes, ninguna que requiera muchos análisis de sangre o pruebas) al utilizar Watson de IBM y crear un “árbol de síntomas”.

    Una mirada a cómo podría verse la cirugía asistida por computadora

    Hay muchos más campos en los que se pueden utilizar las computadoras (Educación, Química, etc.) y creo que si desea poder buscar un área prometedora en CS, debe diversificar sus talentos más allá de la informática y tratar de encontrar enlaces entre él y otros temas que te gustan.

    Hhm, esta es una pregunta interesante. Intuitivamente, la IA, la minería de datos y las áreas relacionadas se encuentran entre las áreas más prometedoras. Pero que mas?

    Entonces, por curiosidad, revisé la lista de las nuevas facultades en Berkeley EECS (ver EECS en UC Berkeley). Es probable que los nuevos profesores asistentes hagan investigaciones en áreas prometedoras, porque significa que el área de investigación aún no está saturada y, por lo tanto, es más fácil publicar constantemente buenos resultados (después de todo, tienen presión de tenencia). Y en caso de que haya estado escondido en una cueva durante demasiado tiempo, el departamento de informática de Berkeley es uno de los más prestigiosos del mundo, por lo que sus profesores asistentes se encuentran entre los mejores estudiantes de doctorado y posdoctorados.

    Curiosamente, 3 profesores asistentes (Alessandro Chiesa, Sanjam Garg, Raluca Ada Popa) mencionan la seguridad como su interés de investigación. Así que mi hallazgo aparentemente está de acuerdo con la respuesta de Thomas Cormen de que la seguridad es un área prometedora.

    El aprendizaje iterativo de máquinas y la colaboración de científicos de datos son áreas muy importantes en CS para mejorar el desarrollo de buenos modelos de aprendizaje automático. El modelado de ML es un proceso iterativo y es extremadamente importante realizar un seguimiento de sus pasos, dependencias entre los pasos, dependencias entre su código y archivos de datos y todos los argumentos en ejecución del código. Esto se vuelve aún más importante y complicado en un entorno de equipo donde la colaboración de los científicos de datos requiere una gran cantidad de esfuerzo del equipo: “Una tubería bien diseñada hace que los científicos de datos iteren mucho más rápido, lo que puede ser una gran ventaja competitiva”

    Las herramientas de canalización regulares como Airflow y Luigi son buenas para representar flujos de trabajo estáticos y tolerantes a fallas, pero su funcionalidad se crea para monitoreo, optimización y tolerancia a fallas. Sin embargo, estos problemas no son muy relevantes para la vida cotidiana de los científicos de datos. Tales científicos de datos necesitan un sistema de administración de flujo de trabajo dinámico y liviano que se implementó recientemente utilizando la herramienta de control de versión de datos (DVC). Aquí hay un artículo para obtener más detalles sobre el enfoque de DVC: Cómo un científico de datos puede mejorar su productividad

    Computación cuántica

    La cantidad de oportunidades de investigación en esta área es grande. No está demasiado lejos cuando estaremos expuestos a las computadoras cuánticas. Estas computadoras requieren diferentes tipos de pensamiento para aprovechar su poder extremo.

    Gran parte del trabajo continúa para encontrar nuevos algoritmos para los problemas en los que la computadora clásica es lenta o incapaz de resolver, pero puede usar la mecánica cuántica para mejorar la solución a dicho problema. La criptografía informática cuántica posterior es otro tema candente ya que con la introducción de la tradición de estas computadoras, el criptosistema ya no será computacionalmente seguro.

    Se trata del avance en tecnología que importa. De vez en cuando aparecen nuevas cosas interesantes, pero lo básico sigue siendo el mismo de siempre. Algunas cosas notables son las siguientes:

    1. Machine Learning, la gente ahora está haciendo Machine Learning usando Javascript, dice el Fundador de JS.
    2. La realidad aumentada es otra cosa junto con Deep Learning.
    3. Y, por supuesto, ¿cómo podemos olvidarnos de la inteligencia artificial?
    4. Se deben tener en cuenta las terminologías de red de los cursos proporcionados por Cisco, es decir, CCNA y CCNIE.
    5. PaaS, IaaS, etc. parecen prometedores. Otro ejemplo es la plataforma Azure de Microsoft.

    He estado trabajando como ingeniero de software durante 14 años y, aunque no tanto como algunos, estos son mis pensamientos.

    1. Inteligencia artificial: después de escribir muchas aplicaciones y crear sistemas, examiné esto y es seguro el futuro.
    2. Aprendizaje automático: un segundo cercano a la IA y una parte integral de ella
    3. Big Data: creo que ninguno de los 2 anteriores puede suceder sin Big Data.

    Algunas áreas prometedoras para los graduados en ciencias de la computación incluyen las siguientes:
    Ingeniero de software
    Desarrollador de software
    Ingeniero de programación superior
    Ingeniero de Software Sr. / Desarrollador / Programador
    Desarrollador web
    Gerente de Tecnología de la Información (TI)
    Programador Analista

    Bueno, técnicamente, casi todas las áreas son prometedoras, ya que tienen demanda y se pagan bien.

    Fuente: Bachiller en Ciencias (BS / BSc), Salario de Grado en Ciencias de la Computación (CS), Salarios promedio

    Según un estudio realizado por una empresa de investigación de TI “Gartner”, los centros de datos en cada hiperescala serán una de las áreas más prometedoras para el crecimiento del mercado de servidores. Gartner afirma que las ventas de los vendedores aumentarán en los próximos años. Según él, esta área representa aproximadamente el 11% de las ventas del servidor. También dice que el mercado de servidores x86 alcanzará hasta el 17% para el año 2015. Los proveedores de servidores también ofrecen soporte, instalación, planean la fecha de fabricación de los artículos y proporcionan diseños a los clientes.

    El área más cara es en las personas que crean intercambios de bitcoins … es decir, “criptomonedas”. El área más prometedora sigue siendo el “comportamiento modelado” … y, por supuesto, el plagio como computadora solo puede saber lo que se sabe y es incapaz de Discovery.

    Esa es una pregunta vaga y abierta con casi ninguna respuesta verdadera.

    Es como preguntar cuál es el área más prometedora en ingeniería.

    CS es amplio, siempre en evolución, y la promesa es interpretativa.

    ¿Te refieres a dinero sabio, seguridad laboral, evolucionando?

    CS es similar a la física, puede enfocarse en muchas direcciones diferentes e igualmente válidas. Debe decidir qué significa “prometedor” para usted, qué considera de valor. Explore áreas que suenan interesantes. (No tendrían un curso si no fuera percibido como valorado por alguien).

    En mi humilde opinión: análisis de datos y aprendizaje automático.

    Podemos almacenar cantidades increíbles de datos a muy bajo costo. Las personas que saben cómo entenderlo y pueden hacer que una computadora aprenda de él son extremadamente valiosas ahora y lo serán en el futuro.

    Data Mining and Cloud porque para las empresas, todo se trata de encontrar consumidores potenciales óptimos.

    No es una respuesta, pero tengo curiosidad por ver cómo Blockchain no se ha enumerado aquí.

    Machine Learning, sistemas distribuidos