¿Es el aprendizaje automático y el aprendizaje profundo una carrera mejor que el desarrollo web ahora?

A la larga sí. Vale totalmente la pena.

Carrera significa cosas diferentes para diferentes personas. Mi respuesta se centra principalmente en el aspecto monetario de la misma. Puede no ser aplicable si tiene expectativas diferentes, como construir su propia empresa o adquirir experiencia en un área diferente.

El desarrollo web o cualquier desarrollo de interfaz de usuario (incluidos dispositivos móviles o de escritorio) es muy solicitado porque eso es una necesidad hoy en día. Hay una gran demanda. Por el lado de la oferta, cada Tom, Dick o Harry puede aprender programación y hacer desarrollo web básico. Esto también significa que es bastante competitivo. A menos que esté trabajando para las principales empresas de tecnología, apenas representará dinero o el crecimiento a largo plazo.

El aprendizaje automático en este punto tiene una gran demanda. Hay tantos problemas que ML puede resolver, es solo que no hay grandes marcos o personas con habilidades adecuadas. La mayoría de los doctores que provienen de antecedentes estadísticos o de CS no son grandes codificadores. Pueden crear prototipos, pero llevar cualquier cosa al nivel de producción sigue siendo una pesadilla. Las personas con un gran conjunto de habilidades de programación no tienen las herramientas y los conocimientos adecuados para integrar ML en sus tareas cotidianas. Facebook, Google están tratando de construir herramientas internas para que sus ingenieros aprovechen el aprendizaje automático en su día a día. Una vez que la aplicación del aprendizaje automático cruza algunas barreras importantes, surgirá otra dimensión completamente nueva para la resolución de problemas.

Entonces, SÍ, ML tiene mejores perspectivas profesionales a partir de hoy en comparación con la Web.

En mi opinión, el trabajo técnico más interesante se puede hacer si tienes mucha autonomía o si estás trabajando en cosas fundamentales. (O, supongo que si eres Jeff Dean, ambos).

Esto significa que tanto para el aprendizaje automático como para el desarrollo web, hay algunos roles de la industria que son muy interesantes y otros que son relativamente poco interesantes. A medida que desarrolles tu carrera, mi consejo es que te expongas a los diferentes aspectos de la ingeniería y te mantengas fuerte como generalista, incluso si comienzas a especializarte más.

En cuanto a los ejemplos de mi punto anterior, considere los siguientes roles:

  • Trabajando en el equipo central detrás de React or Meteor: un trabajo front-end muy interesante y fundamental
  • Trabajando para agregar la característica (N + 1) -st a un producto que ha logrado un ajuste en el mercado pero que no está innovando demasiado: trabajo inicial menos interesante
  • Líder técnico para el front-end de un nuevo producto SaaS: trabajo muy interesante que implica autonomía y opciones de arquitectura
  • Agregar el giro (N + 1) -st a un modelo de aprendizaje automático para mejorar el rendimiento en un 0.01% al conectar cosas de un paquete existente a un sistema existente y ejecutar pruebas, trabajo de aprendizaje automático no muy interesante
  • Diseño de los fundamentos de Google Brain: trabajo de aprendizaje automático fundamental muy interesante

Muchos jóvenes brillantes se hacen esta pregunta, y no sin razón. Es cierto, el aprendizaje automático es muy importante y paga extremadamente bien. Pero, ¿qué es una “mejor carrera”, especialmente si la comparamos con el desarrollo web?

