si
Me gradué en 1997 con mis licenciaturas. Había aprendido a Pascal. No muy útil
Mi primer trabajo, todo se hizo a mano en Excel. Aprendí VBA y MS Access (herramienta DB). En un par de meses estaba haciendo en 8 horas lo que antes tomaba 45. Y lo hacía con mayor precisión porque no estaba tratando de copiar y pegar en varias hojas de cálculo.
Luego, en mis siguientes 2 trabajos, aprendí nuevos idiomas para los proyectos según fuera necesario. Después de eso, pasé la mayor parte de mi tiempo en Matlab.
En mis últimas 2 posiciones estaba rodeado de personas que podían codificar. Pero mis compañeros nunca se esforzaron por hacerlo tan bien. Eran adecuados en eso. Algunos fueron más rápidos que otros, ninguno fue tan eficiente.
Siempre tomé la posición de que debería programar su código en el nivel útil más pequeño. Por ejemplo, tenía una función a la que le pasé un directorio y un patrón de nombre de archivo y buscó en todos los directorios debajo del que le pasé los archivos que coinciden con ese patrón. (Python tiene la función glob que es muy similar). El resultado era una lista de archivos con todos los datos que normalmente necesitaba sobre esos archivos en una buena lista ordenada.
La mayoría de las veces, mis compañeros simplemente codificaron a mano sus archivos de entrada en su script de inicio. Usé mi función de búsqueda. Entonces, cuando obtuvimos nuevos datos de prueba, tuvieron que actualizar su script. Acabo de ejecutar el mío y la función de búsqueda agregó automáticamente el nuevo archivo a la lista de archivos para procesar. De acuerdo, esto solo ahorró un minuto o dos, pero ese script ahora se puede aprovechar en partes de código. El efecto es un ahorro de tiempo compuesto.
Cualquiera de mis compañeros podría haber escrito ese código de búsqueda. Cualquiera de ellos podría haber usado el mío. Muy pocos lo hicieron. Y 6 meses después de ambos puestos, tenía una biblioteca de estas pequeñas funciones que podrían encadenarse para hacer cosas complejas sin mí. Eso significaba que normalmente terminaba mi trabajo mucho más rápido que mis compañeros. El trabajo fue consistente porque la computadora estaba haciendo todas las tareas mundanas que solía pasar por alto o hacer mal cuando estaba cansado.
Significaba que mi computadora podía ejecutar simulaciones, análisis, etc., mientras estaba en reuniones o en casa dormido.
Al final de 5 años en mi última posición, tenía simulaciones de controles de extremo a extremo que se ejecutaban sin mí. El código tomó mis nuevos parámetros, creó un controlador a partir de ellos, ejecutó un análisis lineal, luego ejecutó un análisis de dominio de tiempo, luego generó una presentación de PowerPoint con todos los datos relevantes. Lo que solía tardar unos días en ejecutarse y documentarse ahora tomó menos de 30 minutos. Todo estaba bien formateado, no los gráficos oculares que hace la mayoría de la gente. Las diapositivas de PowerPoint solo necesitaban que las revisara en busca de errores, lugares donde mi código podría haber fallado y mi comentario sobre lo que significaban los resultados de rendimiento. Aproximadamente 20 horas de trabajo se habían convertido en 30 minutos para mí y me había librado de casi todas las partes mundanas de mi trabajo.
El punto es este. 1) Incluso si no es necesario. Aprende a programar. 2) El idioma no es tan importante como aprender a programar bien. Cuando lo haces correctamente, las ganancias se agravan. Produces trabajos de mayor calidad en mucho menos tiempo.
Si está buscando consejos sobre los mejores idiomas para aprender, comenzaría con Python y Matlab. Pase mucho tiempo en StackOverflow para Python y preste atención a lo que las personas llaman código Pythonic. Pase mucho tiempo en Mathworks Central y StackOverflow aprendiendo cómo escribir un buen código de Matlab. Presta especial atención al Álgebra Lineal en tu trabajo del curso, ya que este es el corazón de la escritura de código eficiente (muy rápido) en Matlab y la biblioteca Numpy en Python. Evitar bucles a favor de los productos de puntos y la multiplicación de matrices es la forma más fácil de hacer que su código se ejecute 100 veces más rápido.