He estado en la misma posición que tú, y elegí ese camino de 'universidad de mierda' del que hablas. Me encantaba el desarrollo de software, un pasatiempo de C ++ además de un curso básico de programación de HS y sueños. Ahora soy un desarrollador profesional, así que te daré mi experiencia.
Después de ir a la universidad durante 1 año (tenía una beca completa para teatro técnico), descubrí que me gustaba más el software que la construcción de escenarios.
Año 1- Comencé mi "cosa propia" que consistía en soporte de escritorio para pagar el alquiler y el desarrollo. Desarrollando cualquier cosa que pueda hacer, para cualquiera que lo desee, a una fracción del precio. Mirando hacia atrás, probablemente estaba haciendo solicitudes de $ 20,000 por $ 1,000. Comenzar por tu cuenta realmente apesta porque, incluso si tuvieras la experiencia de saber que es una aplicación de $ 20K, no tienes la credibilidad para pedirla. Y lo peor de todo, no tengo idea de lo que no sé, y no hay otros desarrolladores a mi alrededor. Creé aplicaciones que eran pesadillas de mantenimiento. No tenía habilidad en arquitectura o patrones de diseño, así que básicamente hice cosas que explotaron e hice soporte de red para pagar las facturas. Un montón de Taco Bell, mezclado con "bueno, al menos no estoy trabajando para el hombre". Tengo algunos sueños de aplicaciones para escribir y salir al mundo,
Año 2 : convertirse en un desarrollador un poco mejor al aprender qué no hacer y ver cómo me explotan en la cara. Apenas sobrevive con el soporte de escritorio, aprendiendo servidores y creando sitios web Debe ser más fácil que esto para el hombre, pero no tengo una cartera real, así que sigue adelante.
Año 3- Empezando a acostumbrarme a esto. Cuando presiono Archivo> Nuevo proyecto, tengo una vaga idea de a dónde quiero ir y cómo construir cosas. Aún eligiendo las arquitecturas incorrectas, los servicios web parecen geniales, así que ¿por qué no construir TODO con ellos? ¿Necesita una aplicación de escritorio de calculadora? ¡Construiré un servicio web! Comenzando a captar algunos clientes y ser el tipo de TI y algunos proyectos de software en el camino. Una cosa que hice fue crear un servicio de Respaldo externo usando Servicios web, por lo que mi sueño era ser un 'Mozy' mientras todos intercambiaban cintas. La banda ancha se estaba convirtiendo en algo común, así que estaba por delante de la curva, y esta iba a ser mi idea de un millón de dólares. Pero el servicio tenía problemas (debido a mi falta de habilidades de arquitectura),
Año 4 - Finalmente, un cliente cree en mí para un proyecto a largo plazo. Me las arreglo para hacerlo sin arruinarlo; el código no es genial pero funciona. Comenzando a ponerme al día con las facturas, me pongo a trabajar con algunos otros desarrolladores (finge hasta que lo hagas, ¿verdad?) E incluso respondo algunas preguntas de Intercambio de expertos. Oh si.
Año 5 : si aún no lo había notado, esos sueños en el año 1 aún no están escritos, por lo que eso comienza a ser un poco deprimente. Tengo una cartera decente de cosas que he escrito con éxito, obtuve un impulso decente y una base de clientes respetable. Todavía no sé realmente lo que no sé, y el punto de equilibrio.
Años 5 - 8 - Combinaré estos ya que es más de lo mismo de "hacer un proyecto, aprender un poco sobre cada uno, llevar esa experiencia al próximo". Hoy es a mediados del año 8, y solo en el último año o dos me he convertido en un buen desarrollador. Esos sueños en el año 1 ya han sido inventados muchas veces por otra persona. En caso de que no lo hayas adivinado, no creé Mozy.
En el camino he tenido nuevos sueños y nuevas ideas, y algunos han sido buenos, otros han sido horribles. Ahora tengo las habilidades para hacer que sucedan, y algunos de ellos están sucediendo, y es emocionante. Sin embargo, tengo la sensación de que si hubiera hecho las cosas de manera diferente, podría haber acortado este viaje bastante.
No puedo hablar de cuán diferente la universidad cambia este viaje; Dejaré eso a otros en este hilo. Pero los consejos que daré:
- Necesitas trabajar con otros desarrolladores. No me di cuenta de lo importante que era esto. No sabes lo que no sabes hasta que miras el código de otra persona u obtienes una horrible revisión del código.
- Falla antes de tener grandes responsabilidades. Si realmente quiere salir por su cuenta, intente hacerlo antes de casarse, tener un pago de la casa, hijos, etc. Fracasará y fracasará muchas veces. Acostúmbrate y valóralo, ya que es la mejor experiencia de la historia. Pero cuando tu aplicación asesina en la que acabas de gastar todo tu tiempo y dinero no tiene un solo cliente, es mucho más fácil recuperarse cuando solo eres tú.
- No hay absolutamente nada de malo en el arranque. Si tiene habilidades de red, vaya a trabajar en un Centro de operaciones de red o en un servicio de asistencia (algo dentro del ámbito de TI) y trabaje para convertirse en un mejor desarrollador fuera de horario y los fines de semana. Haga conexiones con personas en trabajos reales. Los necesitarás más tarde.
- Esté 125% seguro de que AMA el desarrollo de software. La pasión por el software viene antes de la parte 'millonaria', no al revés. Si no te apasiona esto, o tu corazón no comienza a latir un poco más rápido cuando llegas a New Project, ve a hacer otra cosa y mantén esto como un pasatiempo.
Estoy seguro de que podría continuar, pero lo curioso es que vi esta pregunta mientras trabajaba en uno de esos sueños y tuve que responder a esta. :) Buena suerte.