Te daré cinco razones por las que el desarrollo web es una carrera mejor que el aprendizaje automático.

  1. Es un suministro interminable de empleos.

    Todo el mundo necesita un sitio web o nuevas funciones para él. La demanda de desarrolladores web es enorme, y no va a ninguna parte a menos que alguien cierre Internet. ML tiene una barra muy alta y la competencia se desplaza hacia las mejores universidades del mundo.

  2. Es mucho más simple de hacer, y aún así paga muy bien.

    No estoy hablando de lo fascinante que es este trabajo. No sé nada sobre la fascinación por el desarrollo web, pero a algunas personas les gusta mucho. Hay problemas desafiantes con él, pero son técnicos, lo que significa que, si conoce sus marcos y navegadores, prácticamente lo tiene cubierto.

  3. Es mucho, mucho más simple de aprender

    Olvídate de álgebra, estadísticas, optimización. Hay muchas otras cosas que aprender, y no es exactamente un paseo por el parque, pero el desarrollo web tiene casi cero matemáticas involucradas.

  4. Tienes mejores posibilidades de hacerte rico

    Seamos realistas, la mayoría de los excelentes productos que realmente hacen dinero se centran en alguna idea relacionada con el cliente, no en un invento brillante. Facebook no tenía redes neuronales. Tampoco Snapchat, Dropbox, etc.

  5. Siempre sabes lo que es posible

    Entonces, vas a construir un sitio web. Genial, planifique la funcionalidad, dibuje el diseño y comience a codificar. No tiene que hacer magia, solo hace su trabajo todos los días, ingresa el código, bebe su café y recibe su salario. Siempre sabes que al final este sitio web tendrá la funcionalidad exacta que has planeado. Ese no es el caso con ML.
    xkcd, como siempre, lo hace bien:

Entonces, si lo que busca son buenas probabilidades, el desarrollo web es su elección. Todo estará bien.

También depende de qué quiere decir exactamente con desarrollo web. En términos generales, el desarrollo de back-end abre muchas más oportunidades para que un ingeniero extienda su carrera en el futuro en muchas áreas, tales como: computación distribuida, recuperación de datos, software a nivel de hardware, aprendizaje automático e inteligencia artificial, etc.

Tenga en cuenta que ML también requiere una gran cantidad de esfuerzo de ingeniería en la construcción de infraestructura de back-end que es capaz de escalar estos algoritmos de manera eficiente.

El equipo de Google Brain, por ejemplo, bajo Jeff Dean, actualmente está aplicando modelos de aprendizaje automático para escalar eficientemente los cálculos de aprendizaje automático. Construyen modelos que aprenden muchas métricas en tiempo de ejecución y luego usan estos modelos para escalar adecuadamente los cálculos de aprendizaje automático en la infraestructura de Google. Lee sus últimos artículos.

Entonces, en general, la ingeniería de back-end abre muchas más oportunidades que el desarrollo web tradicional, pero al mismo tiempo requiere un conocimiento mucho más fundamental en diseño de sistemas informáticos, algoritmos y hardware.

Pasé mucho tiempo a lo largo de mi carrera aprendiendo diferentes tecnologías y en algún momento me consideré un ingeniero de pila completa. Pensé que esto es genial porque puedo hacer millones de cosas diferentes; Soy una especie de cuchillo suizo … Pero rápidamente me di cuenta de que en realidad apesta. No puedes hacer muchas cosas y hacerlas todas geniales.

Durante los últimos siete años a lo largo de mi carrera en Google y ahora en Uber, cambié completamente al backend y en este momento este camino me llevó a construir una plataforma escalable de ciencia de datos y aprendizaje automático en el equipo de mercado de Uber, que ahora es parte del motor dinámico de precios.

Un vendedor de autos dijo que el convertible frente al concesionario vende la camioneta en la parte de atrás.

En mi opinión, eso es lo mismo con ML y el desarrollo “regular”.

En mi trabajo se supone que debo hacer aprendizaje automático, minería de datos e inteligencia artificial. En realidad, estoy haciendo bases de datos (en un rango de 10-20 GB) e interactúo con idiotas que creen que lo que hago es Data Science y Big Data. Obviamente, en el hardware de Amazon lento y caro, todo parece big data. Mi ventaja es que puedo escribir cualquier aplicación desde un ERP grande a un programa de microcontrolador. Además, puedo administrar equipos de programadores de manera efectiva, además tengo un doctorado en ciencias de la computación.

Este es el caso en toda la industria. La gente no entiende el aprendizaje automático. A veces me piden que escriba redes neuronales que realmente se traduzcan en una consulta SQL de una tabla, con filtro. Sin embargo, están felices de dar trabajos de base de datos regulares a alguien que parece estar bien informado sobre los datos.

La academia no es un lugar más seguro, ya que la investigación fundamental de Machine Learning está disminuyendo, a pesar de ser considerada una palabra de moda en todas partes.

