Como desarrollador de software, ¿en qué áreas debería ampliar / obtener más educación para ser competitivo en 20 años?

TL; DR: Olvídate de tecnología específica, debes aprender a aprender.

Miremos hacia atrás 20 años. Es 1996. El escritorio promedio, que comienza a popularizarse en casa, ejecuta Windows 3.1 de 16 bits. Amazon tiene 2 años. Google tiene 2 años en el futuro. Linux es un sistema operativo semi-aficionado distribuido en más de 20 imágenes de disquete *. Java tiene 1 año y Python tiene solo 5. Docker (una tecnología actualmente de moda en el espacio de desarrollo) todavía tiene 17 años en el futuro y, de hecho, la tecnología en la que se construyó Docker aún tiene 12 años en el futuro.

Estaba usando OS / 2 Warp y Solaris 2 como mis sistemas operativos principales y tuve que recordar la IP del servidor FTP primario de Free Software Foundation para poder asegurarme de poder descargar y compilar (no solo instalar, compilar desde la fuente cada vez) emacs y gcc.

Si el pasado es una guía, habrá un cambio aún más rápido en los próximos 20 años.

Cualquier respuesta tecnológica específica que alguien dé a esta pregunta será incorrecta. Cada vez que pronostique 2 generaciones más adelante, recibirá impactos de “consecuencias no deseadas”. 20 años … ¿son 10 generaciones más adelante?

Entonces te daré un proceso. Estira tu mente. Aprende cosas nuevas e interesantes … para ti. No te preocupes tanto por competir como por poder resolver algunos problemas que existen actualmente. Haz esto todos los años.

Aprende temas generales. Concéntrese en el diseño y la estructura del lenguaje en lugar de los idiomas individuales. Aprenda a pensar en los lenguajes de computadora como algo así como “Es un lenguaje interpretado sin tipo con funciones de primera clase, poco sesgo entre el procedimiento y el OO” y entienda el compromiso con “Un lenguaje compilado y mecanografiado con enlace de función en tiempo de compilación, carga dinámica y un duro sesgo hacia la herencia única OO “. Trabajé en 4 idiomas diferentes en la última semana. Vaya, haz eso 5.

Aprenda la pila completa, y con eso no me refiero a “LAMP”, me refiero a bytes en el disco. Ayer estaba evaluando el rendimiento y la velocidad de la red era el cuello de botella, no el rendimiento del código.

El idioma no importa. La tecnología específica realmente no importa. Resolver problemas es importante, pero las cosas que resolví esta semana serán viejas en un año y “Duh, todos lo hacen” en 5 años.

Podrías saber * todo * sobre todos los aspectos de la programación / informática en 2016 y para 2026 serías un programador “heredado” que trabaja en sistemas demasiado grandes para sofocar. Para 2036, es probable que algunos de esos sistemas sigan existiendo (si lo busca todavía puede encontrar COBOL hoy) y puede ser empleable para algunas grandes empresas, pero estará muy, muy lejos de ser “competitivo”.

Entonces, lo más importante es: no dejes de aprender y crecer.

More Interesting

¿Puede uno convertirse en desarrollador de software después de los 40? ¿Conoces a alguien que lo hizo con éxito?

¿Cuántas personas suelen solicitar puestos de desarrollador de software remoto?

Cómo codificar de modo que la base de código se pueda adaptar para otros usos

¿Cuáles son algunas técnicas inteligentes que los desarrolladores de software han utilizado para aumentar su seguridad laboral en una empresa?

¿Cuál es la mejor empresa de desarrollo de software en Alwar Rajasthan?

¿Es cierto que debería "fingirlo hasta que lo sepa" cuando solicito un trabajo de desarrollador de software que requiere habilidades que no conozco?

¿Es bueno ser un desarrollador de juegos o desarrollador de software y cuál es la diferencia entre estos dos?

¿Es posible cambiar mi perfil a redes después de 7 años de experiencia como desarrollador / soporte de software?

¿Cómo fue tu primera experiencia como desarrollador de software después de terminar tus estudios?

¿Cómo se mantienen actualizados los desarrolladores de software en la explosión de bases de datos "políglotas" y el espacio de marcos web?

Si usted es un desarrollador de software, si trabajó en un lugar donde no se siguieron los rigurosos estándares de software, los requisitos estaban mal escritos, las pruebas estaban mal hechas, ¿se iría automáticamente? ¿Qué pasa si la paga, el viaje y otros factores fueron muy buenos?

Como desarrollador de software bastante experimentado, ¿qué debo construir o vender para hacerme rico?

¿Cuál es la diferencia entre un ingeniero de software y un codificador?

¿Cuáles son las mayores diferencias al entrevistar a un recién graduado frente a un desarrollador de software con 1 año de experiencia?

¿Cuál es la mejor manera de encontrar subsidios para una nueva empresa de desarrollo de software?