¿Qué conocimiento relevante para el trabajo me estoy perdiendo como desarrollador de software al no tener un título en informática?

Esta es una pregunta interesante. Comencemos con lo que ofrece un título de CS.

Un título de CS te da dos cosas:

  1. Conocimientos de informática.
  2. Un certificado que demuestre que ha recibido capacitación en el campo.

En comparación con cualquier otro campo, no hay nada especial en CS. Si obtiene el trabajo de curso para cualquier campo, tenga acceso a equipos / instalaciones de capacitación (por ejemplo, laboratorios) y puede someterse a tutoría bajo expertos centrales en el campo; después de algunos años, finalmente sabrá lo que hay que saber en el campo. Sencillo. Esto cubre la parte del conocimiento. Sin embargo, la probabilidad de que pueda acceder a todo esto fuera de un programa de CS de la universidad es otra cuestión completamente diferente.

Ahora la parte del certificado. Un certificado es lo que le dice a la gente que tiene al menos una cierta cantidad de capacitación. En otras palabras, establece una línea de base. Cuando las empresas dicen ” estamos invitando a graduados de CS para entrevistas “, lo que dicen en esencia es ” nos gustaría conversar con alguien que una universidad cree que es lo suficientemente informado como para tener un cierto certificado. Recuerde, no es un sustituto para una entrevista, solo establece una línea de base para que nadie se avergüence de la entrevista. Sin embargo, en la actualidad, hemos visto que muchas compañías (especialmente compañías web) pasan por alto esto y proceden directamente a las entrevistas. Esto, creo, se debe a que el campo aún es relativamente joven y en gran medida no regulado. El hecho de que generalmente no hay mucho en juego cuando algo sale mal disminuye aún más la barrera de entrada.

Muchas compañías de software se esfuerzan por ocupar puestos, por lo que cualquier cosa que amplíe su grupo de talentos es buena para su negocio. Esto significa que están listos para contratar a personas que tradicionalmente no están capacitadas en el campo, siempre y cuando puedan entregar.

Entonces, ¿qué es exactamente lo que te estás perdiendo si no obtienes un título de CS?

  1. Conocimientos básicos de CS (DS, algos, OS, compiladores, matemáticas, arquitectura de computadoras, PNL, IR, HCI, gráficos, ML, AI, etc.) pero todo esto se puede aprender con tiempo, dedicación y acceso a los mentores y recursos adecuados. Hay muchos cursos universitarios gratuitos en línea. Puede llevar mucho tiempo (que en sí mismo es un recurso costoso que no debe desperdiciarse), pero finalmente lo aprenderá.
  2. El certificado Con los Google y Facebook de esta época, puedes salirte con la tuya. Simplemente hazlo muy bien en sus entrevistas y serás contratado. Ser invitado a las entrevistas es un desafío diferente que definitivamente sería más difícil si no tienes un título. Además de eso, tendrás que trabajar constantemente más duro para demostrarle a la gente que conoces tus cosas.
    Otra cosa que vale la pena considerar es el hecho de que hay algunos trabajos de alto perfil con tanto en juego que un título sería un requisito difícil (ciencia de cohetes) y dichos trabajos permanecerán fuera de su alcance hasta que establezca una reputación que eclipse su falta de un grado.

Un poco difícil de responder, ya que depende principalmente de tu futuro.

Quizás el punto sea cuánto podrá lograr, en promedio. Supongo que probablemente lo harás bien hasta cierto límite. Un aspecto de los estudios formales es que lo expone a tantas cosas que su mente se estirará (o al menos, se masajeará).

No es ningún secreto que aprende mucho en un entorno de trabajo, pero este aprendizaje generalmente se limita a ciertas restricciones, muy probablemente en el tiempo . Si está sujeto a una fecha límite, salte a la fase de implementación, sin pensar demasiado en algunos de los detalles. Tan pronto como funciona, está hecho.

Se podría decir que al obtener un título, también está sujeto a plazos. De hecho, lo estás, pero también estás en un entorno de aprendizaje controlado. Un instructor espera que los estudiantes cubran ciertas áreas y extrañen otras, y hará algunas preguntas difíciles, por ejemplo. Hay una hoja de ruta de aprendizaje, bastante probada, y funciona.

Por supuesto, hay personas que aprenden mejor por su cuenta. Mentes brillantes que abandonaron la universidad / universidad y se fueron para crear grandes cosas. Eso es algo bastante poco común, y hay una observación común: se rodearon de personas que se sometieron a estudios formales y obtuvieron un título.

Eso es difícil de responder porque no sé qué conocimiento posees. Hay una serie de materias que están cubiertas en un título de CS que no necesariamente se encontrará si es un programador autodidacta. Aquí hay una pequeña cantidad de cosas que vienen a la mente:

  • Amplio conocimiento de estructuras de datos y algoritmos.
  • Complejidad algorítmica e intratabilidad.
  • Computabilidad
  • Temas del sistema operativo, como la gestión de recursos y los procesos de cooperación.
  • Construcción del compilador.
  • Teoría de bases de datos / fundamentos
  • AI

Puede completar su conocimiento de cualquiera o todos estos mediante un pequeño estudio independiente. Sugeriría encontrar cursos en línea a través de MIT Opencoursweare o iTunes U como puntos de partida.