Machine Learning aún está en pañales. Es como el negocio del petróleo en 1900, cuando la gente usaba queroseno en lugar de aceite de ballena. El hecho de que nuestros resultados no sean 100% correctos es un gran inconveniente, esto requiere interfaces de interfaz de usuario específicas para permitir que las personas tomen la decisión correcta. Mi enfoque es que, mientras hago el trabajo aburrido, también realizo una investigación personal sobre la aplicación de IA en robótica. Aquí lo que hago es realmente IA (no estoy limitado al aprendizaje profundo, pero a veces uso redes neuronales FeedForward, capas convolucionales, junto con otras técnicas, pasadas de moda, como las redes de Kohonen o las neuronas Hopfield, y cosas nuevas que tengo sin intención de revelar). El centro de datos de mi hogar es un grupo de 48 CPU y cuatro veces más discos duros, por lo que creo que estoy bastante en serio en el negocio. También tengo varias impresoras 3d, una fresadora y un torno. Una vez que comprenda claramente el problema que estoy resolviendo, probablemente me mudaré al nuevo hardware de nvidia. Si esto funciona, seré dueño de una empresa que construye un robot de uso general (no humanoide) capaz de autoensamblarse en la forma deseada y usar herramientas comunes para realizar cualquier tarea doméstica o industrial, como por ejemplo cortar un árbol, reemplazar neumáticos de un coche o construir una pieza de joyería. Si no, todavía puedo mantener mi trabajo diario.

No mejor, solo diferente.

El desarrollo web tiene una mayor demanda, pero también un mayor grupo de talentos. En ambos casos, la demanda supera con creces la oferta de personas calificadas. Lo que significa que, si eres experto en lo que haces, no deberías tener problemas para encontrar un trabajo en cualquiera de las carreras.

Ni siquiera diría que ML es más difícil. Es simplemente un tipo diferente de difícil.

Desarrollo web:

  • Muy alta demanda de talento.
  • Grupo de talentos de tamaño mediano.
  • Salarios muy altos.
  • Más mecánico
  • Más codificación involucrada.
  • Bucle de retroalimentación directa.
  • Las partes interesadas ven resultados inmediatos.
  • Se presta a los hacedores de mente práctica.

Aprendizaje automático:

  • Alta demanda de talento.
  • Pequeño grupo de talentos.
  • Salarios muy altos.
  • Más abstracto
  • Más pensamiento de alto nivel involucrado.
  • Las partes interesadas saben menos sobre lo que haces.
  • Necesitas ser más autónomo.
  • Se presta a pensadores teóricos.

Hay otro aspecto importante con respecto a su elección de carrera: la obsolescencia.

Cada tres o cuatro años, todo el conocimiento que pueda obtener como desarrollador web se vuelve obsoleto. Realmente no aprendes de por vida. Tan pronto como esté a punto de dominar un marco específico, se presenta otro y sus conocimientos y habilidades probablemente ya no sean útiles.

En Machine Learning, sin embargo, este no es el caso. Aprendes principios, así como algoritmos que han sido probados y bien establecidos desde hace mucho tiempo. Estos todavía son muy poderosos hoy y probablemente continuarán siéndolo en el futuro. Las nuevas bibliotecas de ML pueden estar disponibles de vez en cuando, pero lo que aprenda sobre los principios definitivamente durará mucho más.

Finalmente, cuando tome su decisión, siga su pasión, pero también tenga en cuenta lo que se ve haciendo dentro de diez años, no solo dentro de un par de años.

En el año 2000, la gente pensaba lo mismo sobre la ejecución de granjas de servidores y servidores de correo. Todos necesitan correo electrónico y capacidad de servidor, ¿verdad?

El desarrollador web se moverá hacia roles compatibles con el diseñador gráfico / propietario del negocio utilizando plataformas de comodatización similares pero más flexibles y complejas que Word Press o externalizadas a tiendas de desarrollo web.

Los datos son el núcleo de cada sistema empresarial y las corporaciones no quieren gastar dinero desarrollando recursos internamente para implementar sistemas individuales. Quieren lo más cercano posible a soluciones clave para administrar flujos de trabajo específicos dentro de la organización.

