-
El camino freelancer, parte 3: la mejor parte
Cuando empecé a recorrer este camino lo que más valoraba era la libertad horaria. Con el correr del tiempo comencé a valorar otros aspectos, todos ellos relacionados con la posibilidad de elegir: elegir mis proyectos, elegir mis clientes, elegir mis compañeros de trabajo, elegir la fecha y extensión de mis vacaciones. Obviamente a la hora de elegir uno… — read more
-
El camino freelancer, parte 2: las cosas no tan lindas
El trabajar de forma independiente trae de la mano ciertos beneficios pero también algunas cuestiones no tan «lindas», algunas de ellas conocidas y otras no tanto, sobre todo cuando uno viene de trabajar en relación de dependencia. Debes encargarte de conseguir tus propios trabajos, ya no hay una organización que lo haga por ti. Este… — read more
-
El camino freelancer, parte 1: motivación
Recurrente recibo consultas, tanto de alumnos como de colegas, sobre cómo hacer para comenzar a trabajar de forma independiente (freelance) y es por ello que finalmente he decido poner por escrito lo que he contestado ya muchísimas veces. Como un único post podría llegar a resultar muy extenso, he decidido escribir un conjunto de posts, cada uno… — read more
-
Estrategias de provisioning + deployment (parte 2)
En el proyecto en el que estoy trabajando actualmente utilizamos Ansible para hacer el provisioning de la infraestructura y CodeDeploy para manejar el deployment. CodeDeploy es un servicio que Amazon provee gratuitamente a los usuarios de EC2, la plataforma cloud de servidores virtualizados de Amazon. El funcionamiento de CodeDeploy es bastante simple: copia archivos desde Github… — read more
-
Hacia un esquema de entrega continua
Cuando me uní al proyecto el equipo venia trabajando con un esquema ágil «clásico» pero con algunas particularidades: Iteraciones time-boxed de 2 semanas Congelamiento y regresión/estabilización los últimos dias de la iteración Pruebas unitarias automatizadas Regresión manual Release al final de la iteración Esta forma de trabajo ocasionaba de vez en cuando que se llegara al… — read more
-
eXtreme Programming Moderno: ¿de qué estamos hablando?
Muchas cosas han cambiado desde la publicación del libro de Extreme Programming Explained de Ken Beck que estableció las bases de XP. Sucesivas publicaciones han ido actualizando las prácticas de XP. En ese sentido me ha resultado muy interesante el libro de James Shore y Shane Warden, The Art of Agile Development el cual más… — read more
-
Estrategias de provisioning + deployment (parte 1)
En los últimos años he participado en diversos proyectos utilizando diversas estrategias de deployment. Dado que este es un tema que está despertando cada vez más interés me parece que puedo colaborar compartiendo las experiencias que he tenido. Esta primer estrategia que quiero compartir está basada en Puppet y en paquetes Debian. Todo el provisioning… — read more
-
Nuevo proyecto: Python, iPhone y Amazon
Hace un par de semanas me sumé a un nuevo proyecto para colaborar en cuestiones de operaciones/arquitectura. Cuando me hicieron la propuesta para sumarme no lo dudé ni un momento pues el contexto me resultó super interesante: Plataforma multi-tenant de administración de contenido + aplicación móvil para consumo del contenido Integración con redes sociales Características… — read more
-
Dinámica para enseñanza de pruebas automatizadas y especificación con pruebas
La dinámica que voy a describir aquí fue diseñada por Gabi Falcone para una clase de Algo3@Fiuba. El objetivo de la misma es presentar las pruebas automatizadas y su uso como herramienta de especificación. Contexto: en el curso tenemos alrededor de 50 alumnos. El aula de clase no tiene computadoras, pero algunos alumnos traen sus… — read more
-
Explicación básica de Maven
Maven es una herramienta de build, posiblemente la más utilizada en la actualidad en el mundo Java. Una herramienta de build es un herramienta que permite «buildear» un proyecto. «Buildear» (ejecutar un proceso de build) implica ejecutar un conjunto de tareas las cuales pueden variar dependiendo de cada proyecto. En el caso más básico el… — read more