Ser un desarrollador de software es un plan de carrera muy lucrativo. Esas son personas con unas muy buenas habilidades comerciales. ¿Pero qué es lo que hacen exactamente? Ya que es muy probable que no puedas vencerlos, será mejor unírteles. ¿Te gusta la tecnología y tienes la visión como para desarrollar un buen producto? Sigue leyendo para aprender a desarrollar un software.
Pasos
-
Determina qué tipo básico de desarrollo de software te interesa. Existen dos tipos básicos de desarrollo de software: “Desarrollo de aplicaciones” y “Desarrollo de sistemas”. El desarrollo de aplicaciones se enfoca en crear programas que cumplen con las necesidades del usuario. Estas aplicaciones van desde aplicaciones para celular o video juegos, hasta software de contabilidad a nivel empresarial. El desarrollo de sistemas se enfoca en crear y mantener sistemas operativos usando desarrollo de ciclo de vida. El desarrollo de sistemas a menudo involucra operatividad de red y seguridad de información. [1] X Fuente de investigación
-
Aprende un lenguaje de programación. Cualquiera puede tener ideas, pero un desarrollador debe convertir esas ideas en algo tangible. Aunque solo quieras trabajar en el diseño de un software, debes familiarizarte con el código y debes poder crear prototipos básicos. Existe una gran variedad de lenguajes de programación que puedes aprender. Algunos de los más útiles e importantes son:
- C : el lenguaje C es uno de los lenguajes más viejos que todavía se usa y es la base de los demás lenguajes en esta lista. El lenguaje C se utiliza para desarrollar programas de bajo nivel y funciona de cerca con el hardware de una computadora.
- C++ : Este lenguaje es la versión del lenguaje C que está orientada a los objetos y es el lenguaje más popular en este mundo. Programas como Chrome, Firefox, Photoshop y muchos otros fueron creados con C++. También es un programa muy popular para crear videojuegos. Los desarrolladores C++ siempre son muy codiciados.
- Java: Java es la evolución al lenguaje C++ y se utiliza debido a su gran nivel de portabilidad. Casi cualquier sistema puede ejecutar una máquina virtual Java, lo que le permite ejecutar un software Java. Se utiliza mucho en videojuegos y en negocios de software, muchas personas recomiendan este lenguaje como esencial.
- C#: C# es un lenguaje de Windows que es parte del marco de trabajo .NET de Microsoft. Es muy parecido al lenguaje Java y C++, y si aprendes Java, rápidamente puedes cambiarte a C#. Este lenguaje es muy útil, especialmente para desarrolladores que trabajan en software para Windows o para software del teléfono Windows.
- Objective-C : este es otro de los primos del lenguaje C que se especifica en diseñar sistemas para Apple. Es muy popular en las aplicaciones de iPhone y iPad. Es un gran lenguaje que puedes aprender como profesional independiente.
- Python : este es un programa demasiado sencillo de aprender, uno de los más fáciles. Python se especializa en el desarrollo web.
- PHP: en sí no es exactamente desarrollo de software, pero PHP es esencial si te interesa involucrarte en el desarrollo web. Hay mucho trabajo para desarrolladores PHP, aunque no es tan lucrativo como el desarrollo de software.
-
Encuentra recursos que te ayuden a aprender. La mayoría de las librerías tienen secciones enteras dedicadas a libros de programación y existen miles disponibles en Amazon y demás tiendas en línea. Un libro bien escrito de programación es el mejor recurso que puedes tener y te permitirá buscar referencias rápidamente al momento de trabajar en algún proyecto.
- Además de los libros, en Internet existe un tesoro ilimitado de guías e instrucciones. Busca guías sobre el lenguaje de tu elección en sitios como CodeAcademy, Code.org, Bento, Udacity, Udemy, Khan Academy, W3Schools y muchos más.
-
Toma algunas clases. Aunque no necesitas un título para meterte de lleno al desarrollo de software, no está de más tomar un par de clases en la universidad o en algún centro de aprendizaje. Esto te dará los beneficios de tener un instructor personal y tendrás que resolver problemas a los cuales les sacarías la vuelta si estás aprendiendo por ti solo.
- Las clases no son gratis, así que asegúrate de que todas las clases a las que te inscriban te vayan a servir.
- Si bien muchos desarrolladores entran a la industria solamente por sus méritos y sus habilidades, para sobresalir es bueno tener un título universitario en ciencias de la computación. Un título te dará un conocimiento más amplio y te dará acceso a clases útiles como matemáticas y lógica.
-
Trabaja en proyectos pequeños. Antes de empezar a intentar aplicar tus habilidades de programación en trabajos grandes, trabaja en proyectos propios. Busca desafíos para resolver problemas utilizando tu lenguaje de programación. No solo desarrollarás tus habilidades sino que también irá creciendo tu currículum.
- Por ejemplo, en lugar de utilizar el calendario de la computadora intenta diseñar el tuyo.
- Si te interesa el desarrollo de videojuegos, trabaja en juegos simples que no se enfoquen en las gráficas o en mecánicas complejas. En lugar de eso, enfócate en que sea divertido y único. Una colección de juegos pequeños que hayas creado tú mismo lucirá muy bien en tu portafolio.
CONSEJO DE ESPECIALISTAFundador de startups y director de ingenieríaGene Linetsky es un fundador de startups e ingeniero de software en el área de la Bahía de San Francisco. Ha trabajado durante más de 30 años en la industria de la tecnología y actualmente es el director de Ingeniería en Poynt, una compañía de tecnología que construye terminales inteligentes de punto de venta para empresas.
La experiencia práctica es tu mejor herramienta de aprendizaje. De acuerdo con Gene Linetsky, ingeniero de software y fundado emergente: "Ser ingeniero de software no significa tener la capacidad para programar; se necesita algo más para convertir tu código en un producto real que utilicen personas reales. Luego, cuando lo logras, tus clientes generalmente volverán y dirán ‘Esto no funciona’. El ciclo de mantenimiento de tus propias cosas es la verdadera educación de un ingeniero de software ". -
Haz preguntas. El internet es una gran forma de conectarte con otros desarrolladores. Si te atoras en algún proyecto, puedes pedir ayuda en sitios como StackOverflow. Solo asegúrate de preguntar de forma inteligente y de probar que ya has probado varias soluciones.
-
Practica cada día. Trabaja en tus proyectos todos los días, aunque sea por un par de horas. Esto te ayudará a aprender constantemente nuevas técnicas. Muchos desarrolladores han tenido éxito aprendiendo el lenguaje asegurándose de utilizarlo a diario. [2] X Fuente de investigación
- Dedica un par de horas cada día a trabajar en la creación de códigos o crea una fecha límite para terminar tu trabajo. Intenta trabajar en proyectos durante los días de la semana para poder relajarte los fines de semana.
Anuncio
-
Haz una lluvia de ideas . Un buen programa realiza tareas que hacen que la vida del usuario sea más sencilla. Observa todos los software disponibles para la tarea que quieres realizar y busca formas para mejorarlo. Un programa exitoso es aquel al cual los usuarios le pueden sacar provecho.
- Examina las tareas diarias en tu computadora. ¿Hay alguna tarea que pueda realizarse de forma automática con algún programa?
- Escribe todas tus ideas. Aunque parezcan tontas al principio, con el tiempo pueden convertirse en ideas útiles o brillantes.
- Examina otros programas. ¿Qué hacen? ¿Cómo pueden mejorar? ¿Qué les falta? Responder esas preguntas te puede ayudar a obtener nuevas ideas que puedes desarrollar.
-
Escribe un documento de diseño. Este documento puede delinear las funciones y lo que pretendes lograr con ese proyecto. Utiliza tu documento de diseño como referencia durante el proceso de desarrollo para mantenerte enfocado. Lee esta guía para obtener más detalles sobre cómo escribir el documento.
-
Crea un prototipo. Este es un programa básico que muestra la funcionalidad que intentas lograr. Un prototipo es un programa rápido y debe modificarse hasta encontrar un diseño que funciona. Por ejemplo, si vas a crear un calendario, tu prototipo puede ser un calendario básico (con las fechas correctas) y una forma de añadir eventos.
- Tu prototipo cambiará constantemente durante el proceso de desarrollo conforme vas pensando en nuevas ideas para mejorar el programa o para solucionar problemas.
- El prototipo no debe estar bonito. De hecho, el arte y el diseño debe ser lo último en lo que te enfocas. Utilizando el ejemplo del calendario, tu prototipo puede contener solo texto.
-
Pruébalo una y otra vez. Los problemas son la pesadilla de todos los desarrolladores. Los errores en código y uso inesperados pueden causar todo tipo de problemas al producto terminado. Conforme continúas trabajando en tu proyecto, pruébalo lo más que puedas. Haz todo lo que puedas para hacer que falle y después evita que falle en el futuro. Pídeles a tus amigos y familiares que prueben el programa y te digan si encontraron algún error. Todas las reseñas que te den te ayudarán en el proceso de desarrollo.
- Intenta escribir fechas erróneas si el programa trabaja con fechas. Las fechas pasadas o futuras (días muy lejanos) pueden causar reacciones extrañas con el programa.
- Introduce tipos erróneos de variables. Por ejemplo, si tienes una forma que le pide la edad al usuario, escribe una palabra para ver qué es lo que hace el programa.
- Si el programa tiene una interfaz gráfica, haz clic en todas partes. ¿Qué pasa cuando regresas a una pantalla anterior o haces clic en los botones en un orden incorrecto?
-
Pule el proyecto. Aunque está bien crear una especie de “borrador” para el prototipo y la fase de desarrollo, si quieres que otros lo usen, necesitas pulir el programa. Esto significa que tienes que asegurarte de que el menú sirva, que la interfaz del usuario (UI) esté limpia y fácil de usar, que no haya ni se muestren errores y que tenga un buen acabado y diseño.
- El diseño de la UI y la funcionalidad del programa puede ser muy difícil y complejo. Existen personas que toda su carrera está enfocada al diseño de UI. Solo asegúrate de que el proyecto personal sea sencillo de usar y se vea bonito. Una UI profesional puede no ser posible sin un presupuesto y un equipo.
- Si tienes presupuesto, existen muchos diseñadores gráficos independientes que puedes contratar para que diseñen la UI. Si tienes un proyecto sólido que deseas crezca en grande, encuentra un buen diseñador de UI y hazlo parte de tu equipo.
-
Sube todos tus proyectos a GitHub. GitHub es una comunidad de fuente abierta que te permite compartir tu código con otras personas. Esto te permite recibir nuevas ideas sobre tu propio código y así ayudas a otras personas que están buscando las soluciones que tú ideaste. GitHub es una gran fuente de aprendizaje así como una gran forma de ir haciendo crecer tu portafolio.
-
Distribuye el software. Una vez que tengas el producto final, puedes decidir si quieres o no distribuirlo. Existe una gran variedad de formas en las que puedes hacer esto dependiendo del tipo de software que hayas creado.
- Una de las formas más comunes para que equipos pequeños o desarrolladores independientes distribuyan su software es a través de un sitio web personal. Asegúrate de que todas las funciones estén documentadas e incluye un par de capturas de pantalla y guías. Si vas a vender el software, asegúrate de tener un buen sistema de pago digital y un servidor para distribuir el software.
- Si vas a desarrollar el software para un dispositivo en específico o sistema operativo, existen varias tiendas digitales que puedes usar. Por ejemplo, si vas a hacer un software para dispositivos Android, puedes vender la aplicación a través de Google Play Store, de Amazon Appstore, o de tu página web personal.
Anuncio
-
Toma contratos de trabajo. Aunque algunos de estos no paguen bien y sea menos confiable que un trabajo de tiempo completo, pueden mejorar significativamente su portafolio. Revisa en sitios como Elance y ODesk para encontrar trabajo. Si bien puede ser difícil obtener un contrato, una vez que recibes tu primer contrato es mucho más sencillo obtener otro.
- Hacker News es una gran fuente para encontrar contratos y trabajos como independiente. Busca en la sección de “Ask” (preguntas).
- Aunque puede ser tentador pedir poco dinero para asegurar un trabajo, no pidas menos de lo que vales. No solo terminarás trabajando más por menos de lo que mereces, sino que también harás que otras personas en tu campo se enojen, lo que hará que no puedas expandir tus redes.
- Trabajar bien en un contrato a veces te llevará a conseguir una posición de tiempo completo. ¡Siempre da tu mejor esfuerzo!
-
Crea la mayor cantidad de redes de contactos . Asiste a tantas convenciones como te sea posible. Además de que otras personas conocerán tu trabajo, también podrás conocer a más personas dentro de la industria. A pesar de lo que se dice que los programadores trabajan solos desde el sótano de sus casas, la mayoría trabaja de tiempo completo como parte de un equipo y las redes sociales son igual de importantes que en cualquier otro campo.
-
Postula a posiciones de tiempo completo. Una vez que hayas completado varios contratos, puedes empezar a enviar tu currículo y portafolio a organizaciones grandes para obtener un trabajo de tiempo completo. Además de “Monster” e “Indeed”, existen una gran variedad de sitios de trabajo específicos para desarrolladores en los que puedes buscar, como GitHub Jobs, StackOverflow Job Board, AngelList, CrunchBoard, Hirelite y Hacker News.
-
Diversifica tu conjunto de habilidades. Un buen desarrollador es competente en más de un lenguaje. Si bien la mayoría de lo que vas a aprender va a ser trabajando, utiliza tu tiempo libre para expandir tu conocimiento y aprender lo básico de otros dos lenguajes. Esto hará que sea fácil cambiarte a nuevos proyectos y te hará un candidato mucho más competente y deseable.
-
No te preocupes por la paga. No todos los trabajos de principiantes en desarrollo de software pagarán cifras de 6 dígitos. De hecho, ninguno lo hará. Lo bueno es que el mercado de trabajo es muy fuerte. Si sientes que no estás ganando suficiente, es relativamente fácil buscar otro trabajo (si tienes las habilidades). Trata tus primeros trabajas como experiencia necesaria en lugar de enfocarte en tu plan de retiro.Anuncio