¿Cuáles son mis perspectivas laborales si deseo una carrera en Sistemas (Sistemas Operativos, Sistemas Distribuidos, Computación Paralela)?

Bueno. Casi el 40% de los programadores hacen software de sistema en Silicon Valley con estadísticas BLS que informan a 27,080 desarrolladores de software en software de sistemas, 33,990 en aplicaciones, 6,780 programadores no especificados y 2,590 desarrolladores web.

Google, Facebook y Microsoft tienen muchos proyectos que requieren ingenieros de software del sistema. Twitter puede deberse a su escala, y Quora probablemente todavía no. Las grandes compañías con enfoque en software de sistema incluyen VMware y Oracle. Hay muchas nuevas empresas de almacenamiento.

Los ingenieros de software del sistema cobran de manera similar a otros tipos, con mejores salarios en la parte inferior de la escala. A partir de mayo de 2013, las entradas de la hoja de cálculo de la Oficina de Estadísticas Laborales para Silicon Valley muestran una mediana, 75% y 95% de $ 130,790, $ 151,570 y $ 179,440 para personas de software de sistemas; y $ 127,190, $ 154,960 y $ 184,060 para desarrolladores de aplicaciones. Los números de 10% y 25% son $ 92,570 y $ 108,610 para sistemas; $ 80,040 y $ 101,370 para solicitudes. Los paquetes de compensación en las grandes empresas se basan en el nivel, no en el enfoque de ingeniería.

Hay un chiste malo que dice que cualquier pieza de software suficientemente grande es un sistema operativo. Dejando a un lado la calidad de la broma, hay una buena cantidad de verdad en la declaración.

Algunos de los principios que aprende al desarrollar sistemas operativos y sistemas distribuidos incluyen:

  • Interactuar con entidades de software fuera de su control.
  • Implementación e improvisación en estructuras de datos.
  • Concurrencia y condiciones de carrera.
  • Asignación y gestión de recursos.
  • Construir y estratificar abstracciones de software
  • Fiabilidad incluso ante fallas parciales
  • Comprender los límites de hardware y cómo afectan sus programas.

En la actualidad, hay dos direcciones generales en las que se dirige el software, especialmente para las empresas web de consumo que ha enumerado anteriormente:

  • Por un lado, el software se expone cada vez más como un servicio basado en la web en lugar de un producto reducido.
  • En el otro extremo del espectro, se está produciendo una gran cantidad de cálculos en dispositivos móviles con recursos limitados.

Ambos estilos de desarrollo de software se benefician en gran medida del conocimiento que acumulas. Esto está fuera de los trabajos especializados a nivel del sistema operativo (que también existen y son lucrativos).

Ya no me dedico al desarrollo de sistemas operativos, pero encuentro que el conocimiento ha sido invaluable para otras cosas que terminé haciendo.

Para resumir, sus perspectivas son bastante brillantes.

Las perspectivas laborales son enormes con ese conjunto de habilidades. Estas compañías invierten mucho en investigación de sistemas y definitivamente están buscando tales habilidades. Hay muy pocos graduados de CS que estén bien versados ​​en sistemas. Por lo tanto, diría que definitivamente tiene una ventaja en términos de perspectivas de trabajo.

El proceso de entrevista varía de una compañía a otra. Pero principalmente para el perfil de sistemas, se le harán preguntas sobre el sistema operativo. Los algoritmos siempre se solicitan en google y FB.

Hola,

Un poco sobre ingeniería de software y sistemas en general:

Además de la respuesta de Karthik, el software que se está desarrollando en estos días está más orientado a comprender el uso, el interés y el comportamiento del cliente para mejorar y ofrecer una experiencia superior al cliente. Aplicaciones como Facebook, Twitter, Netflix, publicidad, piloto automático de Tesla, o incluso en casos de software tradicional regular, las empresas se están interesando en comprender cómo se utiliza su producto para mejorar y personalizar el software (para sobrevivir y prosperar rápidamente creciente número de nuevas empresas: P)

Dada esta configuración, lograr tales resultados y en tiempos de respuesta estrictos ha planteado desafíos en varias capas de la pila de infraestructura, llevándonos a su primera pregunta.

¿Qué tipo de roles tienen para ofrecer las empresas?

