¿Hay algún lugar para ingenieros de software que no aprendan IA o Machine Learning en los próximos 10 años o todos tienen que aprenderlo?

El aprendizaje automático será (o quizás ya lo sea) una parte tan importante de la ingeniería de software que todos tendrán que entender dónde encaja. Pero al igual que, por ejemplo, la administración de la base de datos o el diseño de la interfaz de usuario, eso no significa que todos los ingenieros tendrán para ser un experto en aprendizaje automático, será aceptable trabajar con otros expertos. Pero cuanto más sepa sobre el aprendizaje automático, mejor será para diseñar una solución.

También creo que será importante que los expertos en aprendizaje automático y los ingenieros de software se unan para desarrollar las mejores prácticas para el desarrollo de software de sistemas de aprendizaje automático. Actualmente tenemos un régimen de prueba de software en el que define pruebas unitarias con llamadas a métodos como afirmar verdadero o afirmar iguales . Necesitaremos nuevos procesos de prueba que involucren la ejecución de experimentos, el análisis de los resultados, la comparación de los resultados de hoy con los resultados anteriores para buscar deriva, decidir si la deriva es una variación aleatoria o no estacionaria de los datos, etc. Esta es un área excelente para el software ingenieros y personas de aprendizaje automático para trabajar juntos para construir algo nuevo y mejor.

Si nos fijamos en la historia de la informática, va al revés.

Digamos que el número de ingenieros de software que entienden cómo funciona un compilador o un intérprete disminuyó, no aumentó.

Cuando tenía 20 años, desarrollar bajo Unix ocasionalmente requeriría leer el código fuente del sistema operativo. ¿Cuántos ingenieros de software actuales tienen a mano el código de Linux?

Espero que los futuros codificadores definan el análisis predictivo de la forma en que definimos índices en un Oracle RDB en estos días. Escribirá una línea que describe qué tipo de análisis predictivo sobre qué datos desea. Luego podrá consultar la predicción de la forma en que consulta sus datos regulares o suscribiéndose a sus eventos. Tendría muy poca idea de cómo se implementa o cuándo se ejecuta, en commit o en consulta. AI / Machine Learning se convertiría en parte de una plataforma de gestión de la información.

Creo que la clave estará en entender cómo funciona y cómo aplicarlo. No creo que tenga que ser un experto, similar a cómo no tiene que ser un experto en todos los aspectos de la creación de una aplicación en este momento. A lo largo de los últimos 4–5 años, he descubierto que la magia está en comprender cómo funciona algo para que luego puedas aplicarlo. Es por eso que recientemente comencé a sumergirme en ML recientemente, por lo que realmente puedo entender cómo se puede aplicar. Si no comprende la herramienta, no puede usarla.

También creo que veremos más de AI como un servicio, similar a cómo tenemos API que realizan tareas para nosotros. Por ejemplo, puedo integrar Twilio para manejar la comunicación SMS para mi producto. No tengo tanto conocimiento sobre esto como el equipo de Twilio, pero como sé cómo funciona / qué es capaz, puedo integrar Twilio a mi solución para ayudar a resolver mejor un problema. Supongo que así es como se integrará la inteligencia artificial con el tiempo.

En el futuro, cada vez más aplicaciones incluirán capacidades de comprensión, razonamiento, reconocimiento o autoaprendizaje. Este es un vasto campo de desarrollo con potencial en cualquier industria que puedas imaginar. La IA es un área de muchos temas, tanto de ingeniería como teóricos. El aprendizaje automático es una parte de ingeniería de la IA y se recomienda realmente para las personas que desean aumentar las capacidades de sus aplicaciones y beneficiarse de su comportamiento robusto o inteligente.

En el enfoque “estándar”, un ingeniero de software escribiría un programa de procedimiento que para cualquier entrada adecuada daría una salida esperada. Para problemas simples esto está bien, pero cuando los problemas se vuelven más complejos, la percepción humana es muy limitada en la confrontación con un gran número de factores. Aquí es donde se aplica la IA. Si eres un ingeniero de software y quieres resolver grandes problemas, definitivamente deberías considerar aprender al menos los conceptos básicos del tema.

No importa cuánto AI sea progresivo, solo representará una pequeña parte de las áreas generales de TI y, por supuesto, nadie se ve obligado a aprenderlo. La mayoría de los campos de TI seguirán siendo los mismos o progresarán, por lo que el potencial está en todas partes, solo mantente alerta vigila

No creo que todos necesiten aprender inteligencia artificial o aprendizaje automático, ya que muy pronto estará disponible como una “inteligencia artificial como servicio” en múltiples dominios.

La IA como servicio se volverá común, por lo que la mayoría de los ingenieros necesitarán saber qué API utilizar y cuándo.

More Interesting

¿Por qué los tamaños de mini lotes grandes afectan negativamente la precisión de la validación?

Quiero aprender el procesamiento del lenguaje natural en CMU. ¿Es mejor tomarlo como un estudiante de CS o tomarlo como un estudiante de lingüística (como una electiva)?

Suponga que la máquina es multinúcleo, el tiempo de ejecución de un programa en una máquina que ejecuta solo ese proceso es igual al tiempo de ejecución en una máquina en la que hay otros procesos ejecutados junto con él, ¿no es así?

¿Debo ir a la Universidad de Radboud o Groningen para Machine Learning?

¿Cuál es la forma correcta de verificar si mi fórmula de gradiente es correcta o no?

¿Cuáles son los pros y los contras de las diferentes técnicas de factorización matricial: rango bajo, SVD y NMF? ¿Cuáles son algunos ejemplos prácticos de cada uno?

Me gustaría trabajar en Apple como ingeniero de Machine Learning. Sé un poco de Python y R, ¿cómo me distingo de otros candidatos?

Mi algoritmo de ML, escrito en Python, está casi completo. Quiero que sea un sitio web. ¿Cuál es la mejor manera de conectar mi script Python a Meteor?

¿Podrían probarse los conceptos de la medicina tradicional china mediante el aprendizaje profundo?

¿Alguna vez ha utilizado el aprendizaje automático de alguna manera para ayudar en las pruebas de software y la automatización de pruebas?

¿Cuáles son algunas arquitecturas de redes neuronales?

¿Pueden Kmeans y el algoritmo DBSCAN dar el mismo resultado para un conjunto de datos en particular?

¿Se está separando la ciencia de datos / aprendizaje automático de la informática tradicional?

¿El aprendizaje por refuerzo con redes neuronales profundas implica descenso de gradiente y propagación hacia atrás?

¿Qué requisitos previos debe tener para aprender la teoría de las redes neuronales artificiales?