¿Cuál es el mejor campo para un programador que no quiere hacer nada relacionado con el diseño de la interfaz de usuario y solo quiere hacer programación pura?

Usted tiene un par de opciones. Sea un desarrollador de aplicaciones de consola, o desarrolle software de back-end. Los servidores no suelen tener una GUI, ya que no tiene sentido que tengan una, y solo consume recursos valiosos. Comodo y otras compañías de antivirus tienen programas antivirus de consola de pago.

¿Te sientes generoso? Pase tiempo en proyectos populares de código abierto como voluntario. Únase a Apache, el equipo que cablea el kernel de Linux, o Bash. Muchos equipos necesitan programadores que no sean gui.

Su otra opción es un poco más difícil debido a las demandas del mercado. Podría ser estrictamente un desarrollador de PHP, Ruby, C ++ para la web o Perl. La mayoría de los proyectos que usan esos idiomas tendrán una GUI, pero puede que tenga suerte y encuentre uno que no lo haga, o encuentre una compañía que tenga diseñadores web para eso y simplemente codificará el backend.

Creo que cada programador debería saber al menos una cierta cantidad de diseño de GUI, incluso si es solo para propósitos de prueba. No tienes que hacer que se vea bien cuando estás haciendo la prueba.

Si estoy entendiendo lo que está diciendo, ¿solo quiere que le entreguen especificaciones y UML y desea codificarlo? Por favor, respondeme si estoy lejos de aquí, pero esa es la vibra que estoy recibiendo.

La mayoría de los lugares no quieren que los desarrolladores hagan esto, porque como vi en otra respuesta de Quora por aquí, si tuviéramos requisitos 100% precisos, no necesitaríamos programadores, ya que programaríamos un sistema para convertir los requisitos en programas.


Dicho esto, si eso es lo que quieres, considera lo siguiente:

Un pequeño entorno de trabajo en el que la proporción entre diseñador y desarrollador es grande (como 2> 1 o algo así, así que quieren que sigas desarrollándote)

Una pequeña posición de consultoría donde encuentra una manera específica de no estar frente a los clientes y alguien simplemente le lanza requisitos sobre la pared (buena suerte a menos que conozca a amigos en el campo)

Un equipo independiente en el que encuentre a alguien más que solo quiera diseñar o algún tipo que esté convencido de que debe programar una aplicación y le pagarán en acciones / acciones cuando el proyecto tenga éxito.

Cualquier industria que está tan atrasada en sus sistemas que está absolutamente extasiada de que alguien esté dispuesto a desarrollar software para ellos que en dinosaurios de idiomas. Es hora de aprender algo de COBOL o Fortran y de ir a la industria de seguros o servicios financieros y perpetuar esos idiomas durante otros 10 años. Piense en la situación cerca de Y2K y trate de encontrar otro espacio de nicho.

Ingeniero de software de red
Por lo que supe, estaría escribiendo controladores o probando software para dispositivos de red en C o C ++. Debe aprender sobre las capas de red OSI y comprender cómo estos dispositivos de red pueden alcanzar velocidades de Gigabit.

Lo bueno de este tipo de posición es que no hay muchos, por lo que si intenta especializarse y muestra un sincero interés en sus estudios y trabajos de desarrollo paralelo en software integrado o controladores de dispositivos, se convertirá en un candidato ideal.

Para mí, es probablemente aburrido y es una codificación de muy bajo nivel que nadie verá, pero pagaría bien.

¡Buena suerte!

Hay algunas opciones que puede considerar, pero recuerde que la programación tiene que ver con el diseño de la interfaz de usuario. Nunca puedes escapar del aspecto de diseño por una simple razón, un programa solo es bueno cuando es utilizable.

Ahora las opciones,

  1. Desarrollo de back-end
  2. Ciencias de datos : donde puede ayudar a desarrollar programas orientados a monitorear el comportamiento del usuario y el flujo potencial.
  3. Gestión de proyectos

Hay muchos programadores que no trabajan en la interfaz de usuario. Si está escribiendo el código “back-end”, la parte de un programa que debe ser conversada por otra parte del programa. Examinar:

  • servicios web
  • Servicios “micro”
  • APIs
  • DevOps (pruebas automatizadas, despliegue automatizado)
  • Ciencia de datos (si te gustan las matemáticas y las estadísticas)
  • Arquitectura de datos

Los lenguajes de elección son probablemente Java o C #

Los servidores o Backends son los mejores campos. Solo tiene que tratar con administraciones de bases de datos, valores, reglas, etc., y nunca tener que preocuparse por cómo se vería en el frente.

¡Conviértete en un desarrollador de Backend!

Yo diría que en general, obtener el nivel más bajo posible.

Aprende C, C ++, tal vez incluso ensamblaje. Aprende el sistema operativo, la arquitectura y otras cosas de nivel inferior.

En la mayoría de los casos, mientras más bajo sea el nivel, es menos probable que se trate de interfaces de usuario.

Pero la mierda de nivel inferior es difícil. Así que prepárate.

Usted podría disfrutar de obtener un Ph.D. en Informática y centrado en un área de investigación que tiene poco que ver con UX.

Investigaciones científicas, administración de sistemas, programación de back-end, programación de controladores, kernels de sistemas operativos, diseños de lenguajes, diseño de software de bases de datos, arquitectura de software, piratería informática.