Recientemente fui rechazado de una universidad que me había aceptado anteriormente, debido a que pasé un año de secundaria en un país extranjero y la universidad no estaba interesada en reconocer la educación recibida en otra nación. Debido a esto, una beca muy generosa se ha agotado, y el financiamiento de una educación es dudoso. También dudo en formar parte de un sistema que ha demostrado lo que considero xenofobia flagrante.
Lo que quiero hacer es decir "A la mierda la universidad", salir adelante por mi cuenta y hacer algo increíble, sorprender a todos y convertirme en millonario. La realidad de la situación es que estoy dos semanas fuera de la escuela secundaria, tengo aproximadamente el equivalente de un curso de Introducción a la programación de experiencia autodidacta (aunque estoy impulsado a aprender y mejorar), todavía tengo que pagar facturas, y tengo la sospecha de que cualquier empleador tendrá dificultades para tomarme en serio.
Según tengo entendido, es una creencia bastante popular que puedes lograrlo sin un título, pero ¿cómo hace eso alguien como yo? ¿Alguien me tomaría en serio si entrara a su oficina y dijera "No tengo educación formal y un mínimo de habilidades, pero quiero trabajar y quiero aprender. Por favor, denme un trabajo"?
Respuestas:
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é:
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.
fuente
Sin duda, ve a la universidad.
Personalmente, lo hice sin la universidad (sin decir que soy millonario, pero tengo un buen trabajo en una empresa para la que amo trabajar), pero es un camino difícil . Inicialmente, estás detrás de la curva en todo . Matemáticas, algoritmos, sistemas operativos, todo lo que obtienes durante una educación formal (y algunos de los cuales, es decir, Cálculo, es muy difícil de aprender en ti, incluso con acceso a cosas como las matemáticas. SE).
Al estar recién salido de la escuela secundaria, es posible que pueda ingresar a un departamento de control de calidad y comenzar a sumergirse en todo lo que pueda. Sin embargo, el camino desde el control de calidad hasta el desarrollador o el ingeniero puede ser difícil, ya que hay una generalización (a veces pobre) sobre las personas que vienen del control de calidad que intentan entrar en un camino de desarrollo.
Hacerlo sin un título es factible, pero tremendamente difícil y requiere tanta suerte y trabajo en red como pura habilidad.
Aunque amo lo que hago y estoy orgulloso de mis logros personales, nunca lo recomendaría a nadie que tenga la habilidad y esté en una buena posición para realizar un programa de grado.
fuente
Con su currículum actual, no obtendrá un trabajo como desarrollador, así que ni se moleste.
Si no puede o no quiere ir a la universidad, tendrá que adquirir experiencia por su cuenta. Es una forma difícil de hacerlo, pero se puede hacer. Las aplicaciones móviles son una buena manera de comenzar, ya que puedes poner tu producto frente a usuarios reales muy fácilmente. Contribuir a proyectos de código abierto podría ser otra opción. O simplemente escriba algo para su propio uso. Al principio, no ganará dinero con esto, al menos no lo suficiente para ganarse la vida, por lo que probablemente también necesite un trabajo regular. Esté atento a las oportunidades de obtener una educación barata; algunas universidades te permiten tomar cursos sin crédito por una fracción de la matrícula regular.
Haga esto por algunos años, y luego puede comenzar a enviar currículums. Asumiendo que todavía quieres hacer esta mierda para vivir.
Buena suerte.
fuente
Hmm ... esto es difícil. Creo que realmente depende de tu naturaleza como persona.
Si realmente conociera el contenido en unos 6 u 8 libros, sería un desarrollador muy sólido (años más allá de lo que está produciendo la mayoría de los programas de CS, en serio). Toma los fundamentos en serio; muy en serio, como una religión en serio (KR podría ser tu biblia).
La idea de hacer pequeños proyectos es buena. Siempre trate de mejorar usted mismo: elija un par de ecosistemas y apréndalos bien (1 - diga ROR o Django en Linux con mysql y 2. iOS / Objective C; 2.5. - agregue jQuery / HTML).
editar --- en la parte superior de mi cabeza, sugeriría la lista a continuación (en ~ este orden); Tengo 9 pero uno es un libro de matemáticas, uno es un libro de secuencias de comandos / Java, y el último lo consideraría opcional. Hay un par de temas más allá de esto que se tratarían en Joel on Software. Creo que esto te haría un desarrollador muy fuerte, estoy seguro de que otros no estarían de acuerdo.
fuente
Comencé como uno de esos desarrolladores universitarios de tornillo. Hoy en día estoy terminando la universidad a pesar de que tengo un buen trabajo bien remunerado como desarrollador.
Comencé a jugar con la programación de computadoras cuando tenía unos 9 años. En los años 90, gané dinero creando sitios web para amigos y esto me dio experiencia de primera mano con la web temprana (jugué con javascript, estaba bastante confundido cuando apareció CSS, etc.).
Cuando era adolescente decidí que era hora de aprender realmente la programación de computadoras en profundidad, así que busqué en Internet los temas que todo programador debería saber y luego gasté todo lo que tenía en libros. Compré un libro sobre Matemática discreta, un libro sobre el sistema operativo y un libro sobre programación en C en entornos UNIX.
Luego me dispuse a aprender programación orientada a objetos con C ++ y aprendí Python y Java en el camino y esto me dio mi primer trabajo (no valió la pena, pero pronto dejaría este trabajo por uno mucho mejor).
Cuando llegué a la universidad, me encontré realmente frustrado. Excepto para clases como Cálculo, Estadística e Idiomas formales; Prácticamente ya conocía todos los temas cubiertos en el curso y el equilibrio de la universidad y mi trabajo se hacía cada día más difícil.
La universidad me hizo sentir tan frustrado que abandoné y decidí aprender todo lo que necesitaba solo. De nuevo, compré más libros, participé en proyectos de código abierto y seguí cambiando de trabajo para seguir obligándome a aprender cosas nuevas.
El año pasado, decidí volver a la universidad (aunque todavía me frustra). La razón por la que decidí terminar la universidad fue porque ahora tengo la oportunidad y no quiero tener que arrepentirme nunca de haber ido a la universidad.
Entonces, sí, puedes trabajar como desarrollador de software sin un título, pero tendrás que estudiar mucho, tomar algunos trabajos pésimos cuando aún eres un principiante y mostrar a cada empleador potencial que tienes conocimiento, experiencia y que eres realmente inteligente ( después de todo, debes convencerlo de que te contrate a ti y no al otro tipo que tiene ese título de CS). Solo asegúrese de comprender las estructuras de datos, los algoritmos y el análisis de algoritmos, los patrones de diseño y algunos conceptos del sistema operativo.
Mi último consejo para ti: si puedes permitírtelo, deberías ir a la universidad. Confía en mí, será mucho más fácil ahora que todavía estás recién salido de la escuela secundaria y no tienes que preocuparte por pagar las facturas. Ser desarrollador sin ir a la universidad solo funciona si comienzas muy temprano. La gente lo contratará si tiene un título pero no puede codificar bien todavía, ahora, si no tiene un título y aún no puede codificar bien , no será contratado.
fuente
Si puedes ingresar a la universidad, te será más fácil, pero no es necesario.
La clave es tener cosas que puedas señalar y decir "hice eso". La única forma de hacerlo es trabajar desde abajo. Comience haciendo trabajos ocasionales para las personas que "solo necesitan un programador". Quizás visite lugares como eLance .
También puede escribir su propio software y venderlo. Elija algún problema que todavía no tenga una buena solución en el mercado y escriba un programa que resuelva ese problema. Podrás venderlo. Entonces tendrás algo de credibilidad. Honestamente, probablemente harás un trabajo horrible si es tu primer proyecto real, pero aprenderás muchísimo y aún venderás copias si es útil. El código no tiene que ser bonito. Los usuarios solo ven la interfaz de usuario.
La experiencia es clave. Afortunadamente, la programación es una de esas profesiones en las que casi no se necesita ninguna sobrecarga para comenzar. Solo date cuenta de que hay una curva de aprendizaje muy larga por delante.
fuente
Los empleadores quieren al menos una de dos cosas (o ambas): educación o experiencia práctica. Por lo general, obtener una educación es una de las formas más fáciles de ingresar al sistema donde finalmente comenzará a obtener experiencia práctica. Obtener una educación le dice a un empleador que te quedarás con algo que es difícil (y que a veces puede parecer inútil y una pérdida de tiempo). Esto es importante para ellos porque el trabajo, no importa cuánto lo disfruten, nunca será fácil ni divertido todo el tiempo. Quieren saber que te vas a quedar ahí.
Dicho esto, si vas a intentar la ruta que delineaste, tendrás que obtener algo de experiencia práctica. Yo personalmente recomendaría buscar nuevas empresas (generalmente son un poco más propensas a arriesgarse con alguien con poca o ninguna experiencia). Otra cosa a considerar es conseguir un trabajo de cualquier tipo (para pagar las facturas), luego pasar tiempo desarrollando proyectos de algún tipo que pueda usar como currículum. Una vez que tenga un pequeño arsenal de proyectos, estará en una posición mucho mejor para acercarse a los empleadores y decir "Esto es lo que puedo hacer ...".
Mi recomendación personal sería ir a la escuela. No importa mucho cuál y con subvenciones y becas que están ampliamente disponibles y no se utilizan, hay muchas maneras de financiar una educación. Al final, es probable que estés muy agradecido de que te hayas quedado con la escuela para terminar y obtener un título.
fuente
He estado fuera de la escuela secundaria durante aproximadamente 2 años. Ya tengo un trabajo en programación y solo tomé unas 20 o 24 horas de universidad. Sin embargo, no tuve suficiente dinero ni tiempo para hacerlo después de los primeros dos semestres.
¿Cómo conseguí mi trabajo en programación? Suerte, básicamente. Pero puede aumentar sus probabilidades de hacerse notar afortunadamente. La razón por la que me notaron fue por algunos pequeños programas paralelos que hice y mostré a mis amigos. Eso, y yo era conocido como "The Computer Guy" con más maestros que me preguntaban cómo reparar su computadora que el tipo de soporte técnico real. Bueno, uno de los padres de mi amigo era dueño de una pequeña compañía de software ...
El consejo que te daré es que no dejes de hacer cosas. Aprender y hacer. Haga cualquier proyecto que alguien quiera. Cualquier cosa interesante para usted, o cualquier cosa que alguien le pague incluso un centavo por hacer. Contribuya a proyectos de código abierto también. Un ambiente de equipo es bueno.
Además, dése a conocer en un sitio web como StackOverflow. Obtuve mi segunda oferta de trabajo de una consulta de Stack Exchange en StackOverflow que básicamente mostraba a todos en Oklahoma ... y yo era la persona mejor calificada en reputación.
fuente
Genial, excelentes respuestas aquí. También agregaré mi propia experiencia.
He estado programando de una forma u otra desde que tenía 5 o 6 años (¿TI BASIC, alguien?) En 1995 más o menos me metí en Linux y comencé a enseñarme C y Perl. Ni siquiera tomé un curso de programación en la escuela secundaria, porque en ese momento estaban enseñando Visual Basic y Visual C ++, y tampoco me interesaba.
Fue al colegio. CS 101 fue "Introducción a la programación (Visual Basic)". Se convirtió en una filosofía principal.
Abandonó la universidad. Trabajó en CompUSA, comenzó a hacer desarrollo web independiente.
Trabajé en cafeterías o trabajos de soporte técnico, seguí codificando por mi cuenta ... haciendo programación independiente y de código abierto.
Mi primer trabajo de codificación "real" (con "programador" en el título) vino a través del nepotismo. Un amigo dejaba un puesto y le pidieron que encontrara su reemplazo.
Ahora recibo ofertas de forma regular, mi trayectoria profesional se ve bien, no me preocupa ese grado. Pero voy a volver a golpear algunos de esos cursos de CS ... A pesar de que la informática! = Programación del mundo real, aprenderá algoritmos y (con suerte) patrones de diseño que le impedirán hacer cosas estúpidas y reinventar la rueda. Entonces la escuela no es necesaria ... pero ayuda.
Principalmente, diría, incluso si tienes que ir a una escuela estatal o incluso a un colegio comunitario, ve y aprende todo lo que puedas. Sigue pirateando proyectos de código abierto en tu tiempo libre (GitHub es el nuevo currículum, como dicen), y si aparece algo más atractivo ... no tienes que terminar. No tiene que graduarse para incluir un conteo de crédito y un GPA en su currículum, FWIW.
De todos modos, la mejor de las suertes. Si realmente te apasiona escribir un buen código, esa es la clave. Pero la universidad es una especie de "dependencia del sistema heredado" para la mayoría de las empresas.
fuente