Hay una alta probabilidad de que no estés desarrollando software en tu trabajo para cumplir tus más ambiciosos sueños. Quizás estás desarrollando software para una gran compañía de seguros cuando te gustaría estar trabajando en Google, Apple, Microsoft o tu propia start-up, desarrollando la próxima “gran cosa”. Nunca vas a llegar a donde quieres desarrollando software para sistemas que no te importan.
Afortunadamente, hay una respuesta a tus problemas: software libre. Hay miles de proyectos de software libre por ahí, muchos de ellos muy activos, los cuales ofrecen cualquier tipo de experiencia de desarrollo de software que puedas desear. Si amas la idea de desarrollar un sistema operativo, ve y ayuda con alguno. Si deseas trabajar con software de música, animación, criptografía, robótica, juegos de PC, juegos masivos en línea, teléfonos móviles o lo que sea, puedes estar casi seguro de que encontrarás, al menos, un proyecto de software libre dedicado a ese interés.
Por supuesto que no hay almuerzos gratis. Tienes que estar dispuesto a dar tu tiempo libre porque probablemente no puedas trabajar en el un videojuego de software libre en tu trabajo, aún tienes responsabilidad con tu empleador. Adicionalmente, muy pocas personas hacen dinero contribuyendo con proyectos de software libre. Debes estar dispuesto a renunciar a una parte de tu tiempo libre (menos tiempo jugando videojuegos y mirando TV no te matará). Cuanto más trabajes en un proyecto de software libre, más rápido te darás cuenta de tus verdaderas ambiciones como programador. También es importante considerar tu contrato de empleado, algunos empleadores pueden restringir contribuciones, incluso en tu propio tiempo. Además, es necesario tener cuidado con las violaciones de las leyes de propiedad intelectual que tienen que ver con derechos de autor, patentes, marcas registradas y secretos comerciales.
El software libre provee enormes oportunidades para el programador motivado. En primer lugar, se llega a ver cómo alguien más implementa una solución que te interesa –puedes aprender mucho leyendo el código de otras personas–. En segundo lugar, se llega a contribuir con tu propio código e ideas al proyecto –no todas las ideas brillantes que tengas serán aceptadas, pero algunas podrían serlo, y aprenderás algo nuevo con sólo trabajar en soluciones y contribuir con el código–. En tercer lugar, conocerás a personas grandiosas con la misma pasión que tú por el mismo tipo de software –estas amistades pueden duran toda la vida–. En cuarto lugar, asumiendo que eres un contribuidor competente, estarás en disposición de agregar la experiencia del mundo real en la tecnología que actualmente te interesa.
Iniciar con el software libre es bastante fácil. Hay plena documentación en las herramientas que necesitas (por ejemplo, administración de código fuente, editores, lenguajes de programación, sistemas de construcción, etcétera). Primero, encuentra el proyecto en el que deseas trabajar y aprende acerca de las herramientas que utiliza. La documentación en proyectos por sí misma será una luz en muchos casos, pero esto quizás importe menos debido a que la mejor manera de aprender es investigar el código por ti mismo. Si deseas estar involucrado, puedes ofrecer tu ayuda con la documentación. O puedes comenzar como voluntario para escribir las pruebas de código. A pesar de que esto podría no sonar excitante, la verdad es que aprendes mucho más rápido escribiendo pruebas de código para el software de otra persona como casi cualquier otra actividad en software. Escribe pruebas de código, realmente buenas pruebas de código; encuentra errores; sugiere correcciones; haz amigos; trabaja en el software que te gusta y cumple tus ambiciones.
Traducción: Espartaco Palma