¿Por qué la mayoría de los programadores nuevos parecen obtener trabajos con Java o C #?

Considere la relación entre el software de alto nivel en el mundo y el software de bajo nivel. El software de bajo nivel está en todas partes, sin embargo, ese software de bajo nivel está ayudando a ejecutar software de alto nivel, por lo que tiene sentido que haya más software de alto nivel, ya que es lo más cercano al usuario y los usuarios son quienes somos. Aquí para servir.

Naturalmente, habrá muchos proyectos y empresas de software de nivel superior, pero supongo que sus asesores están diciendo que debido a que no les importa lo que quiere, solo quieren métricas de ubicación profesional para promover la buena reputación de la universidad y, por lo tanto, validar aún más sus trabajos.

Haz lo que sientas que quieres hacer en el software de nivel inferior. Ingrese a compresión, redes, sistemas integrados y controladores de dispositivos si lo desea. Pagan más y tienen una gran demanda a medida que la tecnología evoluciona.

Sin embargo, como consejo, es un error común pensar que solo porque algunos idiomas tienen un nivel superior son más fáciles y no estimulan intelectualmente lo suficiente para un genio de su calibre. Eso es literalmente una gran pila de malarkey y si crees en esas cosas, no eres tan genio como creías. Incluso C ++ se considera un lenguaje de alto nivel, solo porque la mayoría de la administración de memoria es manual no significa que no se estén haciendo muchas cosas buenas en el lenguaje mismo (en realidad, muchos marcos implementan punteros compartidos y de eliminación automática). Hay innumerables características que hacen de C ++ un lenguaje de programación de alto nivel robusto y desarrollado. Por ejemplo, la gente tiende a pensar que Java y JavaScript son tan aburridos y de alto nivel, pero eso se debe a que no entienden el matiz del tiempo de ejecución, la administración de memoria, las gramáticas, etc. Las personas hacen suposiciones tontas con estos lenguajes y luego se quejan sobre su horrible desempeño y su funcionalidad rota. Cuando lo único que funciona mal y no funciona es su capacidad de programación.

Se necesita menos gente para escribir el código de nivel de sistemas que el código de las aplicaciones. El código de nivel de sistema no suele ser tan diferente de una compañía a otra: utilizan la mayoría de los sistemas operativos en su mayoría, bibliotecas de sistemas comunes, etc. Pero cada compañía de un tamaño significativo necesita su propio código de aplicaciones para su negocio. Cada sitio web, cada aplicación de teléfono, cada aplicación de escritorio, cada aplicación web, cada aplicación vertical personalizada: todos necesitan un código de nivel de aplicación.

El código de nivel de aplicación se escribe más comúnmente en 3 pilas en el mundo real: Java / JVM, C # /. Net y código abierto Linux / PHP / Python / Ruby / etc. La llegada de las aplicaciones móviles también ha agregado una pila específica de Apple.

Algunas de estas aplicaciones usan o están construidas alrededor de un código C ++ anterior. Y el desarrollo de juegos AAA todavía usa C ++ para la mayoría del desarrollo de motores, que yo sepa. (No hago juegos)

Pero sí, la programación de sistemas en C / C ++ es más un nicho específico, y no la mayor parte del mercado laboral. Aquí, en Seattle, obviamente tenemos un montón de personas con EM que se especializan en este tipo de cosas, eso es una gran parte de lo que hacen. Pero en la mayoría de las empresas, no tanto.

Algo en lo que podrías mirar es en el desarrollo integrado. En muchas CPU integradas todavía hay grandes limitaciones de espacio y rendimiento que hacen de C una solución mucho mejor que algunas de las opciones más sofisticadas. Y a menudo habrá un montón de código de bajo nivel para interactuar con hardware y cosas así. Puede encontrar lo que está buscando allí. Y hay una gran cantidad de hardware integrado en el mundo, por lo que espero que haya un buen mercado laboral.

Acabo de hacer una búsqueda rápida en un conocido sitio de empleos tecnológicos.

Usando solo “C” como término de búsqueda, arrojó más de 540 empleos en un radio de 30 millas de Palo Alto.

¡Agregar “junior” a “C” en realidad AUMENTÓ el número de resultados a casi 700!

Existe una NECESIDAD ENORME para las personas con habilidades en idiomas de nivel inferior, especialmente si está interesado en cosas como los sistemas integrados y “el internet de las cosas”.

More Interesting

¿Cuáles son algunos trabajos del gobierno para estudiantes de informática después de la graduación?

¿Cuál tiene un mejor alcance de colocación en el futuro: informática, ingeniería automotriz o ingeniería civil?

¿Puede la rama de ingeniería de software ser aburrida a veces, ya que simplemente incluye codificación y decodificación?

¿Qué puedo aprender para ser programador si no quiero hacer diseño web?

Cómo comenzar a programar nuevamente después de dos años de graduarse de CS

¿Cuáles son algunos de los mejores temas que un estudiante de ciencias de la computación debería aprender?

¿Cuáles son algunos proyectos de manualidades que puedo hacer y vender?

¿Sugeriría a un chico (oriundo de Gujarat, que estudia Ciencias de la Computación en alguna universidad de ingeniería de renombre en la India) por establecerse en Ahmedabad o Gandhinagar en lugar de en cualquiera de las ciudades indias del centro de TI?

Cómo ganar clientes como programador de computadoras

¿Qué debo hacer para conseguir un trabajo en Google? ¿Qué hago para tener un buen desempeño en el APAC de Google?

¿Qué especialización puede hacer un estudiante de informática en codificación?

Como futuro programador, ¿cuál es la diferencia entre especializarse en informática y sistemas de información informática? ¿En cuál debería especializarme?

¿Qué hacen los estudiantes que aman la informática pero que pertenecen a otros departamentos en IIT?

¿Cuáles son las ventajas y desventajas de un programador que trabaja como contratista?

¿Debo obtener un título en informática si no soy bueno en pensamiento abstracto?