¿Qué habilidades debo tener o para aprender a ser un buen ingeniero de software como los que trabajan en Silicon Valley? ¿Acabo de graduarme?

Respuesta mundana: aprenda los lenguajes de programación populares, aprenda cómo programar para un sistema operativo popular. Esas cosas no son malas, y de hecho necesitarás hacer algo de eso.

Para ser contratado? Probablemente necesites recoger un gran libro de algoritmos y asegurarte de poder reconocer cuando alguien te pide que implementes uno y lo hagas.

¿Ser bueno en el trabajo? Depuración Además de la habilidad de averiguar cuál es el “siguiente paso” para obtener lo que su proyecto está avanzando. Eso podría estar arreglando errores que obstaculizan la adopción. Podría estar agregando una característica porque eso es lo que las personas realmente necesitan antes de que trabajen con ella. Puede ser hablar con la gente para averiguar lo que realmente quiere, o hablar con ella para asegurarse de que sabe que el proyecto ya resuelve sus necesidades. Mucho mejor si puede escucharlos, decirles lo que creen que necesitan y elaborar una lista de lo que realmente necesitan (lo que podría ser un trabajo más sencillo de abordar o podría ser más difícil, pero más valioso).