by Salva

Continuous Learning at Peertransfer


Some of us attended the Velocity Conference that was held in Barcelona a couple of weeks ago. It was a great conference as there were a lot of opportunities to know what is going on in the performance, operations, management or mobile world right now. I had been thinking for a while about sharing what we do at Peertransfer to keep learning every day. But it was one of its keynotes, ‘Cultures of Continuous Learning’ that finally gave me the inspiration to write these words.

Here at Peertransfer we have always had the spirit of learning, we regularly attend to conferences, courses or local events. We even host a couple of events here in Valencia, the Hacknight and the CodeRetreat. But apart from that, I want to explain what we do internally as a team to approach “Continuous Learning”.

We started a session called Devs by Learning. On it, we had the opportunity to show what we had been working on, some new thing that we had discovered, some gem, tool, etc.

After some time, we realized that these discussions were too specific. They resulted in large meetings without structure neither concrete topics and we weren’t taking advantage of it.

Since then, we have been looking for other formats and nowadays we have: “Dev discussions”, “Pull request reviews” and “Readers club”.

Dev discussions

Presence: Online/Onsite
Schedule: 2 times/month
Estimated time: 1 hour
People involved: All the team
Goal: Gaining consistency in the way we build things.

We use this time to talk about those things we don’t normally discuss due to our daily routine. Proposed topics may be found in our wiki. Before the meeting, a survey is sent in order to vote for the ones that we would like to talk about. Some examples treated in last Dev Discussions were:

  • Toadhopper is unmaintained, we should favor Airbrake gem (last commit is from Jul 2012).
  • with_indiferent_access usage/abuse.
  • Find a convention for making data modifications in production (massive or not so massive).
  • Inter-application libraries are getting out of hand.

It is way of sharing knowledge with the rest of the team, so everyone is welcome to use this space for giving talks, do demonstrations, etc.

Guided pull request reviews

Presence: Online/Onsite
Schedule: Agreed by the people involved
Estimated time: 30 minutes
People involved: All the team
Goal: Understand and improve changes introduced in our codebase.

The team have a rule that forces us to review every new feature, technical debt or bug. It should be reviewed by at least two members to move it forward. Occasionally, the pull request includes architectural changes, new gems or simply we want to show on what we have been working. In those cases, we ping the rest of the team and the author/s walk the attendees through the code changes answering any questions they might have.

Readers club

Presence: Online/Onsite
Schedule: 2 times/month
Estimated time: 1 hour
People involved: All the team
Goal: Improve the way we code with patterns found in open source projects.

This format is the latest that we are trying and it is pretty interesting. Twice a month, on Friday afternoon mostly, we meet and read some open source code. We usually choose some gem that we are using in our codebase and we try to understand things like how it works internally, what patterns it follows or how it is structured.

Comfortable couches are also important for continuous learning meetings.
Comfortable couches are also important for continuous learning meetings.

The attendance to each of these sessions is optional, though highly recommended. After them, we are responsible for taking actions over what we have decided or proposed. Individually or in groups, we work on each action until the next session, where we share with others what we have achieved.

In a nutshell, we/Peertransfer tech team value growing both as a team and individually in an environment of ‘Continuos Learning’. We try to achieve it with the help of the practices described above.

Now that you know what we do, why don’t you tell us about your own practices?

Salva Revert
Developer at Peertransfer
@salva