¿Debo ir a Data Science?

El consejo que siempre doy cuando alguien me pregunta por dónde empezar a hacer ciencia de datos. Mejor conviértete en ingeniero de software.



Esta es mi opinión personal y opcional. Los argumentos en contra en los comentarios son bienvenidos.

La profesión de especialista ahora es tendencia. No sostengo que la ciencia de los datos estará entre las áreas de actividad más de moda del siglo XXI, pero esto devalúa inmerecidamente otra profesión útil y altamente remunerada: un desarrollador de software.

A menudo recibo mensajes de graduados universitarios y personas que cambian de profesión, preguntando cómo ingresar a la ciencia de datos. En cambio, les aconsejo que simplemente entren en TI.

Con experiencia en ambas áreas, intentaré convencerlo de que tome la decisión correcta.
Software EDISON - desarrollo web
EDISON , -.


. , , , — .

, software engineering data science solve problems! ;-)

1. -


Hay un orden de magnitud más trabajos en ingeniería de software en comparación con la ciencia de datos.

Aquí hay algunas capturas de pantalla después de una búsqueda en Google de " experto en datos " (" científico de datos ") y « desarrollo de software » (" ingeniero de software Have »).





7.616 vacantes científicas frente a 53.8893 en desarrollo de software. Esto es lo mismo en los Estados Unidos, en otros países.

Si cree en Glassdoor (un servicio web con el que puede controlar el nivel de los salarios y obtener opiniones de los empleados sobre las empresas), los científicos de datos ganan más dinero. Sin embargo, mi hipótesis no verificada es que las vacantes de datos están dirigidas principalmente a empleados muy calificados.





Aunque, quién argumenta, si se le ofrece un millón en OpenAI , acéptelo sin dudarlo.

2. No hay consenso de que esto sea generalmente una "ciencia de datos"


La gerencia de la compañía a menudo tiene una vaga idea de lo que significa la frase "ciencia de datos". También es fácilmente posible, dadas las limitaciones específicas en el negocio, que consisten en el hecho de que un negocio no siempre puede permitirse seguir estrictamente la estructura de roles.

Esto significa que las responsabilidades de un "experto en datos" varían muy, muy diferentes de una compañía a otra.


Un boceto condicional que puede necesitar según sus tareas comerciales. En el espectro entre la resolución de problemas comerciales y la investigación, existen profesiones tales como Ingeniero de software ⇒ Ingeniero de datos ⇒ Ingeniero de aprendizaje automático ⇒ Científico de datos

Aunque se puede imaginar el rango ideal de roles entre un ingeniero de software y un especialista en datos, es poco probable que en la vida real esto se materialice en la referencia formar. Esto es especialmente cierto para las startups que se someten al proceso de escalado cuando solo están construyendo la infraestructura.

Como resultado, los candidatos contratados trabajan en los problemas actuales de la empresa y no cumplen el rol de expertos para los cuales, en términos generales, fueron contratados.


Tengo testimonios de mis colegas (científicos de datos) que escriben código de fondo como desarrolladores de software. Conozco a otros "investigadores de datos" que han logrado resolver los problemas financieros de sus empresas.

Esto puede contrastar fuertemente con tus expectativas, especialmente si se formaron bajo la influencia de concursos de Kaggle.

3. La soledad del corredor de larga distancia según los datos.


La mayoría de las empresas simplemente no necesitan tantos expertos en datos como ingenieros de software. Otras compañías hasta ahora solo han contratado a su primer (y por el momento, el único) especialista en datos.

Por esta razón, muchos investigadores de datos trabajan solos, incluso si están sentados en la misma mesa con los desarrolladores.

Esto puede dificultar la obtención de comentarios y una segunda opinión. Los ingenieros de software no entienden el modelado predictivo o están demasiado ocupados con problemas completamente diferentes.

Por el contrario, una de las ventajas del equipo de desarrollo de software es la capacidad de decirle siempre a sus colegas: “Creo que ABC debería implementarse en XYZ. ¿Tu opinión? ".

Entonces, prepárate mentalmente para discutir problemas contigo mismo o ... con un pato de goma.

4. Data Science tiene un marcado carácter de investigación.


Esté preparado para conversaciones desagradables con la gerencia sobre el tema en el que no ha estado trabajando durante 2 semanas.

Trabajar en problemas solucionables y no solucionables es una de las diferencias fundamentales entre el desarrollo de software y la IA.

Dados los errores y limitaciones inherentes al desarrollo de software, antes de comenzar, básicamente tiene una idea de lo que es factible y lo que no. No se puede decir lo mismo sobre Machine Learning. Se desconoce si el modelo será efectivo hasta que se implemente.

5. El negocio aún no está listo para la IA


Incluso en una era en la que casi todas las grandes empresas introducen inteligencia artificial, la mayoría de ellas no tienen la infraestructura adecuada para respaldarla.

Uno de mis amigos, el jefe del departamento de Ciencia de datos en una startup de desarrollo intensivo, recientemente compartió su sabiduría de startup con un vaso de café:

primero identifica el problema, luego construye la infraestructura y solo luego atrae a expertos en datos. Y todo esto sucede muy rápido. (No al pie de la letra)

Otra amiga mía, especialista en ciencia de datos en una empresa conocida, se quejó recientemente en una conversación de que se vio obligada a entrenar un modelo de inteligencia artificial en Big Data en su computadora portátil, y no en la nube.

Si algunos problemas específicos no se han resuelto en el nuevo lugar donde vino, o incluso si la compañía no está lista para introducir la ciencia de datos en sus procesos, prepárese para crear algo valioso al límite de su fortaleza.

6. La ingeniería de software proporciona habilidades generales


Convertirse en un ingeniero de software junior es como obtener un MBA en tecnología. Aprenderás un poco de todo.

Aprenderá sobre bases de datos, tecnología en la nube, implementación, seguridad y escritura de código limpio.

Aprenderá a administrar el ensamblaje de software observando a su líder de scrum, desarrollador sénior o gerente de proyecto. Recibirá tutoría.

Si se encuentra en una empresa con un equipo de ingenieros establecido, es casi seguro que mejorará rápidamente sus habilidades y obtendrá una experiencia general enmascarada.

7. El desarrollo de software como actividad es mucho más flexible.


Con una experiencia más holística con la tecnología, el desarrollo de software ofrece más opciones cuando decides que es hora de cambiar algo.

DevOps, seguridad, interfaz, back-end, sistemas distribuidos, inteligencia empresarial, ingeniería de datos, ciencia de datos ...

Conozco a muchos desarrolladores que han pasado del desarrollo de software a la ciencia de datos. Si está buscando descripciones de trabajo para la ciencia de datos, notará de inmediato que requieren muchas habilidades generadas por el desarrollo de software.


Si puede crear proyectos E2E, también puede hacer algo más que crear un modelo para el concurso Kaggle. Puede tomar este modelo, hacerlo, configurar la autorización y los pagos electrónicos, y luego monetizar. Esta es tu propia startup.

Nunca diré que la ciencia de datos es inútil fuera de su alcance. Tomar decisiones basadas en big data es simplemente un asesino en nuestro tiempo. Pero esto también conducirá al hecho de que los métodos de ciencia de datos serán cada vez más demandados en otros trabajos, ya que el negocio está cada vez más centrado en big data.

8. El aprendizaje automático se convertirá en una herramienta común para los desarrolladores de software.


A medida que la IA se vuelve más conveniente y fácil de usar, los desarrolladores de software comenzarán a usarla para resolver sus problemas.

Puedo enseñar (por la tarde) a un desarrollador para construir clasificadores sklearn. Esto no significa que mi padawan creará el próximo AlphaGo, pero le da una alternativa a la lógica condicional codificada basada en la entrada del usuario.

Los especialistas en big data tienen conocimientos especializados, como estadísticas, tienen una intuición especial sobre cómo funcionan los modelos. Pero los ingenieros de DevOps y Seguridad también tienen su propio conocimiento especializado.

Diría que el punto aquí no es cómo difieren las habilidades, sino que algunas se usan con menos frecuencia y otras con más frecuencia. Un ingeniero experimentado se mueve entre las especializaciones en órdenes de magnitud más rápido, mientras que un principiante aprende desde cero.

Aunque no creo que veamos una fusión completa de la ciencia de datos con el desarrollo de software. Más bien, la ciencia de datos se convertirá en otra área de experiencia en el desarrollo de software.

9. La IA no reemplazará a los ingenieros de software en el futuro previsible.


No importa lo estúpido que parezca ahora, en 2014 comencé a desarrollar software, por temor a que la IA hiciera obsoleto cualquier otro trabajo.


Y, sin embargo, desde entonces, realmente no nos hemos acercado al futuro tecnológico. La adopción de tecnología es lenta, y estamos más lejos de una IA fuerte de lo que puedes imaginar.

En comparación con otras profesiones, el aprendizaje automático está aún más alejado de la automatización del desarrollo de software. Aunque tenemos startups que crean productos geniales, como la finalización de código con soporte de IA, la codificación en sí misma no es realmente un trabajo real. El presente trabajo es resolver problemas utilizando la tecnología.

Hasta ahora, en la era de la pre-singularidad, la capacidad de escribir programas seguirá siendo una habilidad valiosa y altamente remunerada durante mucho tiempo.

Conclusión


En primer lugar, todo esto es principalmente mi IMHO. En segundo lugar, soy consciente de que mezclé investigadores de datos, ingenieros de aprendizaje automático y desarrolladores de inteligencia artificial en un montón, y entiendo perfectamente la diferencia entre ellos. Sin embargo, vale la pena considerar estos argumentos cuidadosamente, porque esta es su vida y su carrera.

No te tomes demasiado en serio lo que he dicho. Prefiero que investigue este problema y tome su propia decisión. Esto es parte del trabajo de cualquier experto en datos, en general :)

Al final, nos pagan principalmente por resolver problemas.

Traducciones en el blog de Edison:


All Articles