¿Vale la pena obtener un título de CS para convertirse en programador?

Probablemente. Tengo un título de CS y lo he encontrado muy valioso a lo largo de los años.

En mi carrera, he trabajado con muchos programadores con títulos en diversos campos, algunos con CS o un equivalente, otros con historia, literatura, filosofía, sin título, matemáticas, finanzas, educación, etc.

Las similitudes generales que he encontrado son que las personas con experiencia en CS pueden discutir la complejidad computacional y realmente entender e implementar (y optimizar) algoritmos. Si empiezo a hablar sobre la gran O de una función con una persona que no es CS, sus ojos se vuelven muy claros.

Las personas de CS también tienden a conocer conceptos, no herramientas. Las personas que no son CS tienden a elegir un lenguaje / marco / técnica que les gusta y se ejecutan con él. La gente de CS hace lo mismo, pero puede adaptarse más fácilmente: es la diferencia entre que le guste javascript y solo escribir su código en dojo, y que le guste javascript y escribir en dojo y luego jquery y luego angular y luego reaccionar, y hacerlo todo desesperadamente esperando que Web Components o WebAssembly finalmente logre tracción y sea viable.

Es más fácil saltar paradigmas: las personas con CS tienden a sentirse cómodas escribiendo funcionalmente, procesalmente, declarativamente, orientado a objetos, orientado a aspectos, etc. De nuevo, probablemente tendrán una herramienta preferida (¡y opiniones firmes sobre el asunto!), Pero pueden saltar de un lado a otro sin mucha dificultad. Las personas que no son de CS tenderán a elegir un paradigma y seguirlo para siempre, con frecuencia ni siquiera saben qué es o cuáles son todos los conceptos.

Estoy generalizando salvajemente, por supuesto. También he conocido personas altamente capacitadas que no tienen un título de CS, y tontos absolutos que tienen el título. Cuando se trata de contratar personas, notaré el grado de traer a alguien para una entrevista y ajustar las preguntas para que coincidan, pero eso es todo.

Entonces, ¿por qué solo digo “probablemente”? Al final del día, también hay un factor de costo importante al ir a la escuela y obtener un título de CS. La universidad es mucho más cara que cuando fui y mucha más gente la financia con préstamos. Entonces, ¿obtener ese título y acumular $ 5,000 en deudas durante 4 años? Vale la pena. ¿Obtener ese título y acumular $ 75,000 en deudas durante 4 años? Eso es más dudoso.

Hay mucho trabajo fundamental que puedes aprender en línea de forma gratuita. No tendrá ese papel para demostrar que lo sabe, por lo que será más difícil comenzar. Pero puede ser más rentable. Pero si puede obtener un título de CS de manera razonable y económica, debería hacerlo.

… con una advertencia … y es que un título de CS es un generalista cuando se trata de escribir software. Podrías escribir un programa para tratar cualquier cosa, pero es posible que no tengas el conocimiento específico del dominio que de otra manera necesitarías. Por ejemplo, diga que está seguro de que quiere trabajar en biociencia y SOLO en biociencia. Nunca vas a escribir un clon de Candy Crush, solo quieres procesar tu archivo de codones. Un grado de biotecnología especializado con un CS menor / concentración puede ser mejor para usted en ese caso.

Para convertirse en un programador, simplemente necesita saber cómo escribir líneas de códigos para encontrar soluciones a un problema. Ser programador tiene poco que ver con la informática, ya que hay varias formas en que puedes aprender a escribir líneas de códigos simples. Esto es diferente de la informática como lo descubrirá.

La informática, en esencia, es el estudio científico de hacer que las cosas sean más rápidas, más potentes, más automatizadas, más eficientes y más escalables. Cómo extraer el significado de los datos que son demasiado complejos para que un humano los entienda con solo leerlos y cómo procesarlos en una escala masiva. La programación es simplemente un medio para ese fin.

