Ser un desarrollador de software es un plan de carrera lucrativo. Esas son personas con algunas habilidades comerciales serias. ¿Pero qué están haciendo exactamente? Como probablemente no puedas vencerlos, deberás unirte a ellos. ¿Tiene la habilidad tecnológica y la capacidad de respuesta de la audiencia para desarrollar un buen producto? Con un poco de tormenta de ideas y, por supuesto, comenzando con el Paso 1 a continuación, ¡lo harás!

Parte uno de tres:
Aprendiendo las cuerdas

  1. 1 Determine qué tipo básico de desarrollo de software le interesa. Hay dos campos básicos de desarrollo de software: Desarrollo de aplicaciones y Desarrollo de sistemas. El desarrollo de aplicaciones se centra en crear programas que satisfagan las necesidades de los usuarios. Estos pueden variar desde aplicaciones para teléfonos móviles hasta videojuegos de alta producción y software de contabilidad para empresas. El Desarrollo de Sistemas está enfocado en crear y mantener sistemas operativos usando el desarrollo del ciclo de vida. El desarrollo de sistemas a menudo implica la operabilidad de la red y la seguridad de los datos.[1]
  2. 2 Enséñate un lenguaje de programación. Cualquiera puede aportar ideas, pero un desarrollador podrá convertir esas ideas en algo tangible. Incluso si solo desea trabajar en los aspectos de diseño del software, debe familiarizarse con la codificación y ser capaz de crear prototipos básicos. Hay una gran variedad de lenguajes de programación que puede enseñar usted mismo. Algunos de los más útiles e importantes incluyen:
    • C - C es uno de los idiomas más antiguos que aún se usan, y es la base para la mayoría de los otros idiomas en esta lista. C se usa para desarrollar programas de bajo nivel y trabaja muy de cerca con el hardware de la computadora.
    • C ++: esta es la versión orientada a objetos de C, y es el lenguaje de programación más popular del mundo. Los programas como Chrome, Firefox, Photoshop y muchos otros están diseñados con C ++. También es un lenguaje muy popular para crear videojuegos. Los desarrolladores de C ++ casi siempre tienen una gran demanda.
    • Java: esta es una evolución del lenguaje C ++, y se usa debido a su facilidad de portabilidad. Casi cualquier sistema puede ejecutar una Máquina Virtual Java, lo que le permite ejecutar el software Java. Es ampliamente utilizado en videojuegos y software empresarial, y muchas personas lo recomiendan como un lenguaje esencial.
    • C # - C # es un lenguaje basado en Windows que es parte del framework .NET de Microsoft. Está estrechamente relacionado con Java y C ++, y si aprende Java, puede pasar rápidamente a C #. Este lenguaje es especialmente útil para desarrolladores que trabajan con el software Windows o Windows Phone.
    • Objective-C: este es otro primo del lenguaje C diseñado específicamente para los sistemas Apple. Ve una inmensa popularidad en aplicaciones de iPhone y iPad. Es un gran lenguaje para aprender como un profesional independiente.
    • Python: este es un lenguaje increíblemente fácil de aprender, uno de los más fáciles. Python se especializa en desarrollo web.
    • PHP: este no es exactamente el desarrollo de software, pero PHP es esencial si está interesado en ingresar al desarrollo web. Siempre hay mucho trabajo para los desarrolladores de PHP, aunque no es tan lucrativo como el desarrollo de software.
  3. 3 Encuentre recursos para ayudarlo a aprender. La mayoría de las librerías tienen secciones enteras dedicadas a libros de programación, y hay toneladas disponibles en Amazon y otros minoristas electrónicos. Un libro de programación bien escrito probablemente sea el mejor recurso que pueda tener, y le permitirá hacer referencia rápidamente mientras trabaja en proyectos.
    • Más allá de los libros, Internet es un tesoro interminable de guías y tutoriales. Busque guías en el idioma de su elección en sitios como CodeAcademy, Code.org, Bento, Udacity, Udemy, Khan Academy, W3Schools y muchos más.
  4. 4 Toma algunas clases. Si bien no necesitas un título completo para ingresar al desarrollo de software, no está de más tomar algunas clases en la universidad local o en el centro de aprendizaje. Esto le dará el beneficio de la instrucción personalizada, y tendrá el desafío de resolver problemas que probablemente no haría si estuviera aprendiendo por su cuenta.
    • Las clases cuestan dinero, así que asegúrese de inscribirse en clases que lo ayudarán a aprender lo que quiere saber.
    • Si bien muchos desarrolladores pueden ingresar a la industria basándose únicamente en los méritos de sus habilidades, usted se ayudará a sobresalir si cuenta con una licenciatura en informática de una universidad de cuatro años. Un título le dará una base más amplia de conocimiento y le dará acceso a clases adicionales útiles, como matemáticas y lógica.
  5. 5 Trabaja en proyectos de mascotas. Antes de comenzar a tratar de aplicar sus nuevas habilidades de programación a trabajos del mundo real, trabaje en algunos proyectos para usted. Ponte a prueba para resolver problemas usando tu lenguaje de programación. Esto no solo ayudará a desarrollar tus habilidades, sino que también te ayudará a desarrollar tu currículum.
    • Por ejemplo, en vez de usar el programa de calendario de tu computadora para mantenerte organizado, ¡intenta diseñar tu propio programa!
    • Si estás interesado en el desarrollo de videojuegos, trabaja en juegos simples que no se centren en gráficos o mecánica compleja. En cambio, concéntrate en hacerlos divertidos y únicos. Una colección de pequeños juegos que usted mismo creó se verá genial en su cartera.
  6. 6 Hacer preguntas. Internet es una forma fantástica de conectarse con otros desarrolladores. Si se encuentra perplejo en uno de sus proyectos, solicite ayuda en sitios como StackOverflow. asegúrese de preguntar de manera inteligente y puede probar que ya ha probado varias soluciones posibles.
  7. 7 Practica cada día. Trabaja en tus proyectos favoritos todos los días, aunque solo sea por una hora. Esto te ayudará a mantenerte fresco y aprender constantemente nuevas técnicas. Muchos desarrolladores han tenido éxito aprendiendo un idioma al asegurarse de que están expuestos a él diariamente.[2]
    • Establezca un horario diario que pueda dedicar a la codificación, o establezca un plazo que debe finalizar. Trate de trabajar en sus proyectos todos los días durante la semana para que pueda relajarse en su fin de semana.

