Si solo quiero escribir algoritmos y lógica, y no quiero molestarme con la interfaz de usuario y la codificación frontal, ¿qué tipo de posición de software me conviene más?

Muy pocos idiomas requieren que codifique una interfaz de usuario para un programa. De hecho, casi todos lo hacen inconveniente. No tiene otros requisitos, por lo que es difícil darle más instrucciones, aparte de que su computadora ya puede tener una cantidad de idiomas instalados que puede usar de inmediato.

Mac OS X viene con Python, Perl, PHP, Ruby y AppleScript preinstalados. OS X Yosemite agrega JavaScript para la automatización. Xcode proporciona C, C ++, Objective-C y Swift y se puede descargar de forma gratuita desde la tienda de aplicaciones de Mac.

Un sistema Linux típico tendrá Python, Perl, instalado. Con mucha frecuencia tendrán C y C ++ instalados. Hay literalmente docenas de otros idiomas que se pueden instalar en Linux, de forma gratuita, desde el repositorio de paquetes de cualquier distribución de Linux que utilice.

Windows no viene con ningún lenguaje de programación, pero puede descargar muchos de código abierto.

Algunos lenguajes que puedes descargar (generalmente disponibles para Windows, Linux y OS X): Java, Python, Perl, R, PHP, Scala, Go, Haskell, Lua, Eiffel, … bueno, en realidad hay muchos.

Cualquier lenguaje de programación que permita leer desde stdin y escribir en stdout.

Puede pasar casi cualquier entrevista de desarrollador sin ninguna habilidad de UI / UX. Por lo tanto, solo vaya a un sitio de trabajo, como Dice.com, y filtre por sus preferencias, como la ubicación.

¿Desarrollo y arquitectura de back end quizás?

Sin embargo, no disfrutar de algo no es una justificación adecuada para tener cero habilidad con él. El cliente, la empresa y el proyecto necesitan un cambio. Es probable que tengas que adaptarte y ser un poco más flexible en lo que trabajas. Esto es general y no está dirigido específicamente a usted.

Si no se enfoca solo en la plataforma x86, puede intentar programar en un sistema integrado: como aplicaciones, middleware, framework, biblioteca, controlador, kernel, UBL y U-Boot. Estas capas se refieren a pequeñas habilidades sobre la interfaz de usuario y el front-end.

¿Has considerado la IA o el software relacionado con el aprendizaje automático?

(otras respuestas ya mencionaron sistemas, que incluyen sistemas distribuidos, SO, bases de datos, etc., etc.)