Convertirse en desarrollador de software es un plan de carrera lucrativo. Estas son personas con habilidades valiosas y demandadas. Pero, ¿qué hacen exactamente?? Como probablemente no podrás vencerlos en su propio terreno, será mejor que te unas a ellos. ¿Tiene suficientes conocimientos técnicos y comprende al cliente lo suficiente como para poder hacer un buen producto?? Con un poco de lluvia de ideas y, por supuesto, leyendo el resto de este artículo, sin duda tendrá éxito!
Pasos
Parte 1 de 3: aprender los trucos del oficio
1. Determina qué tipo de desarrollo de software te interesa. Hay dos campos en este campo: Desarrollo de aplicaciones y Desarrollo del sistema. El desarrollo de aplicaciones se centra en la creación de programas que satisfagan una necesidad particular de los clientes. Esto abarca desde aplicaciones para teléfonos móviles y videojuegos hasta software de contabilidad corporativa. El desarrollo de sistemas se enfoca en crear y mantener sistemas operativos utilizando el desarrollo del ciclo de vida. El desarrollo del sistema a menudo también tiene que ver con los procesos de red y la seguridad de los datos.
2. Enséñate un lenguaje de programación. Cualquiera puede tener una idea, pero un desarrollador puede convertir estas ideas en algo concreto. Incluso si solo desea trabajar en los aspectos de diseño del software, aún debe estar algo familiarizado con la codificación y poder crear prototipos simples. Hay una enorme cantidad de lenguajes de programación que puedes aprender por ti mismo. Algunos de los lenguajes más útiles e importantes son los siguientes:
C – C es uno de los idiomas más antiguos que todavía se usan hoy y están en la raíz de la mayoría de los otros idiomas en esta lista. C se usa para crear programas de bajo nivel y está cerca del hardware de la computadora.C++: esta es la versión orientada a objetos de C y el lenguaje de programación más popular del mundo. Programas como Chrome, Firefox, Photoshop y muchos otros están todos programados en C++. También es un lenguaje muy popular para crear videojuegos. Los desarrolladores de C++ siempre tienen una gran demanda.Java: esta es una evolución de C ++ y se usa ampliamente debido a su alto grado de portabilidad. Casi todos los sistemas pueden ejecutar una máquina virtual Java y, por lo tanto, también software Java. Es ampliamente utilizado para videojuegos y software comercial, y muchos lo consideran un lenguaje esencial.C#: C# es un lenguaje de programación para el entorno de Windows y parte del .NET Framework de Microsoft. Es muy similar a Java y C++, y si conoces Java puedes cambiar fácilmente a C#. Este lenguaje está especialmente diseñado para desarrolladores de software de Windows o software de Windows Phone.Objective-C: este es otro primo de C y está diseñado específicamente para sistemas Apple. Es inmensamente popular para hacer aplicaciones para iPhone y iPad. Es un gran idioma para aprender como autónomo.Pitón – Este es un lenguaje muy fácil de aprender, uno de los más fáciles. Python también se puede utilizar para el desarrollo web.PHP: esto no es desarrollo de software en esencia, pero PHP es esencial si desea hacer más con el desarrollo web. Siempre hay mucho trabajo para los programadores de PHP, pero esto no es tan lucrativo como el desarrollo de software.3. Recursos que pueden ayudarte a aprender un idioma. La mayoría de las librerías y bibliotecas tienen secciones completas dedicadas a los lenguajes de programación y, por supuesto, también puede encontrar material a través de Amazon y otros minoristas electrónicos. Un libro bien escrito sobre programación probablemente sea el mejor recurso que pueda tener y puede usarse como una referencia rápida mientras trabaja en proyectos.
Además de libros también tienes Internet, un tesoro inagotable de manuales y guías. Busque material sobre el idioma de su elección en sitios como CodeAcademy, Code.org, Bento, Udacity, Udemy, Khan Academy, W3Schools.
4. A ver si puedes conseguir lecciones en algún sitio. No necesita una educación superior completa para poder lograr algo en el desarrollo de software, pero no está de más tomar algunos cursos a través de una universidad popular o un centro de capacitación. Esto ofrece la ventaja de la orientación personal, y usted tiene el desafío de resolver problemas que quizás no pueda abordar fácilmente por su cuenta.
Las lecciones cuestan dinero, así que asegúrese de elegir la calidad para aprender lo que quiere saber.Si bien muchos desarrolladores han podido ingresar a la industria solo en función de sus habilidades, puede diferenciarse de la multitud al poder demostrar una licenciatura en ciencias de la computación. Dicho título le proporcionará una base de conocimientos más amplia y acceso a materias adicionales como Matemáticas y Lógica.5. Trabaja en proyectos de pasatiempos. Antes de intentar conseguir un trabajo como programador, es aconsejable comenzar algunos proyectos propios. Ponte a prueba para resolver problemas usando un lenguaje de programación de tu elección. Esto no solo lo ayudará a desarrollar sus habilidades de programación, sino que se verá genial en su currículum.
Ejemplo: En lugar de usar el programa de calendario de su sistema operativo para organizar su trabajo, intente hacer su propio!Si está interesado en desarrollar videojuegos, trabaje en juegos simples que no dependan demasiado de gráficos o movimientos complejos. En su lugar, concéntrate en hacer un juego divertido y único. Una colección de pequeños juegos que hayas hecho tú mismo se verá genial en tu cartera.CONSEJO DE EXPERTO
Gene Linetsky, MS
Fundador y director técnico de empresas emergentes Gene Linetsky es un fundador de empresas emergentes y desarrollador de software en el Área de la Bahía de San Francisco. Ha trabajado en la industria de la tecnología durante más de 30 años y es director técnico de Poynt, una empresa de tecnología que crea sistemas de transacciones inteligentes para empresas.
Gene Linetsky, MS
Fundador de startups y director técnico
Obtener experiencia práctica es la mejor manera de aprender. Gene Linetsky, ingeniero de software y fundador de nuevas empresas: "Como ingeniero de software, ser capaz de programar no es la habilidad más importante. Se trata de todas las demás cosas necesarias para convertir su código en un producto que la gente realmente use. Cuando hace eso, sus clientes generalmente le darán retroalimentación y señalarán lo que no funciona. El ciclo de seguimiento de su propio trabajo es el verdadero proceso de aprendizaje de un ingeniero de software."
6. Hacer preguntas. Internet es una excelente manera de conectarse con otros desarrolladores. Si te quedas atascado en un proyecto, pide ayuda en sitios como StackOverflow. Asegúrate de que tu pregunta se haga de forma inteligente y que puedas indicar que ya has probado varias soluciones.
7. Practica cada día. Trabaja en tus proyectos de hobby todos los días, aunque sea solo por una hora. Esto ayuda a mantenerse fresco y aprender constantemente nuevas técnicas. Muchos desarrolladores han aprendido con éxito un idioma asegurándose de trabajar con él todos los días.
Dedique un tiempo determinado cada día para trabajar en la codificación, o establezca una fecha límite en la que desea terminar con él. Intenta trabajar en tus proyectos todos los días laborables para que puedas relajarte el fin de semana.
Parte 2 de 3: desarrollo de un programa
1.
idea genial. Un buen programa realizará tareas que facilitarán un poco la vida del usuario. Tome el software actualmente disponible para esa tarea como ejemplo y vea si puede mejorarlo. Un programa exitoso es algo que beneficia mucho a la gente.
- Vea qué tareas diarias realiza con su computadora. ¿Hay alguna manera de automatizar algunas de esas tareas a través de un programa??
- Anota cada idea. Incluso si suena un poco tonto o extraño en ese momento, a veces puede desencadenar algo útil o incluso brillante.
- Estudia otros programas. que funcion tienen? ¿Cómo puedes mejorarlos?? Lo que le falta al software? Al responder a estas preguntas, puede generar ideas para desarrollarse aún más.
2. Crear un documento de diseño. Este documento proporciona una breve descripción general de todas las funciones y lo que desea lograr con el proyecto. Al consultar este documento durante el proceso de desarrollo, puede controlar si está cumpliendo con el cronograma y mantenerse más concentrado.
3. Crear un prototipo. Este es un programa simple en el que construyes toda la funcionalidad que deseas lograr. Un prototipo es un programa rápido y algo sobre lo que puede construir hasta que encuentre un diseño que funcione. Por ejemplo, si desea crear un calendario, su prototipo consistirá en un calendario simple (con las fechas correctas!) y una forma de poner citas en él.
Este prototipo cambiará varias veces durante el ciclo de desarrollo a medida que encuentre nuevas formas de resolver problemas u obtenga nuevas ideas para llevar con usted.El prototipo no tiene que verse bonito. De hecho, el diseño gráfico debería ser lo último en lo que piensas. Para volver a citar el ejemplo del calendario, su prototipo será principalmente texto.4. Sigue probando constantemente. Los errores son la pesadilla de todos los desarrolladores. Los errores en el código y el uso no previsto pueden causar todo tipo de problemas en el producto final. A medida que continúe su trabajo en el proyecto, deberá seguir probando. Haga todo lo que pueda para que su programa se bloquee y cause errores, luego corrija esos errores. Deje que sus amigos y familiares prueben su programa e indiquen dónde falla. Cualquier comentario que pueda ayudarlo a mejorar el proceso de desarrollo es bienvenido.
Pruebe con anticipación fechas extrañas si su programa necesita fechas como entrada. Las fechas muy antiguas o muy lejanas en el futuro pueden hacer que el programa produzca resultados extraños.Introducir variables incorrectas. Por ejemplo, si creó un formulario que solicita la edad del usuario, ingrese una palabra y vea qué sucede.Si su programa tiene una interfaz gráfica, haga clic en cualquier cosa que esté suelta. Qué sucede si va a la pantalla anterior o hace clic en los botones en el orden incorrecto?5. Pule tus proyectos. Si bien está bien hacer un borrador de un proyecto para la creación de prototipos y el desarrollo, si desea que otros lo usen, deberá dedicar algún tiempo a terminarlo. Esto significa asegurarse de que los menús estén estructurados lógicamente, que la interfaz de usuario (UI) sea clara y fácil de usar, que no haya más errores notorios o molestos, y que se vea elegante.
El diseño y la funcionalidad de la interfaz de usuario pueden ser extremadamente difíciles y complejos. Es un campo completamente separado. En cualquier caso, asegúrese de que sus proyectos personales sean fáciles de usar y se vean bien. Una interfaz de usuario profesional puede no ser posible sin un presupuesto razonable y un equipo.¿Tienes el dinero? Hay muchos diseñadores gráficos independientes que podrían diseñar una interfaz de usuario para ti. Si tiene un proyecto sólido que espera sea un éxito, busque un buen diseñador de interfaz de usuario y hágalo parte de su equipo.6. Publica tus proyectos en GitHub. GitHub es una comunidad de código abierto donde puedes compartir código con otros. Esto le permite obtener más información sobre su propio código y permitir que otros se beneficien de las soluciones que ha ideado. GitHub es un gran recurso para aprender y una gran idea para llenar su cartera con.
7. La distribución de su software. Cuando tu producto esté listo, puedes optar por distribuirlo o no. Hay varias formas de hacerlo, según el tipo de software que haya creado.
Una de las formas más comunes para que los equipos pequeños o los desarrolladores independientes desarrollen su software es a través de un sitio web personal. Asegúrese de que todas las funciones estén bien documentadas e incluyan capturas de pantalla y tutoriales. Si vende el software, asegúrese de tener un buen sistema de pago digital y un servidor desde el que se pueda descargar el software.Si su software está desarrollado para un dispositivo o sistema operativo específico, hay varias tiendas digitales que puede usar. Por ejemplo, si crea software para dispositivos Android, puede vender aplicaciones a través de Google Play Store, Amazon App Store o su propio sitio web.Parte 3 de 3: Conseguir un trabajo
1.
Encuentra trabajo como autónomo. Si bien estos no pagan tan bien como un trabajo regular, sin duda puede trabajar para abarrotar su cartera haciendo trabajos independientes. Visite sitios como Elance y ODesk para encontrar trabajo. Si bien puede ser difícil obtener una primera tarea, se vuelve mucho más fácil una vez que se hace.
- Hacker News es un gran recurso para encontrar trabajos independientes. Mira la sección `Preguntar`.
- Si bien puede ser tentador apostar bajo para conseguir una tarea, no es prudente ofrecer tus habilidades a un precio demasiado bajo. No solo trabajará por menos de lo que vale, sino que también molestará a otros en su campo, lo que no es bueno para su red.
- A veces, un buen trabajo por encargo puede dar lugar a un nombramiento permanente. Siempre ponga su mejor pie adelante!
2.
Red tanto como sea posible. Asista a tantas convenciones y hack-a-thons como sea posible. No solo podrá ver más código y problemas para resolver, sino que también conocerá a otras personas que trabajan en esta industria. A pesar de lo que pueda decir sobre los programadores (que trabajan solos en un sótano oscuro), la mayoría de los desarrolladores de tiempo completo son parte de un equipo y la creación de redes es tan importante para ellos como lo es en cualquier otro campo.
3. Aplicar para posiciones permanentes. Una vez que haya completado una serie de asignaciones independientes, puede comenzar a enviar su CV y cartera a organizaciones más grandes que buscan un trabajo permanente. Además de Monster y Indeed, hay varios sitios de trabajo enfocados en desarrolladores, incluidos GitHub Jobs, StackOverflow Job Board, AngelList, CrunchBoard, Hirelite y Hacker News.
4. Aprende múltiples habilidades. Un buen desarrollador de software suele dominar varios lenguajes de programación. Aunque aprenderás mucho trabajando, es bueno usar parte de tu tiempo para estudiar y dominar los conceptos básicos de 1 o 2 lenguajes de programación más. Esto hará que la transición a nuevos proyectos sea mucho más fácil y te convertirá en un mejor candidato para ciertos puestos.
5. No te preocupes demasiado por la recompensa. No todos los puestos de desarrollador de software de nivel de entrada le pagarán en cantidades de 6 dígitos. De hecho, ninguno de estos trabajos te dará tanto. Sin embargo, la buena noticia sobre el desarrollo de software es que lo coloca en una posición muy sólida en el mercado laboral. Si siente que no está ganando lo suficiente donde está ahora, es fácil cambiar de trabajo si tiene las habilidades adecuadas. Trate sus primeros trabajos/asignaciones como experiencia necesaria en lugar de concentrarse en su plan de jubilación.
Artículos sobre el tema. "Desarrollo de software"