Parte dos de tres:
Desarrollando un programa

  1. 1 Tormenta de ideas. Un buen programa realizará una tarea que hace la vida más fácil para el usuario. Mire el software que está actualmente disponible para la tarea que desea realizar, y vea si hay formas en que el proceso podría ser más fácil o más fácil. Un programa exitoso es aquel en el que los usuarios encontrarán mucha utilidad.
    • Examine sus tareas diarias en su computadora. ¿Hay alguna forma de que pueda automatizar una parte de esas tareas con un programa?
    • Escribe cada idea. Incluso si parece tonto o extravagante en ese momento, podría convertirse en algo útil o incluso brillante.
    • Examine otros programas. ¿Qué hacen? ¿Cómo podrían hacerlo mejor? ¿Qué están perdiendo? Responder estas preguntas puede ayudarlo a idear ideas para su propia opinión.
  2. 2 Escribe un documento de diseño. Este documento describirá las características y lo que pretende lograr con el proyecto. Hacer referencia al documento de diseño durante el proceso de desarrollo ayudará a mantener su proyecto enfocado y enfocado. Vea esta guía para detalles sobre cómo escribir el documento.
  3. 3 Crea un prototipo Este es un programa básico que muestra la funcionalidad que pretendes lograr. Un prototipo es un programa rápido y debe repetirse hasta que encuentre un diseño que funcione. Por ejemplo, si está creando un programa de calendario, su prototipo sería un calendario básico (¡con las fechas correctas!) Y una forma de agregarle eventos.
    • Su prototipo cambiará a menudo durante el ciclo de desarrollo a medida que encuentre nuevas formas de abordar problemas o piense en una idea posterior que desee incorporar.
    • El prototipo no tiene que ser bonito. De hecho, el arte y el diseño deberían ser una de las últimas cosas en las que te centres. Utilizando nuevamente el ejemplo del calendario, su prototipo debería ser simplemente texto.
  4. 4 Pruébalo una y otra vez. Los errores son la perdición de todos los desarrolladores. Los errores en el código y el uso inesperado pueden causar todo tipo de problemas en un producto terminado. A medida que continúe trabajando en su proyecto, pruébelo tanto como sea posible. Haga todo lo posible para romperlo y luego trate de evitar que se rompa en el futuro. Haga que amigos y familiares prueben su programa e informen los resultados. Cualquier forma en que pueda obtener comentarios lo ayudará en su proceso de desarrollo.
    • Intente ingresar fechas impares si su programa maneja las fechas. Las fechas realmente antiguas o las fechas futuras pueden causar reacciones extrañas con el programa.
    • Ingrese el tipo incorrecto de variables. Por ejemplo, si tiene un formulario que pregunta por la edad del usuario, ingrese una palabra y vea qué le sucede al programa.
    • Si su programa tiene una interfaz gráfica, haga clic en todo. ¿Qué sucede cuando vuelves a una pantalla anterior o haces clic en los botones en el orden incorrecto?
  5. 5 Polaca tus proyectos. Aunque está bien hacer un proyecto aproximado para la fase de creación de prototipos y desarrollo, si quieres que otros lo usen, necesitarás dedicar algo de tiempo al pulido. Esto significa asegurarse de que los menús fluyan lógicamente, la Interfaz de usuario (UI) es limpia y fácil de usar, no hay errores evidentes o que muestren errores, y que esté recubierta con un bonito acabado.
    • El diseño y la funcionalidad de la interfaz de usuario pueden ser muy difíciles y complejos. Las personas crean carreras completas sin diseñar interfaces de usuario. Solo asegúrese de que su proyecto personal sea fácil de usar y fácil de entender. Una interfaz de usuario profesional puede no ser posible sin un presupuesto y un equipo.
    • Si tiene el presupuesto, hay muchos diseñadores gráficos independientes que podrían diseñar una interfaz de usuario con contrato para usted. Si tiene un proyecto sólido que espera que se convierta en la próxima gran novedad, busque un buen diseñador de interfaz de usuario y hágalos parte de su equipo.
  6. 6 Pon tus proyectos en GitHub. GitHub es una comunidad de código abierto que te permite compartir tu código con otros. Esto le permitirá obtener información sobre su propio código, así como beneficiar a otras personas que están buscando soluciones que pueda haber encontrado. GitHub es un gran recurso de aprendizaje, así como una buena manera de construir su cartera.
  7. 7 Distribuye tu software. Una vez que tenga un producto terminado, puede elegir si desea distribuirlo o no. Hay una variedad de formas en que puede hacer esto en estos días, dependiendo del tipo de software que haya creado.
    • Una de las formas más comunes para que los equipos pequeños o desarrolladores independientes distribuyan su software es a través de un sitio web personal. Asegúrese de que todas sus características estén bien documentadas e incluya algunas capturas de pantalla y tutoriales. Si está vendiendo su software, asegúrese de tener un buen sistema de pago digital y un servidor para distribuir el software.
    • Si está desarrollando software para un dispositivo o sistema operativo específico, existen múltiples tiendas digitales que puede usar. Por ejemplo, si está creando software para dispositivos Android, puede vender su aplicación a través de Google Play Store, Amazon App Store o su sitio web personal.

