Rename to understand

As I decided to change jobs, I paused working in “PeakToRace”, my pet project, for a while. Now that I’m starting to settle at Trainline I have come back to that code. Even though it is my own code, it...

Read More

TDD, what do you expect?

TDD, Test driven development. If you don’t know what it is I envy and salute you. These days TDD is like one of those other terms, eg. Agile, MVC, Lean, SOLID. We love acronyms in our profession, and as developers...

Read More

Renaming your css modules styles

I promise, I am not paid by Jetbrains. But I love their editor for Javascript, WebStorm. I know, the cool thing now is to use VisualCode. Before it was Atom, and before that it was Sublime. The former ones are...

Read More

Do not WIP

I’m sure you are familiar with the term WIP, just in case Work In Progress. It relates to something that is not finished yet, there’s a bit more way to go before completing it. I’ve been using Trunk-based development for...

Read More

A lightweight GraphQL (Part I)

(Also published at Fmp Tech Blog:

This post is inspired by a talk in the latest React London Meetup, Lightweight GraphQL. In Findmypast we use GraphQL and Relay in our new Titan architecture. I always felt like I had...

Read More

React London, September 2017 meetup

The September meetup of React London was held on 20th September in the Facebook offices. Here is a brief description of each topic:

Lightweight GraphQL

Simple talk about the basics of GraphQL. Why do we care about it and...

Read More

Hooked, What are you going to do with this

Remember this:

  • To help you as a designer of habit-forming technology, assess the morality behind how you manipulate users, it is helpful to determine which of the four catagories your work fits into. Are you a facilitator,...

Read More

Hooked, Investment

Remember this:

  • Investment is the fourth phase of the Hook Model. Unlike the action phase, which delivers immediate gratification, the investment phase concern the anticipation of rewards in the future.

  • Investment in a product create...

Read More

Hooked, Variable Reward

Remember this:

  • Variable Reward is the third phase of the Hook Model, and there are three types of variable rewards:
    • Rewards of the tribe is the search for social rewards fueled by connecteness with other people. Examples:...
Read More

Hooked, Action

Remember this:

  • The second step in the Hook model is action.
  • The action is the simplest behavior in anticipation of reward.
  • According to Dr. B.J. Fogg’s Behavior Model:
    • A trigger must be present at the same time...
Read More

Hooked, Trigger

Remember this:

  • Triggers cue the user to take an action and are the first step in the Hook Model.
  • Triggers come in two types:
    • External: Tell the user what to do next by placing information within the...
Read More

Hooked, the Habit Zone

Remember this:

  • For some businesses, forming habits is a critical component to success, but not every business requires habitual user engagement. For example, products that don’t need everyday engagement, like mortgages or insurance services.
  • When successful, forming strong...
Read More



Oh my god! I can’t believe it’s been more than a year since the last post I wrote… Like a good friend would say: Un-be-lievable!

Anyway, I have a good reason to write this: I want to get...

Read More

Learn your tools well

Learning your tools

This time I’d like to talk about tools, the frameworks that we use in a daily basis.

I often relate to the Gardening metaphor when talking about software. A gardener knows his tools, he knows when...

Read More

Unit testing Legacy code

Let’s get to the point. I have this nice little piece of legacy code:

public static void Save(object key, object value, System.DateTime?...
Read More

Don't fail to fail

(The numbers provided in this report have been made up for this post and they don’t represent the reality.)

I reckon, I have failed. So many times, but lately I have massively failed.

Let me give you some context: we...

Read More

Introduction to Elixir

Originally published in Findmypast tech blog


I have been trying Functional Languages for a little while now. F# is in the .Net environment so why not give it a go. Haskell seems like a different monster, so...

Read More

Learning Elm, first day

Why Elm

I’ve been learning Elixir language the last few months. It’s been a great experience so far, Elixir is focused on Developers happiness and productivity. Finally got my head around Functional Programming.

I’ve been hearing about Elm for...

Read More

ES2015, string includes

Today I wanted to talk you about a little but useful feature in ECMAScript 2015 (aka ES6).

I’m using the new Javascript in my pet project, so far it’s been a much nicer experience. Currently I’m working with the registration...

Read More

To be an anal, story of a code review

30-07-2015 9.00 AM

I arrive to the office, I have just run to there like any other day. I am going to have a shower when another Technical Lead tells me:

-Could I talk to you for a moment?...

Read More

Object Calisthenics

I was firstly introduced on Object Calisthenics in the CodeRetreat last year. I remember having a mind blowing experience, then trying it, failing, trying again, finally the code produced was amazing. I thought I could explain the rules of Object...

Read More

FSharp, the keyword of Shame

We have now NDC Oslo 2015 videos available here. I really recommend to take a look because the quality of the talks is amazing as usual, and they cover a broad range of topics that may be of interest...

Read More

Back to training

Free to explore

I have usually felt that I was arriving late to technology. I had almost convinced my parents to buy our first computer by the age of 16. There was only one condition left, that was, I...

Read More

Engineering culture

There is a lot being said lately about Engineering culture. How to retain talent, how to attract talent, how to be productive, deliver fast and how to deliver great products for our users.

Software Engineering is a tough and special...

Read More

Managing Technical Debt

Technical Debt is widely regarded as a bad thing; that should be avoided or should be paid back as soon as possible.

Should you? Well sometimes I don’t think so. Let’s try to compare Technical Debt with Financial Debt. Then...

Read More

Debate, Technical Debt

I remember my last interview, they ask me:

If you are approaching the project deadline and you haven’t finished all the work, would you sacrifize quality in order to finish or would you either sacrifize some of the user...

Read More

A mini React workshop by Damjan Vujnovic

ReactJS, yet another JS framework?

Angular, Knockout, Ember, jQuery, Ext… React? This is going mad. Why do I need to learn about another framework?

That was my thinking when my colleague Richard Kotze told me about ReactJS for the...

Read More

Opinionated people

And there he goes, yet another opinionated guy…

Surely you´ve met this kind of guys. You were having a few drinks with your mates, including your opinionated friend. You started talking about computers, it was a positive and chilled...

Read More

Efficient Meetings

Meetings, meetings, meetings

Today I wanted to talk you about Meetings. Our world is heavy on meetings, we organize a meeting for nearly everything. If you have to catch up with somebody: Why don´t we do a meeting for...

Read More

Test Driven Development

TDD is not writing unit tests, TDD is a way of writing code.

Writing a test first? Why? The code is not even implemented, I don´t know how I´m going to do that. At least let me create...

Read More

Uncle Bob strikes again, TDD is Alive

Skills Matter is a company that provides courses, workshops and much more here in London. They do something called In the Brain, these are talks by some famous speaker about anything. Normally it is kind of a master class. And...

Read More

NDC London, first day

First day of the NDC London 2014 finished! Really long day, lots of information to take, but really glad to have the chance to be here.

I will write detailed posts of the most interesting talks but I wanted to...

Read More

NDC London, third day

Let´s talk about the third and last day of the NDC London.

AngularJS for ASP.Net MVC developers, Miguel A. Castro

Miguel started his talk sharing some really good features of AngularJS.

And them he talked about Hybrid Applications. That...

Read More

NDC London, second day

Let´s talk about the second day of the NDC London.

OWIN, Katana and ASP.Net vNext, eliminating the pain of IIS, David Simner

Good explanation about Katana and Owin. A couple of interesting facts about the new vNext and how...

Read More

Jurassic Park, a root cause analysis


Devs in the Ditch is a community here in London, sponsored by 7digital company. Yesterday they carried out a workshop with a very strange name: Jurassic Park: What went wrong?

The title drew my attention and I decided...

Read More

Global day of Coderetreat

Hi there!

Yesterday I participated in the Global Day of Coderetreat. It was hosted by the London Software Craftsmanship Community. It was an amazing day, I´m really glad I had the chance to go, please bear with me a moment,...

Read More

Hello world!

This is my new programming blog, hosted in GitHub. What a better place to talk about programming than this. This blog will feel really at home here. The reason for this change, from blogger to GitHub, is because lately I´ve...

Read More

NCrunch, your friend with TDD

Today I wanted to talk you about NCrunch, a great tool I´ve discovered thanks to my new colleages. It allows us to automatically run our Unit Tests while we are writing the production code.

Image description


Read More

What is going on CSharp 6


I´m back again into the arena. Sorry for the long time since I last wrote a post, back in August. Certainly there have been lots of things to take care off, but I don’t want to stop sharing things...

Read More

Did you know that... CSharp´s foreach

IEnumerator is a simple interface that defines a basic low level protocol to traverse a collection in a forward-only manner. The protocol is so simple:

Image description

Collections normally don’t implement enumerators directly. Instead, they provide enumerators...

Read More

NDC Oslo 2014 Series

Hi there!

Last June 2014 I had the pleassure to assist to Norwegian Developers Conference (NDC). It was held in Oslo Spektrum, 2-6 June. This conference is one of the things you shouldn´t miss if you like programming, design, technology,...

Read More

Being a junior developer

Hi there!

One of the things I do to take the best of my time is to do things when doing other things. Maybe this is not a good thing, so I don´t want you to take this as an...

Read More

Keep that simple

You can find beauty in code, beauty is in simplicity. There´s one quote by Plato that states:

Beauty of style and harmony and grace and good rythm depends on simplicity.

How many times we have been told that...

Read More