¿Qué ventaja se puede sacar de un título de CS considerando que ya conoce la mayoría de los lenguajes de programación?

Simplemente conocer muchos lenguajes de programación no hará que alguien sea un buen programador. Los lenguajes de programación en realidad constituyen muy poco de la materia que se enseña en los programas universitarios de informática. ¿Esta persona hipotética sabe algo sobre el análisis de algoritmos? ¿Organización de computadoras? ¿Álgebra lineal? Teoría del lenguaje de programación? Si es así, no habrá una gran ventaja (aparte de la credencial, cuyo valor no debe subestimarse) que puede obtener de un título de CS.

De lo contrario, debería considerar aprender estos temas. Hay varias formas en que podría hacer esto. Una forma sería comprar libros de texto sobre estos temas y estudiarlos por su cuenta. La ventaja de este enfoque es que ahorraría mucho tiempo y dinero, y no se vería obligado a tomar cursos de literatura sin sentido; La desventaja es que sin una credencial, puede ser confundido con alguien sin ningún conocimiento de informática, lo cual es una situación extremadamente frustrante.

La otra opción es postularse a un programa universitario de CS. Si alguien piensa que ser un buen programador es simplemente una cuestión de conocer muchos lenguajes de programación, esta es probablemente la ruta que debe tomar. Tenga en cuenta que la calidad de los programas de CS varía enormemente de una escuela a otra. Para saber qué tan fuerte es un programa, mire la clasificación de Ciencias de la Computación de US News and World Report. No es perfecto, pero generalmente se ve como la mejor lista de clasificación disponible para los programas de CS.

Dibujando una analogía aquí: – La programación es para CS lo que la conducción es para competir

Los lenguajes de programación son herramientas. Puede aprender a usar una herramienta, pero obtendrá el mayor uso de la herramienta si sabe cómo interactúa con el ecosistema en el que vive.

Mucha gente puede aprender a conducir un automóvil. Pero, para correr un automóvil, debe tener una buena comprensión mecánica de cómo funciona el automóvil. Debe ser capaz de adivinar los ruidos que hace el automóvil, lo que sucede dentro del automóvil. Debe tener una buena comprensión de la física detrás del movimiento del automóvil para saber cómo reaccionará el automóvil cuando realice el próximo giro

En un nivel abstracto, la programación no es diferente a conducir un automóvil. Le estás diciendo a una máquina qué hacer. Si realmente desea sobresalir en decirle a la máquina qué hacer, debe comprender lo que la máquina puede y no puede hacer. Necesita comprender dónde es poderoso y dónde es la semana

Anécdota: Muchos programadores … especialmente los programadores Java … piensan que pueden hacer que todo vaya más rápido iniciando más hilos. Hice que alguien intentara leer un archivo más rápido haciendo que el programa tuviera varios subprocesos. O a veces la gente dice … “Te vas OOM … hazlo multiproceso” WTF ?! los hilos no harán que los discos duros giren más rápido. Los hilos no crean memoria. No tienen una buena comprensión de lo que sucede debajo del capó. No pueden imaginar lo que sucederá en el “motor”, cuando “aceleran”, como una manera de hablar. Tienen una visión más bien unilateral de cómo funciona la computadora. Entonces, toman malas decisiones

La respuesta corta es que “la informática tiene más que los lenguajes de programación que aprende”.

Me gustaría pensar que lo que obtuve de mi título no son solo los lenguajes de programación que aprendí, sino también

  1. Cómo abordar un problema de programación
  2. Cómo abordar la depuración de un programa con errores
  3. Cómo analizar qué tan bueno es mi programa (¿es rápido? ¿Es eficiente en memoria?)
  4. ¿Hay una mejor manera de abordar el problema que acabo de abordar

entre otras cosas.

Claro, puedes obtener una experiencia valiosa sin un título de CS, pero también hay cosas valiosas que puedes aprender en un aula que no puedes aprender simplemente escribiendo programas y aprendiendo muchos lenguajes de programación.

Las empresas requieren títulos, no porque ese trabajo no se pueda aprender sin uno, sino porque tener un título les demuestra que has puesto un esfuerzo considerable en algo y te has quedado con él.

Las empresas invierten mucho tiempo y esfuerzo en un nuevo empleado, quieren asegurarse de que usted también esté dispuesto a invertir tiempo y esfuerzo en ellas.

No * necesita * un título de CS para poder programar, pero definitivamente necesita uno si quiere formar parte de una empresa.

Dudo de quien esté haciendo referencia en realidad conoce * la mayoría * de los lenguajes de programación (Lista de lenguajes de programación).

La pregunta me recuerda 1/3 de una cita: “Los programadores junior piensan que saben todo y no saben nada”.

Los beneficios reales de un título de CS son todas las otras habilidades que se utilizan en CS fuera de cualquier lenguaje de programación individual, muchas de las cuales las otras publicaciones hacen un buen trabajo de bosquejo.