En lo que encontrarán valor es en alguien que sepa cómo extraer datos de esos sistemas individuales y compilar y correlacionar esos datos. Por ejemplo, alguien que puede extraer datos de un sistema de recursos humanos, correlacionarlo con los proyectos existentes en su cartera, vincularlo con la solución IOT de mantenimiento del edificio, el sistema de administración de estacionamiento y los datos del sistema de seguridad para encontrar ahorros en los costos de gestión al determinar el mejor horario de trabajo para sus empleados que admite las mejores configuraciones de iluminación y HVAC, proporcionando el mejor ahorro de costos para la empresa, o ¿qué mensajes de marketing generan el mejor tráfico a datos demográficos específicos con un patrón de uso específico en el sitio web?

Hay MUCHAS preguntas que hacer y encontrar respuestas respaldadas por datos requeridas para crear una ventaja competitiva, que solo pueden responderse mediante la coincidencia de patrones y el aprendizaje profundo.

Google, Facebook, entre muchos otros sitios de redes sociales, ofrecen productos gratuitos para agregar datos sobre usted. Es posible que estén utilizando esos datos para publicidad, pero en algún momento, si no es así, ofrecerán esos datos a un precio a los clientes por más que fines publicitarios directos, lo que permitirá a las empresas analizarlos para obtener información más allá de lo que podemos imaginar. Imagine el estado de ánimo de un grupo demográfico específico en una región del país que desencadena una respuesta inmediata a ese estado de ánimo al aumentar los suministros de un producto específico en las tiendas o aumentar el número de trabajadores a tiempo para gestionar ese cambio de estado de ánimo … ninguna aplicación web proporcionará ese tipo de valor o ser lo suficientemente holístico como para ser relevante para resolver este tipo de problemas. Además de eso, las empresas siempre estarán dispuestas a externalizar las tareas simples de creación de sitios web, pero no externalizarán la gestión de innovaciones respaldadas por datos que ofrecen una ventaja competitiva específica de la industria sobre los modelos de entrega existentes.

Si conoce Python, ha tomado una clase o dos en estadística o álgerbra lineal, entonces no es difícil cambiar al aprendizaje profundo. Lo que es difícil es profundizar en los procesos y conceptos existentes que capacitarán a las personas con las que trabaja para hacer y responder ese tipo de preguntas, luego actuar de manera proactiva para implementar esas respuestas. Si puedes hacer eso, entonces eres como alguien que conoce HTML, CSS y JavaScript en 2001, durante la recuperación de la burbuja tecnológica. Podrías terminar como CTO de una empresa de tamaño significativo :).

Aquí está mi opinión:

El trabajo de ML tiende a tener desafíos más difíciles e interesantes, y paga más (pero no mucho más).

El desarrollo web (+ API) le permite crear y escalar grandes sistemas rápidamente, con más conciencia y claridad sobre lo que está haciendo (ya que hay menos trabajo de empuje de límites), y su competencia no es tan alta.

Ambos tienen desafíos, ambos pueden ofrecer conjuntos de trabajo y logros superpuestos, pero esos son los factores distintivos generalizados.

La forma en que eso se desarrolle para usted como individuo depende de dónde residen sus puntos fuertes y de lo que desea de una carrera.

Personalmente, si estuviera construyendo un negocio, iría por el lado del desarrollo web, ya que el trabajo es más mecánico, probablemente aún más fácil de escalar de manera asequible, y permitiría pensar más sobre otras cosas.

Si estuviera trabajando en una empresa, probablemente trataría de seguir la ruta de ML para no aburrirme (a menos que estuviera más interesado en la estrategia y quisiera seguir un camino corporativo). Pero solo soy yo.

Grandes respuestas de otros sobre las diferencias técnicas y las ventajas de cada uno. Diría que el desarrollo web siempre será una habilidad importante en el futuro previsible, pero que el aprendizaje automático está en camino.

En términos de potencial de crecimiento, lo emocionante es que el aprendizaje automático es muy parecido al desarrollo web en la década de 1990. Muy pocas personas pudieron hacerlo y, por lo tanto, era una habilidad valiosa que muchas compañías deseaban. Del mismo modo, la ciencia de datos en general y el aprendizaje automático específicamente (también conocido como automatización) están siguiendo una trayectoria similar. De la misma manera que todas las empresas eventualmente requirieron desarrollo web, todas las empresas requerirán aprendizaje automático y ser un adoptador temprano de este asegurará que esté muy por delante de la curva en lo que respecta a oportunidades de trabajo y experiencia en el campo.

¡Espero que esto ayude!

