¡Felicidades por conseguir un trabajo en la industria tan joven! IMO esto te da una ventaja significativa.
Sólo he visto respuestas negativas hasta ahora, así que déjame decir:
Puedes absolutamente, positivamente, convertirte en un ingeniero de software bien redondeado sin colegio o universidad. Uno de los ingenieros de software más impresionantes, bien redondeados y solicitados que conozco ni siquiera terminó la escuela secundaria. De acuerdo, es una excepción bastante grande, pero lo hizo trabajando consistentemente desde una edad temprana, y aprendiendo durante toda su carrera.
Ir a la universidad y obtener un título NO te convierte en un ingeniero de software bien redondeado. Demuestra que puedes alcanzar un objetivo estructurado y de varios años, y en el camino aprendes algunas cosas que -al menos en los Estados Unidos- amplían tu nivel educativo general. También te ayuda a conseguir tu primer trabajo en la industria.
Otras cosas que hace para los ingenieros de software:
- Asegura que has estado expuesto a los algoritmos y disciplinas principales.
- Te da un vocabulario común con otros SWE's con educación universitaria. Esto es lo más común para la gente que no ha ido a la universidad.
- Te da más de cuatro años para perfeccionar tus habilidades por tu cuenta.
- Si eres un exitoso ingeniero de software en tu empresa, y si estás enviando código y obteniendo buenos resultados, eso es lo mejor que puedes hacer. Sigue haciéndolo.
Un título es un prerrequisito común para muchos puestos de trabajo de la industria, pero se puede prescindir de él ante una experiencia significativa y unas habilidades sólidas. Asegúrate de tener esas habilidades fuertes, y trabaja para volver a llenar tus agujeros académicos. Si te apetece, puedes trabajar para obtener una licenciatura en tu tiempo libre. Mi hermana hizo una licenciatura mientras trabajaba a tiempo completo en entre 4 y 6 años.
Ahora, para responder a tu pregunta real:
Para rellenar tu educación, si así lo deseas (lo considero opcional)
- Encuentra el plan de estudios de ciencias de la computación en algunas buenas escuelas. Una buena universidad estatal está bien. Stanford / MIT / CMU son siempre buenas. Muchos de los cursos pueden estar disponibles en línea, o al menos tienen conferencias en youtube. Stanford, en particular, tiene un conjunto respetado de cursos disponibles.
- Elige los cursos directamente relevantes para el software. Eso sería *todos* los cursos de ciencias de la computación, muchos de los cursos de matemáticas, un chapoteo de otros cursos de STEM (por ejemplo, introducción a la física) si usted está interesado, y la escritura técnica.
Para que usted bien redondeado:
- En el hábito de mantener un ojo en lo que está pasando en la industria.
- Apúntate a la ACM para obtener acceso a su biblioteca digital, es bastante frigging útil. Sigue siendo miembro y solicita la categoría de senior cuando llegue el momento.
- Considera la posibilidad de leer investigaciones relevantes para tu disciplina. Los artículos están disponibles en línea, por ejemplo, a través de la biblioteca digital de la ACM.
- Lee textos relevantes para una variedad de disciplinas. Al menos: ingeniería de software, pruebas de software, sistemas distribuidos, sistemas operativos, servicios web, interfaces de usuario / hci, algoritmos, lenguajes formales, matemáticas discretas. Familiarícese con la terminología. Busca proyectos de código abierto en esas áreas.
- Mantente atento a las nuevas herramientas, y a las revisiones de los lenguajes de programación que utilizas. Aprenda al menos uno, idealmente dos IDE's muy bien. Asegúrese de que utiliza la terminología correcta y puede hacer cosas como evaluar la complejidad computacional, e implementar ejemplos de las estructuras de datos y algoritmos comunes.
¡Felicidades de nuevo por conseguir un trabajo de programación tan pronto!