Working with Sass, Bootstrap and Gulp

For frontend developers, the days when you manually linked css files to your index.html are over. Modern workflows needs some compilation steps before having a css file that can be use in development or production. Most notably, sass has become the most important language that extends css functionalities, while gulp has won the battle on the building tools front. Continue reading Working with Sass, Bootstrap and Gulp

Introduction to the Typescript Transpiler

Typescript is the new kid on the block, a newly attempt to bring order to the javascript chaos. ES6 is around the corner and is a fantastic step forward for frontend development (classes!) but it will take years to be fully implemented in all major browsers. That’s when Typescript comes to the rescue. Typescript goal is to be a superset of ES6 that, in addition to all the new stuff that the standard is defining, will add a static type system. Typescript has also a transpiler that converts our Typescript code (i.e. ES6 + types) to ES5 or ES3 javascript code so we can use it in today browsers. Continue reading Introduction to the Typescript Transpiler

Abstract/Concrete Inheritance Model in AngularJS

In a previous post I showed how to create a “classic” inheritance model in AngularJS using directives. This time I will show another inheritance model: the abstract/concrete.

In OOP, an abstract class cannot be instantiated, it serves only to provide common properties and functionality to child classes. In Angular, we have to make an analogy and define that an abstract directive is one that does not have a template or a link function, only a controller. The template is provided by child directives.

Continue reading Abstract/Concrete Inheritance Model in AngularJS

Directive Inheritance in AngularJS

Inheritance is a powerful way to extend directives functionality and at the same time, improve code reuse. Lets see how it works in Angular with a simple example. The first step is to create a directive called “outer” which is going to be our top-level directive in our hierarchy.

Continue reading Directive Inheritance in AngularJS

Story Points: Definiendo el esfuerzo relativo

Planning Poker (banner)

Scrum es una metodología de desarrollo de software muy popular en la actualidad. Una de las herramientas de Scrum para la planificación de la duración de un proyecto, es la actividad conocida como “planning poker” en donde el equipo de desarrollo le asigna a cada funcionalidad del sistema, o lo que en Scrum se conoce como “historia de usuario”, una cantidad de puntos que miden su dificultad relativa. Continue reading Story Points: Definiendo el esfuerzo relativo

Las telecom y sus grandes datos

Antena de Telecomunicaciones

Gran parte de mi experiencia profesional como ingeniero la he obtenido trabajando en empresas de telecomunicaciones. Las telecomunicaciones tienen para mi una connotación especial porque tienen el poder de transformar la vida de las personas. Cuando un pequeño poblado obtiene de un día para otro acceso a Internet dejan de estar excluidos, tienen acceso a la más grande colección de información y conocimiento que como especie humana hemos recolectado en nuestra historia. Sus oportunidades de crecer, de aprender, de estar informados o de divertirse mejoran a la par que mejora su calidad de vida. El acceso a Internet es un gran democratizador del conocimiento, una herramienta para la nivelación de las oportunidades y reducir así la brecha social que amenaza con descomponer la sociedad.

Continue reading Las telecom y sus grandes datos

Lo que nos motiva

Hace un par de años encontré por casualidad en Youtube un video de un discurso de Dan Pink llamado “Lo que nos motiva”.

En este discurso, el autor concluye que, contrariamente a lo que la mayoría de nosotros creemos, estudios científicos han encontrado que las recompensas económicas por tener un buen desempeño en el trabajo no logran el efecto deseado. Es más, a medida que el monto de la recompensa es mayor, el desempeño promedio disminuye. Dan Pink, apoyado por la evidencia científica, encontró que lo que realmente nos motiva y por lo tanto mejora nuestro desempeño, es la libertad de tener autonomía en nuestras decisiones, la capacidad de crecer y ser mejores en lo que hacemos, y tener un propósito trascendental. Continue reading Lo que nos motiva

Las metodologías ágiles no son útiles para las startups

PolarBearIce

Como parte de los requisitos para obtener mi título de maestría en ingeniería de sistemas, durante los últimos meses he estado desarrollando un anteproyecto de tesis titulado “Marco de Referencia para la Selección de Metodologías Ágiles o Planificadas para Startups”. El objetivo principal de la tesis era crear una evaluación que le permitiese a una startup decidirse entre usar una metodología ágil o una disciplinada para la creación de su producto de software. El alcance se limitaba a recomendar un enfoque metodológico y no una metodología en particular (XP, Scrum, RUP, TSP, etc.).

Continue reading Las metodologías ágiles no son útiles para las startups