Para mí, por cierto. Para alguna otra persona? Realmente no puedo decirlo.

Hay algunas cosas sobre ML que acabo de recibir. Ah, hay años de capacitación matemática, estadística y de CS detrás de eso, y bastante experiencia. Sin embargo, parece que siempre he entendido cosas como el diseño experimental y el manejo de supuestos.

El diseño, por otro lado, no es mi fuerte. Puedo hacer un informe convincente (más por lógica que por cualquier otra cosa), y he aprendido a hacer visualizaciones bien porque sé que la mayoría de las personas son visuales para comprender lo que a menudo obtengo. Si tengo un lugar en el que continuamente tengo que forzarme a mejorar (como científico de datos, no hablando como una persona de ML en esto), hacer las tramas es tan bueno como útil.

Podemos hablar en general todo el día. Esta es una pregunta que debe ser respondida por la persona que la hace.

Si piensas más como yo (u otras personas en ML), tendrás un futuro mejor, personalmente, en ML. Hay creatividad involucrada, pero un tipo especializado: (generalmente) tiene que jugar dentro de cuadros específicos (aunque si sale, a menudo puede encontrar una mejor solución que puede traducir en ese cuadro). Conozco a algunas personas que aman ese tipo de trabajo, incluido yo mismo.

También conozco algunas personas muy brillantes que serían miserables en él. He tenido el privilegio de ayudar a algunos de ellos a encontrar un lugar mejor; algunas de las personas a las que he asesorado han encontrado que lo que encuentro agradable es la miseria.

Sé que no es un consejo común en estos días, pero en realidad, elige algo que disfrutes en lugar de lo que crees que generará más dinero. Si no disfrutas lo que haces, a menudo no lo harás bien. Sin embargo, si disfruta de su trabajo, puede encontrar todo tipo de oportunidades interesantes.

Me encontré usando varios sombreros en mi puesto actual. Una semana trabajo en el front-end del sitio web y la semana siguiente trabajo en mejorar un algoritmo de factorización matricial. Por lo tanto, tengo un poco de experiencia en ambas áreas. Sin embargo, no soy un genio en ninguna de esas áreas …

El desarrollo web es más maduro, hay mucho software / hardware básico y comunidades más grandes. Por lo tanto, es más fácil para un ingeniero resolver un problema. Paga bien siempre que seas competente.

Sin embargo, la madurez tiene un costo. Las ofertas de su empresa se pueden copiar fácilmente porque todos están utilizando los mismos productos disponibles abiertamente.

Y aquí es donde entra en juego el aprendizaje automático (ML), el aprendizaje ML está lejos de convertirse en un producto básico y requiere más recursos para mejorar un producto con ML. Por lo tanto, un producto con ML es más difícil de replicar.

¿Que es mejor? Depende de cómo defina el éxito en su carrera.

Personalmente, me gusta trabajar en desafíos que tienen un impacto en la empresa. Me hace sentir que estoy ayudando a otras personas y me encanta.

Más a menudo de lo que me gustaría, esos son desafíos que no son de LD. Sin embargo, he estado aprendiendo ML durante los últimos tres años para comprender mejor cómo puedo servir mejor a nuestros usuarios con esta tecnología.

Lo más importante es descubrir lo que te gusta hacer y aprender lo que sea necesario para sobresalir en lo que amas.

Estaría de acuerdo con Roman Trusov con su respuesta. No soy un desarrollador web (de vez en cuando termino haciendo algo de desarrollo web) pero he trabajado con ellos de cerca y permítanme decirles que siempre se necesitarán buenos desarrolladores web independientemente de si saben / hacen aprendizaje automático. Estos dos trabajos forman dos partes integrales de la cartera de productos, de hecho, la mayoría de los productos requerirán análisis en una etapa posterior, mientras que los desarrolladores web serán necesarios desde el primer día. Dicho esto, vale la pena pensar en recopilar datos relevantes de la aplicación el primer día. Siento que si eres bueno en lo que haces, puedes lograrlo en ambos.

Podría ser si estuvieras en los EE. UU./ Europa, en la India, es bastante temprano incluso para nombrar compañías que realmente construyen productos basados ​​en ML / DL. Web-dev puede considerarse como un ancla y el trabajo de ML / DL debe incorporarse a su carrera gradualmente.

