Buena pregunta. Y gracias por el A2A
En nuestra vida laboral, podemos pasar el 1% del tiempo haciendo lo que amamos y el 99% del tiempo haciendo las cosas que detestamos. El truco para elegir una carrera o trabajo es asegurarse de que el 1% haga que valga la pena el 99%.
Cualquier trabajo tendrá grandes cantidades de cosas aburridas, aburridas y dolorosas. La pregunta es si alguna vez puedes hacer el 1%.
- Me acabo de enterar de que me quedaré en la universidad por otros 2 años más allá de los 4 años que ya he estado aquí debido a calificaciones deficientes. ¿Cómo puedo decirle a mis padres?
- Cómo conseguir un trabajo en el equipo de fórmula 1 después de hacer M Tech de IIT's
- Tomé una rama de ECE, pero todos me dijeron que debería tomar CS. ¿Debo cambiar?
- ¿Podré ingresar a una buena universidad aunque haya reprobado el programa de pregrado?
- ¿Cómo es el programa de maestría Erasmus Mundus en DMKM?
Para responder a su pregunta, en todas partes de la industria informática donde la escala y el costo son importantes, la optimización es importante.
La razón por la que la mayoría de los ingenieros no tienen que preocuparse por la optimización es porque el sistema está diseñado para permitirles no preocuparse por esto. Escribí sobre esto en una respuesta sobre Dropbox y Python. Es más eficiente hacer que Python sea más eficiente que intentar enseñar a todos los ingenieros de DropBox a ser eficientes.
Una gran cantidad de software se escribe en espacios donde la optimización no importa porque muchas personas inteligentes han diseñado el sistema para que sea irrelevante. Y una gran cantidad de software “web y móvil” que se discute en muchos foros públicos es que el software ha llevado el problema de escribir software rápido a otras partes de la pila.
Lo que esto significa es que debe buscar otros lugares en la pila donde la optimización es importante e ir a trabajar para ese tipo de empresas.
Y Dios los bendiga, hay cientos de tecnologías que se ajustan a ese proyecto de ley …
Empresas de bases de datos
Compañías de redes
Sistemas operativos
Servidores web
Juegos: hay una gran cantidad de trabajo para hacer que los juegos sean más rápidos. Y si realmente quieres hacer una carrera con la optimización, este es un gran campo.
Software de realidad virtual
Compiladores
CAD / CAM
edición de fotos
Vídeo
Sistemas de almacenamiento
Empresas que operan a escala como Google, Facebook
Aprendizaje automático
Simulacion fisica
Estas compañías se preocupan por escribir código rápido y eficiente que sea ajustado, limpio y correcto.
Y no pasan la mayor parte de su tiempo hablando de: API, idioma o biblioteca. Ahí no es donde se enfocan sus células cerebrales.
En cuanto a la resolución de problemas muy complicados, lo que pasa con los concursos es que sabes que hay una respuesta, en muchas de estas empresas se desconoce la existencia de la respuesta, y en algunos casos es incognoscible.
El éxito se define al resolver un rompecabezas que, hasta ese momento, nadie sabía que existía una solución razonable.
La industria en la que trabajé durante los últimos 15 años se trata de:
– resolver problemas difíciles de manera eficiente ANTES de que alguien más sepa que existe una solución.
Si eso no te emociona, entonces sí, la ingeniería de software no es para ti 🙂