PDF download Descargar el PDF PDF download Descargar el PDF

Este wikiHow te enseñará cómo comenzar a desarrollar y mantener un software gratuito y de código abierto en una comunidad de programación. Aunque a la gente que suele hacerlo a veces se le denomina "hacker de software", el trabajo en realidad está más orientado hacia crear y modificar el software en vez de acceder a él y "romperlo". Si te interesa convertirte en el tipo de hacker que busca y se aprovecha de las vulnerabilidades en el software o los sistemas operativos, por favor echa un vistazo a nuestro artículo sobre cómo ser un hacker en su lugar.

  1. Ser un hacker de software significa que tendrás que pasar una gran parte de tu tiempo creando, modificando y mejorando software gratuito para satisfacer a los usuarios y mantener el interés en tu software. Para este fin, deberás cumplir los siguientes criterios:
    • Ten un conocimiento decente tanto en lenguaje de sistemas (por ejemplo, C++) como en lenguaje de programación (por ejemplo, Python).
    • Piensa para qué plataforma (o plataformas) quieres programar (por ejemplo, Windows, Android, etc.).
    • Mantente dispuesto a pasar una gran cantidad de tiempo aprendiendo sobre los lenguajes, las plataformas y el género del software que elijas.
  2. Contrariamente a la creencia popular, no es necesario tener un entendimiento excelente en matemáticas, conocimiento previo en codificación, o un grado en ingeniería informática (o algo similar) para aprender cómo ser un hacker de software libre. [1]
    • Siempre que estés legítimamente interesado en aprender cómo desarrollar software y estés dispuesto a aceptar las críticas cuando sean necesarias, no hay ninguna razón para que pienses que no podrás convertirte con éxito en un hacker de software.
  3. El desarrollo de software puede usarse para cualquier cosa, desde una simple afición en tu tiempo libre a una profesión a jornada completa. Saber qué es lo que quieres conseguir antes de prepararte para aprender un lenguaje de programación o seleccionar una plataforma te ayudará a mantenerte centrado a lo largo del camino.
    • Aunque no sea estrictamente necesario, un grado en ingeniería informática o desarrollo de software ayudará a acelerar el proceso de incorporación al mundo laboral en caso de que tu objetivo sea hacer carrera en el desarrollo de software.
    • Si tu objetivo es simplemente crear una aplicación o un programa que ayude a los usuarios a conseguir una tarea anteriormente difícil o imposible, asegúrate de que el software en cuestión no se haya creado ya.
  4. Cada plataforma principal (Windows, macOS, iOS, Android, y Linux) tiene su propia comunidad, sus lenguajes de programación preferidos, y necesidades individuales. Será crucial saber a qué plataforma se aplicará tu software antes de zambullirte en su desarrollo.
    • Es mejor trabajar en la misma plataforma para la que vayas a desarrollar el software. Por ejemplo, en caso de que desarrolles una aplicación para Android, será mejor usar un sistema basado en Unix como una computadora Mac o Linux en vez de una Windows.
    • Linux suele ser una solución usada con frecuencia (y gratuita) por muchos desarrolladores de software.
  5. Hay dos tipos de lenguaje de codificación. Necesitarás aprender al menos uno de ellos antes de meterte en el desarrollo, aunque a la larga deberás saber varios lenguajes:
    • Lenguajes de sistema : el lenguaje de sistema se usa para interactuar directamente con el sistema. Algunos ejemplos comunes son C, C++, y Java.
    • Lenguajes de programación : el lenguaje de programación se usa para diseñar la interfaz del software (por ejemplo, lo que verán los usuarios) así como su función. Algunos ejemplos comunes son Python, Ruby, y Perl.
  6. Cada computadora tendrá una aplicación de línea de comandos (por ejemplo, "Símbolo del sistema" en Windows, "Terminal" en Mac y Linux, etc.). Podrás usar la línea de comandos para comunicarte con la computadora en sí, lo que te permite dirigir comandos detallados según sea necesario.
    • Aunque no realizarás todo el desarrollo del software desde la línea de comandos en sí misma, necesitarás usar la línea de comandos para ejecutar determinados programas o integrar comandos del software con la computadora.
  7. Descarga y usa Notepad++ . Notepad++ es una fuente incalculable de programación ya que hace fácil seguir la codificación implementando ayudas visuales y además sirve como una herramienta educativa.
    • Aunque a la larga usarás diferentes editores de texto y programas basados en la línea de comandos para escribir una gran cantidad del código, Notepad++ es una herramienta de aprendizaje fantástica (y gratuita) al principio.
  8. Tanto el lenguaje de programación como las plataformas que elijas seguramente tendrán un software de desarrollo que te permitirá guardar y probar los proyectos desde la computadora. A ese software se le llama "entorno de desarrollo". En caso de que sea posible, busca e instala un entorno de desarrollo para el lenguaje que hayas seleccionado antes de empezar a aprender a programar.
    • Si vas a desarrollar una aplicación para Android, por ejemplo, podrás descargar e instalar el paquete de desarrollo Android Studio.
    • Los usuarios de Java suelen usar un entorno de desarrollo como Eclipse.
  9. Empieza a aprender cómo programar . Una vez sepas qué lenguaje vas a usar, será el momento de empezar a aprender cómo usarlo. Hay multitud de tutoriales en línea, tanto gratuitos como de pago, en los que podrás participar, y la mayoría de las bibliotecas tendrán libros específicos de lenguaje de programación (por ejemplo, C++ para principiantes ) lo que te permitirá aprender un lenguaje completo de forma gratuita.
    • Las fuentes de programación gratuitas son abundantes en Internet, así que úsalas en tu provecho antes de firmar un contrato por una clase de pago o "bootcamp" ("campo de entrenamiento").
  10. Los proyectos de código abierto como aquellos que se encuentran en SourceForge o GitHub suelen tener fieles seguidores. En caso de que encuentres un proyecto que use el mismo lenguaje de programación o tenga un objetivo similar al de tu propio proyecto, podrás unirte a la comunidad para poder añadir sugerencias y observar el proceso de desarrollo.
    • Al igual que con cualquier habilidad, envolverse en el proceso de creación (incluso aunque solo sea como observador) es la mejor manera de obtener experiencia práctica.
  11. Podrás hacer cualquier cosa desde publicar en los foros de la comunidad hasta comenzar tu propio proyecto de código abierto, pero el objetivo principal será llevar a cabo tus ideas y superar las posibles trabas de la comunidad así como escuchar su valoración.
    • En caso de que no puedas iniciar tu propio proyecto de código abierto, prepárate para comprometerte con la comunidad en lo referente a las directivas del proyecto.
  12. Como suele ocurrir en el desarrollo de software, es posible que tu idea principal ya la esté llevando a cabo una comunidad con mucha más experiencia que tú. Si es así, considera pedir unirte al proyecto. Al hacerlo mejorará tu entendimiento de cómo funciona el proyecto y te ayudará a llevar a la vida al tuyo, aunque en un entorno de grupo.
    • Los proyectos de código abierto quizá no sean tu objetivo final, pero servirán como una buena manera de ver unidas varias perspectivas diferentes para formar un producto destinado a los usuarios.
  13. Según progreses en el desarrollo del software y presentes tu trabajo, serás objeto de críticas. Escuchar la opinión de la comunidad te ayudará a estructurar el desarrollo en el futuro, pero también te enseñará importantes atajos y métodos para abordar problemas similares en proyectos sucesivos.
    • No todas las críticas serán constructivas. En caso de que recibas comentarios desagradables o injustificados, recuerda ser educado si optas por responderlos.
  14. A menudo encontrarás concursos y bootcamps abiertos, así como conferencias, clases y competiciones abiertas en los foros de la comunidad, en lugares como Craiglist, o en campuses. Suscribirte en cualquiera de esos eventos o campamentos te brindará algo de experiencia guiada mientras te desenvuelves en un entorno con gente afín a tu personalidad.
    • Una opción es el programa del "Campamento de verano de codificación" de Google, que ayuda a los estudiantes a familiarizarse con los proyectos de código abierto y codificación de la comunidad. [2]
  15. El desarrollo de software es un campo que seguirá creciendo mientras la tecnología evolucione, así que asegúrate de aprender continuamente acerca de nuevos proyectos, lenguajes, sistemas operativos, y cualquier otra información relevante de tu área preferida.
    • Gran parte del éxito de un hacker de software libre depende de su curiosidad. Siempre que sigas haciéndote preguntas y buscando respuestas, el tiempo empleado en el desarrollo de software será productivo y duradero.
    Anuncio