Parte tres de tres:
Conseguir trabajo

  1. 1 Toma trabajos por contrato. Aunque estos no pagarán tan bien y son menos confiables que el empleo a tiempo completo, puede aumentar significativamente su cartera al tomar una serie de trabajos por contrato. Verifique sitios como Elance y ODesk (también conocido como "Upwork" ahora) para encontrar trabajo. Si bien puede ser difícil ser considerado para un contrato, una vez que obtiene el primero, se vuelve mucho más fácil.
    • Hacker News es un gran recurso para trabajos por contrato y trabajo independiente. Verifique la sección "Preguntar".
    • Si bien puede ser tentador hacer una oferta baja para asegurar un trabajo de contrato, no venda sus servicios en corto. No solo terminará trabajando más por menos de lo que se merece, sino que también enojará a otros en su campo, lo que redundará en menos redes.
    • El buen trabajo en un trabajo por contrato a veces puede conducir a un puesto de tiempo completo. ¡Siempre ponga su mejor pie adelante!
  2. 2 Red tanto como sea posible. Asista a tantas convenciones y hack-a-thons como sea posible. Esto no solo te expondrá a más códigos y problemas para resolver, sino que también te ayudará a conocer a otras personas en la industria. A pesar de lo que pueda pensar sobre los programadores que trabajan solos en su sótano, la mayoría de los desarrolladores a tiempo completo son parte de un equipo y las redes son tan importantes como cualquier otro campo.
  3. 3 Solicite puestos de tiempo completo. Una vez que tenga algunos trabajos bajo contrato, puede comenzar a enviar su currículum y cartera a organizaciones más grandes para obtener un empleo a tiempo completo. Además de Monster y Indeed, hay una variedad de sitios de trabajo específicos para desarrolladores que debería considerar, incluidos GitHub Jobs, StackOverflow Job Board, AngelList, CrunchBoard, Hirelite y Hacker News.
  4. 4 Diversifica tu conjunto de habilidades. Un buen desarrollador de software suele ser competente en más de un idioma. Si bien mucho de lo que aprende será en el trabajo, use parte de su tiempo libre para ampliar su conocimiento y aprender los conceptos básicos de otro idioma o dos. Esto facilitará la transición a nuevos proyectos y lo convertirá en un candidato laboral mucho más deseable.
  5. 5 No te preocupes por el pago. No todos los trabajos de desarrollo de software de nivel inicial pagarán seis cifras. De hecho, ninguno de ellos lo hará. Lo bueno del desarrollo de software, sin embargo, es que el mercado de trabajo es increíblemente fuerte. Si siente que no está ganando lo suficiente en el lugar donde se encuentra, es relativamente fácil cambiarse a un nuevo puesto en una empresa nueva (si tiene las habilidades). Trate sus primeros trabajos como experiencia necesaria en lugar de centrarse en su plan de jubilación.