Hay dos formas de entrar en él, ya sea haciendo productos (internos) utilizando herramientas disponibles (TF, Caffe, Keras, Torch …) o haciendo sus propias herramientas con un enfoque más orientado a la investigación. Hacer una carrera en este último probablemente implicaría un trabajo con universidades o algo propio como el primero.

No, a diferencia del área de desarrollo web que está infinitamente disponible para la expansión, el aprendizaje automático y el aprendizaje profundo son más que un pony de truco. Como dispararte en el pie. Todos olvidan que se trata de una transición generacional a una carrera basada en el techo. El aprendizaje automático y el aprendizaje profundo conducirán a la automatización … Permítanme decirlo nuevamente. Automatización de la automatización. ¿Puedes tener otra generación para perfeccionar la tecnología y mantener tu carrera por más tiempo? Claro, pero para cuando comience la segunda generación, las perspectivas de trabajo estarán saturadas. Déjame señalarte un gran ejemplo:

Asistente médico y “colegios” relacionados. ¿Recuerdas lo que pasó? Las nuevas universidades mintieron a los posibles afiliados desde el principio mintiendo sobre el campo y la disponibilidad de trabajo. Para cuando se graduó el primer lote, descubrieron rápidamente que los trabajos ya estaban agotados y que los únicos que quedaban eran puestos con salarios muy bajos. El hiperinflado la demanda.

Otro ejemplo; la industria automotriz rechazó los autos eléctricos con leyes y el tren de salsa terminó. El auto eléctrico era inevitable. Todas las industrias basadas en ganancias operan bajo el paraguas de la demanda, pero las personas olvidan y realmente no saben que realmente operan con eficiencia. Trump no puede recuperar empleos porque es más barato seguir la ruta de la automatización. Solo me enfrento a la palma de la mano cada vez que escucho este sinsentido.

Como muchas personas han dicho, ambos son diferentes, ambos pagan bien si se hacen bien, ambos ofrecen desafíos, aunque en mi opinión, ML tiene un tipo diferente de desafíos que los fundadores y los gerentes no tecnológicos no entienden (como tratar de encajarlo) Metodologías ágiles al hacer investigación.

Si desea un trabajo seguro que pague bien y usted y las partes interesadas pueden ver los resultados rápidamente, vaya a desarrollo web.

ML, especialmente para las empresas que intentan hacer algo más allá de lo básico, es bastante complicado y requiere un equipo de investigación dedicado, ya que generalmente no hay conjuntos de datos validados, las metodologías generalmente se crean ad hoc y para cada método generalmente alcanzará un límite de precisión más allá del cual debe desarrollar un nuevo método u obtener una gran cantidad de datos para capacitar o ambos, por lo que también depende de quién sea su empleador y el tipo de resultados y los plazos que se esperan para obtener resultados viables. Pero, en general, para los académicos es muy divertido (al menos para mí).

Si una carrera es buena o mala depende de la persona y el contexto.

Es probable que las personas con cerebro matemático y cognición numérica disfruten de una carrera en aprendizaje automático y aprendizaje profundo,

Es probable que las personas con habilidades de presentación y aptitud para la comunicación disfruten de una carrera en el desarrollo web.

Ambos requieren diferentes conjuntos de habilidades (aunque la programación es un rasgo común en los dos). Por lo tanto, es seguro decir que estos dos perfiles de trabajo van a coexistir paralelamente sin molestarse entre sí.

Dicho esto, si la I + D o la vida académica es lo tuyo, entonces el aprendizaje automático es el camino a seguir.

Si está en línea con estos Objetivos de Desarrollo Sostenible: Wikipedia o la respuesta de Adeel Khan a ¿Cuál es una buena lista de los objetivos para la humanidad? ¿Cuáles son los objetivos que tendrán el impacto más positivo? de lo que puede ver el aprendizaje automático es la tecnología que puede preferir.

Quora es el buen ejemplo donde estos dos campos se combinan muy bien.

Solo asegúrate de que tu carrera sea común a tus objetivos.

Veo eso de manera similar a hacer una pregunta hace 20 años: “¿Los algoritmos de búsqueda son una carrera mejor que el desarrollo web ahora?”

Si regresaras en el tiempo, ¿cuál elegirías?