Soy un estudiante de 15 años que busca comprar su primer auto y pensé que podría ganar algo de dinero extra aprendiendo a programar, ya que me gusta jugar con la computadora todo el tiempo.
He estado leyendo muchas de las publicaciones aquí y he creado una lista de libros que creo que sería beneficioso para mí, sin embargo, no sé qué información es más importante saber primero o si tengo todo lo que necesitaré. Esto es lo que estaba pensando:
1: Aprende un lenguaje de programación en profundidad. Estoy a punto de terminar con el libro paso a paso 2. Aprenda sobre el diseño orientado a objetos y los patrones de diseño 3. Aprenda sobre las pruebas de software 4. Practique estas habilidades en sitios web como projecteuler, topcoder e intente hacer cosas simples proyectos en sitios web independientes como rent-a-coder.
¿Hay algo más que creas que pueda necesitar o debería considerar?
Gracias.
Microsoft Visual C # 2010 paso a paso
Professional C # 4.0 y .NET 4 (Programador de Wrox a Programador)
Head First Análisis y diseño orientado a objetos
Patrones de diseño: elementos de software orientado a objetos reutilizables
fuente
Respuestas:
Tu primer paso = Aprende tu oficio
La experiencia es más importante que el aprendizaje de libros:
Sin duda, esto lo llevará a aprender libros, etc., pero le permitirá evaluar su propio progreso y elegir qué leer y cuándo. Algunos consejos:
En cuanto a su elección de libros:
Si desea obtener la ruta C #, su lista de libros es excelente. ¡Si llegas a conocer todo eso, valdrás tu peso en oro! He sido un programador (bastante bien) pagado .Net desde los primeros días de .Net, pero todavía no he leído el más avanzado de estos libros (pero están en mi lista de lectura). La lección que extraigo de esto es que las cosas avanzadas tienen su lugar, pero el dominio de lo básico aún puede darte una gran carrera. Por lo tanto, no se preocupe demasiado por los libros avanzados hasta que realmente los necesite. Hay un libro que agregaría a su lista, incluso antes de los libros avanzados de C #: Code Complete 2. Probablemente sea el libro más recomendado en este sitio. Merece la pena, en mi opinión.
Su próximo paso = generar confianza
Mencionaste ganar un poco de dinero. Para decir lo obvio: para ganar dinero desarrollando software, debe encontrar a alguien dispuesto a pagarle. Desafortunadamente para ti, descubrir que alguien va a ser un desafío para ti.
¿Por qué?
Puedo estar equivocado acerca de esto, ya que es (por supuesto) bastante irrazonable. Sin embargo, la triste realidad es que las personas tienen prejuicios sobre la edad. En mi experiencia, es probable que muchos empleadores potenciales lo rechacen porque consideran que los jóvenes no son confiables y no pueden cumplir sus promesas. Lo que hace que esto sea particularmente injusto es que no puedes hacer nada sobre tu edad, excepto esperar.
Sin embargo, hay cosas que puede hacer para aumentar la probabilidad de encontrar empleo como desarrollador a pesar de su edad:
a) Mantente en ello. Si no busca clientes porque no espera que lo rechacen, nunca encontrará los que mirarán más allá de su edad y verán sus cualidades como desarrollador. En otras palabras, no permita que los prejuicios de otras personas sobre la edad se conviertan en sus prejuicios sobre otras personas.
b) Consigue un defensor: alguien que responda por tus habilidades y que tenga más credibilidad ante los prospectos que tienes en ti mismo. ¿Quizás tiene un amigo o pariente mayor que puede hablar por usted? Por supuesto, necesitará a alguien que pueda garantizar sus cualidades personales, así que asegúrese de estar realmente a la altura técnicamente.
A pesar de que obviamente tienes talento, conocimiento y entusiasmo, no tienes 5 años de experiencia en el trabajo. Este es un problema que enfrentan todos los nuevos en una profesión, sin importar su edad. A menudo, las personas no quieren la molestia de emplear a personas que aún no tienen un historial probado en hacer el trabajo.
Afortunadamente, puedes hacer mucho al respecto:
a) Reconocer que esta es una preocupación razonable
Es difícil para alguien justificar el pago de un servicio cuando no tiene evidencia de que obtendrá lo que paga.
Cuando hable con posibles clientes, sea honesto sobre su falta de experiencia, pero demuestre por qué no será un problema. Si muestra la iniciativa en esto, puede socavar sus objeciones antes de que las hayan pensado adecuadamente. El beneficio de esto no es manipular, sino demostrar que comprende sus necesidades comerciales.
b) Construir una reputación
Realice paquetes de trabajo pequeños y manejables por una tarifa lo suficientemente pequeña como para eliminar el riesgo de la transacción para el cliente. A menudo, esto significa que haces tu primer trabajo gratis. Elija estos clientes con cuidado: debe hacer algo que le dé satisfacción a alguien que cantará sus alabanzas cuando entregue. Me dicen que muchos desarrolladores realizan obras de caridad para comenzar, pero la familia y los amigos de la familia también pueden ofrecerle algo.
c) Desarrollar experiencia
Para demostrar experiencia necesitas ... experiencia. Si no puede encontrar a nadie más para quien trabajar, trabaje usted mismo. Comience un proyecto de pasatiempo. Elija algo que la gente encuentre útil y que (a tiempo) esté dispuesto a pagar. Sin embargo, no trabaje en eso por dinero, sino por la experiencia. Considere esto como una inversión a largo plazo: puede esperar una recuperación a largo plazo, no necesariamente a corto plazo.
d) Desarrolle sus habilidades no técnicas
Si la programación de pago no funciona en este momento, no se preocupe. Los empleadores no solo pagan por las habilidades en un área en particular, sino por un paquete completo.
Las habilidades no técnicas son tan importantes en la industria de TI como las habilidades técnicas: los empleadores buscan profesionalidad y capacidad de programación. Estas cualidades profesionales pueden incluir habilidades de las personas, experiencia financiera, conocimiento comercial y cualidades personales como honestidad, confiabilidad, etc.
Todo esto puede desarrollarse independientemente de sus habilidades técnicas. Por ejemplo, si necesita el dinero, podría tomar un trabajo que no sea de programación. Alternativamente, podría involucrarse con un grupo comunitario, una organización benéfica o un puerto o lo que sea donde pueda desarrollar sus habilidades no técnicas. En última instancia, estas actividades pueden llevarlo a obtener su primer contrato de programación adecuado, si no directamente (nunca sabe qué contactos hará), entonces indirectamente, porque es más completo y tiene más para ofrecer que otras personas.
fuente
Puede que sea mejor concentrarse ahora mismo en las áreas de desarrollo "más suaves", por ejemplo, configurar sitios web y aprender a instalar y configurar sistemas de gestión de contenido y otras aplicaciones de código abierto.
No veo a un chico de 15 años realmente capaz de trabajar por cuenta propia como programador, a menos que sea realmente excepcional en la programación. Creo que es más probable que pueda obtener contratos pequeños para configurar sitios web para empresas locales y luego avanzar a proyectos más grandes desde allí.
fuente
Creo que es increíble lo que estás buscando hacer. ¡Este tipo de cosas deberían ser alentadas! Dicho esto, como solo tiene el verano para trabajar en proyectos de pago, es posible que desee elegir una pila de tecnología más rápida que C # y .NET. Hay muchos contratos cortos para cosas como aplicaciones PHP, aplicaciones RoR, desarrollo de iOS y Android, personalizaciones de CMS, etc. Es menos probable que esos tipos de roles tengan prejuicios contra su edad (un hecho triste pero cierto de que va a ejecutar a través de).
Mucha suerte y no te rindas: la programación es una de las cosas más creativas, divertidas y gratificantes que puedes hacer, punto.
fuente
Mi recomendación sería lo que he hecho personalmente. Vaya a trabajar a MacDonald o cualquier otra cosa para ganar dinero. No espere ningún ingreso proveniente de TI antes de graduarse de una universidad.
No quiero decepcionarte, pero en los próximos años creo que serás principalmente un consumidor y no un proveedor de tecnología. Significa que gastará más dinero en TI que podría esperar generar de él :-)
fuente
Te recomiendo que tomes algunos trabajos de verano en lugar de tratar de ganar dinero a través de la programación. Se necesita mucho tiempo y esfuerzo antes de que seas lo suficientemente competente (en promedio) para que la gente te pague por escribir software para ellos. La programación no es algo que se pueda aprender durante el verano. Por lo tanto, a menos que planee hacer esto a largo plazo, no creo que el desarrollo de software produzca el retorno de la inversión (en términos de tiempo y esfuerzo) que está buscando.
Aparte de eso, si está realmente interesado en la programación, sugeriré una forma un poco más fácil que C # y .Net: configurar sitios web (sin ofender a nadie). Comience con sitios estáticos primero y luego aprenda a configurar un sitio controlado por CMS completo. Aunque si sigue este camino, le recomiendo aprender sobre los conceptos básicos del diseño web y el diseño en general (no es necesario, pero realmente ayuda, especialmente si su cliente quiere sitios personalizados en lugar de usar temas prefabricados).
Buena suerte en su automóvil y espero que pueda disfrutar de la programación en lugar de verla simplemente como una fuente de ingresos. :)
fuente
Siempre he encontrado necesario resolver un problema o un juego que quiero escribir. De esa manera, siempre está buscando formas de resolver ese problema y eso lo llevará a leer libros y buscar en línea. Nunca he podido leer un libro y luego conocer un tema.
Una vez que haya decidido un 'problema' para resolver, su elección de libros puede volverse más obvia.
fuente
Sugeriría agregar algunos libros de Asp.Net, Webforms o MVC. Mots para trabajos independientes son sobre desarrollo web. Además, Asp.Net no es muy popular en este campo.
Tal vez Ruby / Rails o Python / Django sean más adecuados para el trabajo independiente. También PHP tiene una gran parte de trabajos independientes.
Puede consultar los sitios independientes y analizar las tecnologías más buscadas.
fuente