Estás combinando tres cosas aquí.
- Estás aburrido de tu trabajo (que presumiblemente está en C # / ASP.NET / Windows, etc.)
- No eres fanático de la pila de Windows / Microsoft y quieres pasar a la pila de Linux.
- Desea trabajar para una gran empresa tecnológica como Google, Facebook, etc.
Trataré de responder las tres preguntas por separado
Encontrar trabajo desafiante
- No soy bueno en habilidades de comunicación. ¿Cómo puedo enfrentar entrevistas?
- ¿Qué sugiere, seguir preparándose para una entrevista u obtener experiencia de un trabajo?
- ¿Cómo debo prepararme para entrevistas con compañías como Amazon y Morgan Stanley?
- Cómo prepararse para la colocación en una entrevista
- Entrevistas de trabajo: ¿Cómo pienso y respondo preguntas en una entrevista?
Este es el más difícil en mi opinión. Puede encontrar trabajo desafiante en una pequeña startup y es posible que no encuentre trabajo / equipo desafiante en una gran empresa tecnológica como Facebook o Google. Todo depende de los equipos que estén contratando cuando presente la solicitud. La mejor manera de abordar esto es
- Prepárese para entrevistas en compañías que le gusten (mire Coderust 2.0 y Grokking System Design si está buscando recursos para prepararse).
- Obtenga ofertas reales.
- Hable con los gerentes de contratación (y si es posible con los posibles compañeros de su equipo) y hágales las siguientes preguntas y obtenga las respuestas más claras posibles
- ¿Cuánto tiempo necesita un ingeniero típico para aumentar completamente? Estaría reparando pequeños errores y haciendo un trabajo relativamente aburrido durante la aceleración, por lo que es mejor saber la duración del tiempo de aceleración por adelantado.
- ¿Cuál es el próximo gran entregable para el equipo en los próximos 6 a 12 meses?
- ¿Contribuirías a esa entrega de una manera significativa? ¿Qué potencialmente poseerías y entregarías?
Encontrar trabajo desafiante es difícil. Todos los equipos pasan por este ciclo en el que tienen un trabajo interesante y, a veces, todo lo que hacen es la reparación de errores y el trabajo de mantenimiento. Evite unirse a los equipos que están en medio de una fase de estabilización prolongada (si ese tipo de trabajo no le interesa).
Mudarse a Linux / Unix Stack desde Windows Stack
Esta es una decisión personal. He trabajado tanto en Microsoft como en Facebook (dos pilas muy diferentes) y pude encontrar un trabajo desafiante en ambas compañías / pilas. Sin embargo, si ha estado trabajando en una pila por un tiempo y se siente aburrido, está bien cambiar de pila. Ambos tienen pros y contras. Si viene de Windows y quiere saber más sobre Linux Shell y Bash, eche un vistazo a Aprenda a analizar datos de texto en Bash Shell.
Trabaja para grandes empresas tecnológicas como Google / Facebook
Para más detalles, tome mi otra respuesta: la respuesta de Fahim ul Haq a ¿Cuál es la mejor manera de aprender algoritmos? Quiero prepararme para una entrevista en Google y estoy dispuesto a pasar todo mi tiempo libre aprendiendo.
Aquí está el resumen
Las empresas lo evalúan en los siguientes 5 factores durante sus entrevistas
- Habilidades de codificación.
- Conocimiento y comprensión de estructuras de datos y algoritmos fundamentales.
- Habilidades de resolución de problemas (y práctica de pizarra).
- Capacidad para diseñar sistemas distribuidos a gran escala.
- Ajuste cultural y habilidades interpersonales
Tendrá que trabajar para tener éxito en todos los aspectos anteriores para conseguir un trabajo de una gran compañía tecnológica. Buena suerte con tu entrevista y preparación.