Notas de una Migración a Rails 6

Ruby on Rails es un maravilloso framework para el desarrollo de aplicaciones web. Tiene un montón de herramientas para facilitar la vida del desarrollador, además de una serie de valores los cuales dan peso a su existencia.

Cuando empecé a escribir código en Rails era el año 2012 y lo poquito que escribía era en Rails 3. Hice cosas en Rails 4 para saber las diferencias y tuve la oportunidad de seguir escribiendo en la cuarta versión en un software en el que trabajé por casi 2 años. Más adelante, pude empezar un proyecto con Rails 5 y esa fue la constante por un largo rato.

Leer más “Notas de una Migración a Rails 6”

Documentar Software no es tan Difícil

Muchísimos chistes se han contado sobre lo poco o nulo que suele ser la documentación en proyectos de software. Si bien la documentación de librerías populares muestra la gran dedicación que le ponen el equipo de mantenedores, cuando miramos al software dentro de las empresas en las que trabajamos es cuando padecemos de la carencia de una documentación decente.

Que falte documentación puede ocurrir por diversas causas, desde falta de tiempo, negligencia, desinterés o desmotivación (porque caduca muy rápido) hasta desconocimiento de cómo hacerlo o incluso qué documentar.

Leer más “Documentar Software no es tan Difícil”

Voto Electrónico: ¿Sí o No?

Respuesta corta: no.

A continuación, los fundamentos.

Siendo Jurado Electoral

He sido jurado electoral en Colombia en varias ocasiones. Generalmente, son tres eventos por los cuales hay votaciones: elecciones presidenciales, elecciones de congreso y elecciones de alcaldes, gobernadores y ediles.

Unas más “pesadas” que otras en términos de la afluencia de gente que asiste a votar, en ocasiones ocurren en lugares donde no hay fluido eléctrico, agua en los baños, poca ventilación, etc.

Leer más “Voto Electrónico: ¿Sí o No?”

Sobre ese error de la cláusula Group By en SQL

Una de las cosas buenas de escribir es que cuando uno se motiva a hacerlo sobre un tema que no conoce, le toca aprender y entenderlo para poder explicarlo con propiedad o desde una nueva óptica.

Este tema que vengo a compartir no lo entiendo ni un poquito. Llevo mis buenos años trabajando haciendo software pero el error:

ERROR: column “MY_TABLE.MY_COLUMN” must appear in the GROUP BY clause
or be used in an aggregate function

Nunca lo he entendido de tal forma que sepa qué está pasando (y eventualmente prevenga que ocurra) cuando escribo consultas SQL.

Puede que me equivoque en lo que explique pero haré el intento de entenderlo y explicarlo lo mejor que pueda. ¡Empecemos!

Leer más “Sobre ese error de la cláusula Group By en SQL”

Sobre las entrevistas y Preguntas de Ruby y de Rails

En este artículo quiero plasmar algunos pensamientos de entrevistas para desarrolladores web y algunos enlaces a sitios donde hay una buena colección de preguntas para prepararse enfocadas en Ruby y Ruby on Rails.

Sobre las entrevistas para desarrolladores

Entrevistas de trabajo. Temidas por unos, buscadas por otros. En cualquier profesión son un momento difícil para cualquier persona porque casi nunca se sabe los criterios por los cuales te aceptarán o rechazarán en una vacante de trabajo.

A nosotros los desarrolladores de software en ocasiones nos toca pasar por entrevistas que parecen diseñadas por robots para entrevistar robots. Procesos larguísimos, poca empatía, falta de consideración, preguntas sin sentido, tareas muy extensas y al final, en muchas ocasiones, no hay respuesta de vuelta de la empresa contratante.

Leer más “Sobre las entrevistas y Preguntas de Ruby y de Rails”

Los 10 Mandamientos del Programador Sin Ego

Las fuentes donde los leí indican que se origina en el libro “The Pyschology of Computer Programming” escrito por Jerry Weingber. Son unos principios bien interesantes y que se enfocan en lo humano más que en lo que producimos como desarrolladores de software: código.

Veamos.

Leer más “Los 10 Mandamientos del Programador Sin Ego”

Usa GitHub Más Fácil con Hub

GitHub es el servicio de hospedaje de código más popular hoy en día. Su interfaz, su listado de características y hasta su precio lo vuelven en una herramienta que poco hay que pensar para usarla a nivel personal o empresarial.

La interfaz de GitHub comparada con la de Bitbucket o Gitlab es muy amena, sencilla y en ocasiones fácil de usar. En todo caso, tener que dar clic por aquí y clic por allá para lograr algo, resulta cansino cuando hay formas más sencillas posibles.

Leer más “Usa GitHub Más Fácil con Hub”

Sugerencias para un Buen Desempeño como Desarrollador de Software Profesional

Todos empezamos sin saber muchas cosas cuando llegamos a nuestro primero empleo. De lo que sea. De niño solía trabajar en mis vacaciones del colegio. Fuera esto con mi papá como ayudante o donde un vecino que tenía una empresa de estampados.

Generalmente, siempre me explicaban cómo hacer las cosas que me encargaban y procuraba hacerlas siempre de la mejor manera. Cuando no sabía preguntaba y cuando tenía problemas los mencionaba.

Luego, cuando empecé a trabajar como programador se repetía un poco lo mismo. Se me pedía hacer algo, se daban instrucciones e indicaciones de por donde empezar y luego cuando me ponía manos a la obra procuraba informar, hacerlo bien, mencionar problemas, etc.

Leer más “Sugerencias para un Buen Desempeño como Desarrollador de Software Profesional”

BKT en Producción: Scripts Durante el Despliegue

Continuando con la serie BKT en Producción, en este artículo vengo a compartir los scripts de despliegue que se usaban para mandar la aplicación a los entornos en la nube.

Estos son una versión ya mejorada pasada por varios proyectos pero que mantiene la esencia y la base de las primeras versiones.

Mencionaba en un artículo pasado la herramienta Code Deploy. Cuando se configura dicho servicio, hay que instalar un archivo llamado appspec.yml en la raíz del proyecto. En dicho archivo se indican los scripts que se ejecutaran durante el ciclo de vida del despliegue.

Leer más “BKT en Producción: Scripts Durante el Despliegue”

Comunidades para Desarrolladores de Software

Hay muchas formas de aprender en el mundo del software. Sea leyendo libros, viendo vídeos, practicando “a lo mero macho” o una combinación. Aunque un poco menos formal pero muy habitual, otra forma de aprender es leyendo artículos o historias que comparten otros colegas de otras partes.

¿Cuántos no hemos aprendido a hacer algo gracias a un blog post de un desconocido en España o USA? Yo aprendí mucho leyendo de otras personas y aún lo hago hoy en día. Internet nos da esta posibilidad y las comunidades en línea lo multiplican. Por eso quiero compartir algunas comunidades en las cuales participo activamente y aprendo cosas nuevas o reafirmo mis conocimientos.

Veamos.

Leer más “Comunidades para Desarrolladores de Software”