Consejos

  • Empezar por aprender C (o C++) y Python te colocará en una posición relativamente buena, aunque Java también es un buen punto de partida popular.
  • A la larga, terminarás aprendiendo varios lenguajes de programación durante el tiempo que te dediques a ser un hacker de software libre.
  • La programación informática puede parecer intimidante, pero no es más que hablar a la computadora en un lenguaje que esta comprenda
Anuncio

Advertencias

  • No se aconseja tratar de revivir un proyecto abandonado que ya ha perdido a su equipo anterior.
  • Evita realizar cualquier pregunta relacionada con los aspectos básicos de la programación o las herramientas de programación en una página de discusión de un programa de código abierto. El tiempo de un programador de software gratuito es valioso. En su lugar, discute estos aspectos básicos de la programación en las comunidades para programadores aficionados o nuevos.
  • Permanecer sentado ante la computadora durante más de unas cuantas horas seguidas tendrá efectos a largo plazo en tu salud en general. Recuerda levantarte y estirarte, apartar la vista de la pantalla, y dar paseos por la habitación o la casa al menos una vez cada dos horas.
  • Sé paciente. Al igual que cuando se aprende cualquier habilidad, convertirse en un hacker de software libre requerirá tiempo y dedicación.
Anuncio

Acerca de este wikiHow

Esta página ha recibido 9833 visitas.

¿Te ayudó este artículo?

Anuncio