¿Cuáles son las habilidades más demandadas para los graduados de CS en 2016?

CS ha estado en demanda desde 1977 (cuando obtuve mi primer título en CS). Al principio era lenguaje de máquina y luego escribía “código estricto”, lo que significaba muy eficiente y usaba muy poca memoria y optimizaba el acceso de E / S. Luego vino la revolución en los lenguajes de programación con el objetivo de “lenguajes naturales”. Esto incluyó la era de la codificación modular o de bloques usando bibliotecas masivas de subrutinas precodificadas. Esto produjo cosas como programas de procesador de texto que ocupaban 3 GB y archivos de documentos que tenían 2 MB por página. Y luego lenguajes interpretativos como Java y HTML y todos sus descendientes. Esto permitió aplicaciones multiplataforma (procesador) y procesamiento en la nube.

Ahora estamos en una era que está volviendo al código estricto para optimizar la velocidad y extraer la mayor eficiencia de los algoritmos complejos. Esto también ha creado una necesidad cada vez mayor de fusionar las habilidades del programador y el ingeniero que necesita el código para operar un dispositivo.

El firmware integrado y el código de la máquina tienen cada vez más demanda y es probable que continúen en el mundo de la robótica y el hogar, el automóvil y la oficina inteligentes. La complejidad y el código iterativo que se aprende por sí mismo (como el lenguaje de máquina de aprendizaje profundo) y el código que imita o implementa el pensamiento humano es el futuro.

En otras palabras, los escritores de códigos CS que TAMBIÉN comprenden la ingeniería, la interfaz de E / S, las GUI, las redes neuronales y, en general, las aplicaciones del mundo real de CS son las que tendrán mayor demanda. Obtener un título en CS es mucho más valioso si sabes cómo aplicarlo. En lugar de pensar en términos de cómo puedes escribir código para que algo funcione, intenta pensar en cómo quieres que algo funcione y luego escribe el código para implementarlo.

A menudo, esto se convertirá en un especialista en alguna área de aplicación específica (robótica, genética, cibernética, big data, aprendizaje profundo, simulación, modelado, etc.) y eso es aún mejor.

…en mi opinión…

Back-end, back-end, y luego un poco más de back-end. Las compañías en el área de la Bahía (en mi experiencia) han estado buscando desarrolladores de back-end talentosos, literalmente, son muchos casos durante meses.

A mi compañero de cuarto cuando estaba internado el verano pasado en el área de la bahía me ofrecieron un trabajo y un trabajo de comisión para su último año de universidad porque la compañía había estado buscando durante meses.

Tenga en cuenta que las empresas están buscando desarrolladores talentosos y de hecho lo pondrán a prueba en esto. La mayoría de las compañías buscan a alguien con varios años de experiencia o al menos alguna forma de demostrar que saben de lo que están hablando.

Más importante aún, no me preocuparía tanto por lo que más se quiere en comparación con lo que más te apasiona CS tiene una gran demanda de expertos en muchos lugares y hacer lo que más le apasiona a menudo lo llevará a convertirse en un experto en el proceso.

Como referencia, aquí hay algunas buenas preguntas y respuestas relacionadas con Quora:

¿Qué se espera de un desarrollador web junior (back-end)?

¿Qué habilidades específicas son más importantes en un desarrollador web front-end y en un desarrollador web back-end?

Cualquier idioma base es obligatorio.
Ya sea C, C ++, Java, C #

Las tecnologías Big data / hadoop y Cloud computing aún no han perdido demanda.
Otro es servicios RESTful,

Pero como graduado, se espera que, desde estructuras de datos y dbms, hasta big data y nube, tenga la confianza suficiente y pueda responder preguntas típicas fácilmente …

No te preocupes por las tecnologías que están tomando el mercado, la graduación es créeme, el mejor y único momento para trabajar en lo básico … o te arrepentirás más tarde.

Una vez tuve una conversación con un gerente senior de operaciones globales en una compañía de tecnología sobre este mismo tema. Ella me dio un consejo que fue muy singular. Dijo que cuando contrata para los puestos de tecnología en la empresa, busca más habilidades blandas que habilidades técnicas. La integridad, la honestidad y la capacidad de ser accesible son habilidades que son difíciles de enseñar a alguien. O los tienes o no los tienes. Cualquier habilidad técnica se puede enseñar. Entonces ella me dijo que si bien tener una amplia variedad de habilidades técnicas es importante, es igual de importante, si no más, no ser un imbécil. Ella dijo que contrataría a la persona con la que es más fácil trabajar y que confía en un genio de la tecnología que es un absoluto idiota cualquier día de la semana.