Category Archives: Pet projects

Chuck Norris Approved Pull Request

Chrome, Extensión, Pet projects

A veces entre tontería y tontería en el trabajo, surgen cosas tan absurdas que son hasta entretenidas para aprender. Hoy hablo de una extensión que he hecho para Chrome, la cual consiste en poner el sello de Chuck Norris Approved cuando aceptas en Pull Request.

Todo se debe a que un compañero de trabajo (@joze_grx) comenzara con la tontería de que cada vez que aprobaba un Pull Request, hacía el comentario de “Chuck Norris Approved”. Pues nada, pasan los días, y después de leer el post de un amigo (@javi_moralesf) referente a como hacer una extensión de chrome (click aquí para ver artículo) y jamás haber hecho una, se me viene a la cabeza la idea de hacer una extensión, que, cada vez que aprobáramos un Pull Request, se nos marcara el sello de “Chuck Norris Approved”.

Pues me puse manos a la obra, y en un día del fin de semana, tuve una primera versión, la cual recibió muchas buenas críticas al comienzo de la semana de mis compañeros (@orestesca flipando) y como no, exigencias de que a parte de con Stash (plataforma que usamos en el trabajo), fuese compatible con Bitbucket y Github.

Pues nada, actualmente lo usamos en el trabajo, ya hay una versión funcional que podéis descargar de la Chrome Store por el nombre de “Chuck Norris Approve Pull Request”

Chuck Norris Approved Pull Requests Chuck Norris Approved Pull Requests

Enlace directo:
https://chrome.google.com/webstore/detail/nimjcccacnkhhimfaafchcbjdghapoen

A parte, también hay un repo de Github https://github.com/dimaslz/ChuckNorrisApprovedPullRequest con el cual podéis enviarme issues de cosas que os gustaría que implemente o colaborar si os apetece.

Aun hay muchas cosas que mejorar, como limpiar un poco el código, añadir features y demás, pero, ya funciona.

Decir que no afecta en nada al comportamiento normal del servicio de versionado, tan solo es una imagen.

tags: , , , , , ,

Pet projects – La importancia de hacer proyectos personales

Consejo, Pet projects

Hace tiempo que quería hablar sobre este tema, pero aún no le había encontrado el enfoque hasta ahora. Y es mismamente eso, la importancia de tener/trabajar en proyectos a nivel personal

Hoy día es algo totalmente imprescindible para mejorar nuestras aptitudes profesionales, ampliar nuestros conocimientos y mantenernos un poco al día del mundo real.

Somos consientes que la tecnología avanza muy rápido. Recuerdo hace 10 años, cuando descubrí la programación, los lenguajes para hacer webs mas populares de esa época era PHP, ASP, Javascript, si las querías animadas era Flash y después también había Visual Basic para temas de aplicaciones de escritorio y muchos mas. Había pocos lenguajes con una buena comunidad para hacer un gran desarrollo.

Hoy día, el abanico de posibilidades es inmenso. Nos encontramos proyectos en PHP, Ruby, Python, Javascript, Nodejs,  Java, pero a parte de esto, multiples frameworks para cada una de estas tecnologías como para PHP: Symfony, Cake-php, Codeigniter, FuelPHP, para Python: Django, para Ruby: Ruby Rails, para Javascript: Nodejs, AngularJS, Backbone, EmberJs… y muchos mas que no pararía de nombrar, que cada uno de ellos,  para alguien está siendo la decisión para un pequeño, mediano o gran proyecto.

Ahora también tenemos el mundo de los dispositivos móviles, en el cual tenemos Android, Objective C, Swift, C++, Tizen, FirefoxOS y sus frameworks basados en HTML5 para desarrollo de aplicaciones híbridas.

Hay que dar gracias a la constante evolución de estos lenguajes, puesto que sin esta, no tendríamos herramientas que nos facilitan el día a día del trabajo como desarrollador. Hablo de cosas como Yeoman, NPM, Grunt, Gulp, Bower, Comporer, Vagrant, Docker… que tanto nos ayudan a automatizar tareas,  como gestionar los paquetes y dependencias del proyecto, etc. Son herramientas que una vez bien aplicadas, nos permite conseguir un flujo de trabajo, ahorrar tiempo y dedicarnos mas a escribir el código.

No es tan solo programar en un lenguaje, podrás tener mas experiencia en uno que en otro, pero al fin y al cabo es programar. Programando hay que pensar y aplicar patrones de diseño a emplear, ya sea por rendimiento de la aplicación, como conservar una estructura de código, las buenas prácticas,  la cual nos permita mejorar y ser óptimos,. También debemos aprender a utilizar servicios, configurarlos o customizarlos para uso específico para un determinado producto.

A groso modo, antes había menos soluciones que programadores, ahora ese número creo que nos supera, hay mas soluciones que programadores y prácticamente cada día, ese abanico de posibilidades aumenta ya que no está nada inventado, cada proyecto nos puede enseñar una solución diferente.

Y es por eso, que debemos involucrarnos en desarrollar proyectos personales. Un proyecto personal, te ayuda a tu tener la experiencia de toma de decisiones, equivocarte, probar, romper, arreglar en algo que no tenga nada que ver con tu puesto profesional, a no se que quieras utilizar esa experiencia adquirida junto a otro tipo de stack.

Por ejemplo, mi experiencia fue que en mi puesto profesional, tan solo hacía PHP y algo de Front, aunque también, para un proyecto específico, desarrollamos un gran CMS bajo AngularJS.

¿Qué determinación tomé? Pues como en mi puesto de trabajo, no tocaba las tecnologías móviles, pues decidí aprender a desarrollar en Android con un objetivo propuesto.

A la par de esto, también decidí ponerme a hacer un módulo para AngularJS, como proyecto para refrescar, ponerme al día y aprender mas sobre AngularJS, como también hacer una App híbrida en HTML5 con Ionic  para Android.

Y mas a destacar, la gran iniciativa 12meses12apps.com junto  a mi compañero @javi_moralesf, que consiste en hacer 12 aplicaciones móviles en 12 meses.

Pues te preguntarás: ¿En qué me ha repercutido?
Pues sencillamente, que logras estar un poco mas al día de las tecnologías que hay. Puedes tomarlo con calma, ir a tu ritmo, sin presión, pero es un extra añadido a tu día a día en el trabajo, que te reportará gran experiencia y una actitud mas positiva, diferenciarte ante los demás en el mercado, y tener el horizonte mas amplio para ser mejores profesionales.

De alguna manera mejoras tu capacidad de aprendizaje y esa diferencia que hay de experiencia con tus compañeros del gremio, se hace prácticamente inexistentes ya que aportas una motivación extra.

Así que te animo, por no decir que te recomiendo, que trabajes en un proyecto personal. No es necesario que sea grande, lo importante es que hagas lo que quieras, pruebes, rompas, inventes y aprendas algo nuevo y seas constante.

La constancia es primordial.

 

tags: , ,