La programación es una herramienta, no un tema. Casi todos los campos de la ciencia y la ingeniería, incluso el campo de las ciencias sociales se beneficiará de alguna habilidad de programación. Piense en las computadoras como las calculadoras de bolsillo de próxima generación.
Gran parte de la informática es muy “back-end”. Las ciencias que entran en la construcción, por ejemplo, un sitio web incluyen:
- Bases de datos (¿cómo almacenar y recuperar datos rápidamente?)
- Redes (¿cómo se conectan las computadoras para que funcionen mejor? ¿Cómo se coordinan las computadoras / sensores?)
- Criptografía (¿cómo mantiene segura la información?)
- Diseño del lenguaje, verificación del software, construcción del compilador (¿por qué elegimos un idioma sobre otro? ¿Podemos verificar que los programas hagan lo que pretendemos ?)
- Algoritmos (queremos calcular algo. ¿Cómo lo hacemos rápido y con memoria limitada?)
- Diseño de interfaz de usuario (¿cómo optimizamos la interacción humano-computadora?)
Por otro lado, si simplemente te gusta la programación por lo que puedes hacer, puedes considerar un campo como Ingeniería (casi cualquiera lo hará), donde, en cambio, tratarás menos con las teorías anteriores e irás directamente a resolver problemas más directos :
- ¿Cuáles son algunos problemas que encuentran los analistas de garantía de calidad del software?
- ¿Cuál es la razón detrás de la primera web móvil más tarde?
- ¿Cuál es el mejor software de sistema de archivos distribuido con el rendimiento más similar al Elastic Block Storage de Amazon?
- ¿Cuál es la mejor y más rápida forma de desarrollar una sencilla aplicación para iPad?
- ¿A qué proyectos de código abierto escritos en C / C ++ son fáciles de contribuir?
- ¿Cómo hacemos que los robots ‘entiendan’ el mundo que los rodea, a través de sus sensores?
- Construcción de dispositivos electrónicos: ¿qué propiedades de los circuitos eléctricos debemos tener en cuenta? ¿Cómo van a interactuar con la computadora?
- Creación de sensores: ¿cómo obtengo los datos sin procesar de una máquina de MRI / máquina de CAT en una imagen 3D?
- Controladores de edificios: ¿cómo construyo vehículos sin conductor? ¿Sistemas de vuelo por cable? ¿Cómo debería responder mi aceleración al viento? ¿Cómo debe responder mi tasa de inyección de combustible a las condiciones ambientales?
- Estructuras de edificios: ¿cómo nos aseguramos de que un edificio no se derrumbe? ¿Cómo responde a la oscilación? ¿A las tensiones? A las imperfecciones? ¿Cómo sabemos si el suelo se moverá / no se moverá?
- Diseño de procesos: ¿cómo canalizamos los productos químicos a través de una planta mientras maximizamos los rendimientos, minimizamos los costos y evitamos los riesgos?
- Genética: desde el genoma, ¿cómo encontramos genes que causan / resisten enfermedades? ¡Obviamente no vamos a hacer esto a mano!
- Logística: ¿cómo debemos gestionar una cadena de suministro compleja para minimizar los retrasos?
- Economía: tengo un historial de movimientos de precios en un mercado de subastas (por ejemplo, el mercado de la electricidad). ¿Puedo encontrar evidencia de jugadores del mercado que abusen de su poder de mercado? ¿Están coludiendo?
O menos directos:
- Matemáticas: teorema de cuatro colores: escriba un programa para probar el teorema de 4 colores
- Física: a partir de los datos recopilados del LHC, encuentre pruebas del bosón de Higgs
Todo lo anterior no se puede hacer sin cálculo. Para calcular, necesita programadores, y para hacerlo de manera efectiva, necesitan una comprensión de los algoritmos que intentan resolver el problema en cuestión. Sin embargo, si los programadores no tienen un “caso de negocios”, es decir, un caso de uso para sus habilidades o conocimiento en el dominio del problema que están tratando de resolver, ya sea Física, Matemáticas, Química, etc., serán sin trabajo también!
En resumen, no limite sus opciones a CS / CE / SE. La realidad es que muchos problemas interesantes de hoy requieren habilidades multidisciplinarias. La programación permite convertir modelos económicos, problemas de ingeniería, teorías físicas, etc. en números reales y teorías.
Por lo tanto, busque algo que atraiga su interés y hágalo. Si puede programar, bien por usted, pero al final de su educación universitaria se dará cuenta de que los científicos informáticos / ingenieros de software no tienen el monopolio de las habilidades de programación.