Hay muchos recursos en línea donde puede aprender cómo escribir líneas de código, ya que proporcionan tutoriales y ejemplos de ejercicios para comenzar. Alternativamente, puede encontrar un mentor que pueda compartir con usted su trabajo y proyectos y ver si puede recrear lo mismo. Mejor aún, puede asistir a una buena escuela de programación como Holberton School y aprender los fundamentos básicos de la informática y los elementos importantes asociados con ella. Tienen un buen programa donde puedes conocer muchas cosas sobre programación y ciencias de la computación.

La programación es pensar. Pensamiento matemático. Si tiene una base sólida en Matemáticas y es capaz de comprender cómo abordar un problema de la vida real; usted es un programador con o sin un título de CS.

Pero para ser un programador socialmente aceptable, ¡creo que uno necesita un título de CS!

¡Absolutamente sí! Hay varias razones, pero una importante es que, a pesar de lo “fácil” que es aprender a “codificar” y cómo puedes “hacerlo todo con cursos en línea”, hay mucho más. Si usted es un desarrollador de nivel de entrada sin un título de CS, su currículum acaba de someterse a todas las especialidades de CS en la mayoría de las empresas.

Cualquiera puede saltar en línea y obtener información sobre el desarrollo web e ir y hacerlo, y es precisamente por eso que esas habilidades no son particularmente valiosas. De todos modos, harás todo eso en el trabajo en los primeros 3 meses porque cada equipo tiene una pila diferente. Tener una base realmente sólida para construir es donde está el valor.

Y mucho de lo que ese grado te da es una profundidad redondeada. Nunca se sabe cuándo necesitará comprender el cifrado, la computación paralela, el almacenamiento en caché, la programación, etc. Puede encontrar todo en línea, por supuesto, pero en realidad pasar y hacer esto durante años le dará la experiencia de usar estas herramientas. para resolver problemas complejos.

Vale mucho porque algunas soluciones rápidas y triviales que se te ocurrirán a menudo se basarán en cosas de las que nunca habrás oído hablar sin haber asistido a las clases. Son tanto una lección de historia de la informática como habilidades de ingeniería de software, y hay mucho que aprender en las décadas de descubrimiento que otros han hecho.

More Interesting

¿Qué NIT es bueno para obtener un doctorado?

Cómo hacer para enseñar en Medio Oriente o Asia

¿En qué debería especializarme si quiero ser un nanoingeniero?

¿Cuáles son algunas buenas universidades en nuestro país para estudiar una maestría en literatura inglesa?

Obtuve el 81% en el décimo grado, el 64% en el duodécimo grado y actualmente estoy buscando un último año de B.Tech (ECE). Hasta ahora, mi porcentaje acumulado en el B.Tech es del 75%. ¿Cuáles son algunas empresas multinacionales o empresas en las que soy elegible para presentar una solicitud y obtendré un paquete decente?

Obteniendo mi Bachillerato en Matemáticas el próximo semestre GPA es un 2.9 (larga historia) ¿Todavía tendré dificultades para encontrar trabajo?

¿Es un título universitario de la Universidad de Toronto un título competitivo cuando se postula en Harvard Business School? Si no, ¿qué puedo hacer para que mi aplicación sea más competitiva?

¿Me puede sugerir algunas buenas escuelas de negocios que pueda aplicar a través del examen MAT?

Cómo ser exitoso en Wall Street sin un título universitario

¿Qué tan buena es la experiencia de pasantía en GIPEDI, IIT Delhi?

¿Cuál es la diferencia entre un PhD y un PsyD?

¿Cuál es el alcance de hacer un M.Tech de VIT?

¿Qué campus filial de Penn State es el mejor después de University Park?

¿Debo obtener un trabajo después de la BBA, o ir por un MBA?

Soy estudiante de último año de secundaria con experiencia en programación. ¿Debo buscar seguridad o algoritmos?