Dado que la designación, etc. implica su nivel de experiencia, etc., trataré de poner las áreas donde uno podría estar trabajando, que a menudo están construidas una encima de otra (desafortunadamente, no estoy presentando un orden en particular)

  • almacenamiento: los requisitos de datos y los tiempos de respuesta están cambiando de estrictos “Quiero datos exactos” a “recuentos de entradas y estimaciones aproximadas son lo suficientemente buenos”, dando lugar a bases de datos NoSQL y almacenes de valores clave como Cassandra, HBase, MongoDB, Amazon S3 etc.
  • Mantenimiento de la membresía: la mayoría de las veces, los sistemas multinodo a gran escala requieren algún tipo de software para realizar un seguimiento de los nodos que entran o salen o simplemente el estado del sistema, como Zookeeper.
  • Colas distribuidas: a menudo se ve que más de una entidad (componente de un producto) requiere un conjunto de información, cada una ubicada en un nodo diferente de una configuración. Software como RabbitMQ, Kafka, Beanstalkd, etc. ayudan a diferentes clientes a suscribirse a los canales de datos deseados.
  • Procesamiento de datos distribuidos: cuando los datos están presentes en múltiples nodos, ¡entonces necesita ejecutar su cálculo en múltiples modos! Software como Hadoop, Pivotal Gemfire, etc. ayuda a una aplicación a aprovechar el procesamiento de los cálculos en múltiples nodos y obtener resultados colectivos
  • Y bla, bla, bla

Ahora puede estar pensando, estoy poniendo todo, desde un curso estándar de sistemas distribuidos o un libro de texto. Bueno, en cierto modo, sí. La tasa a la cual las compañías mencionadas están creciendo, hay equipos internos dedicados en las compañías para desarrollar y cumplir con los requisitos y SLA que cambian rápidamente.

¿El pago es equivalente al de los desarrolladores de software?

Bueno, ya sea UI, ciencia de datos, web, móvil o infraestructura, todo se enmarca en el desarrollo de software. Si bien no puedo afirmar para todas las empresas, las que he visto pagar (al menos el pago básico) permanecen en el mismo soporte de la designación que uno tiene.

Proceso de entrevista:

Si bien los algoritmos y la resolución de problemas son necesarios para cualquier entrevista de trabajo de software, el conocimiento específico del campo también se requiere cuando se trata de Ingeniería de Sistemas. Por ejemplo, uno debe ser consciente de los diferentes niveles de consistencia y las compensaciones relacionadas con cada uno de ellos.

Espero que esto ayude.

More Interesting

¿Cuáles son las mejores herramientas para buscar en LinkedIn?

¿Vale la pena obtener un segundo título de maestría para obtener una posición de pasantía SDE en Silicon Valley y luego una oferta de tiempo completo o me resultará contraproducente porque tengo demasiada experiencia y estoy solicitando una pasantía?

¿Cuál es el límite para dejar tu GPA fuera de un currículum de ingeniería?

¿Qué recursos (si los hay) existen para los ingenieros que buscan oportunidades de compañías que proporcionan visas H1B?

¿Cuál es el mejor campo de ingeniería para el futuro?

Soy ingeniero de software (nuevo graduado) y comenzaré a trabajar pronto. El gerente me pedirá que elija un equipo. ¿Qué debo saber antes de tomar una decisión?

Cómo negociar sobre el salario base si el reclutador finge que no es negociable

¿Se cancelará mi proceso de entrevista en Google si solicito posponerlo durante 3 o 4 meses?

¿Puedes conseguir un trabajo (ahora) en Londres si eres un estudiante internacional graduado?

¿Cómo son las horas de trabajo para un ingeniero de software asociado en Accenture en India?

¿Cómo puede TCS reclutar tantos ingenieros en India?

¿Cuánto paga Groupon a los nuevos ingenieros de software de posgrado?

Cuando se reclutan ingenieros de software / especialidades en informática para empresas estadounidenses, ¿qué universidades internacionales están a la par con MIT / Stanford?

¿Se ha elevado la barra de contratación para ingenieros de software porque mucha gente de otros campos se está cambiando y la competencia se vuelve más feroz?

¿Qué sentido tiene examinar ingenieros de software sobre estructuras de datos y algoritmos durante las entrevistas de trabajo cuando todo el mundo sabe que en la vida real apenas nos preocupamos por todas estas cosas?