Logo de Margo Bank
operations
Careers

Join us to create a simple and painless banking experience for small and medium businesses.

See open roles

Tooling at Margo Bank

Michel Galibert2019-04-042 min read

We decided to publish part of our internal documentation as a series of blog posts. This article is part of this series. It deals with the tools we use internally at Margo Bank. The list of tools is not really interesting per se since most of the tools and software we use are standard. However, it took us a while to determine which tools we should use internally when we should use them and what the common practices should be. So, we thought this information and our thought processes could be of use to others.


Best Practices

The tools we use are akin to a flatshare. This is why, regardless of the specific tools we use, we defined a set of best practices we try to follow as much as possible.

1. 🖐 Boy Scout Rule

In Software Engineering, the Boy Scout Rule is “Leave your code better than you found it.” But this rule can be applied to basically anything. In everyday life, the Boy Scout Rule means that if you see a piece of trash in the street or in the forest, you take it, even if it’s not yours. As a result, we ask everybody to leave the tools they use in better shape than they found them. It means that if we stumble upon outdated data, broken links, or inconsistencies, we fix it and don’t wait for someone else to do it.

The Boy Scout Rule is a powerful rule to avoid the Broken Windows Theory being true. The broken windows theory is a criminological theory that visible signs of crime, anti-social behaviour and civil disorder create an urban environment that encourages further crime and disorder, including serious crimes.

Applied to a company, it means that the less you do to keep things tidy and clean (think about your Google Drive or Dropbox), the less other people will be willing to do so and the messier the work environment will be.

2. 🌍 International standards

Whenever we store information, we try to always use the international data formats, because they are standard and avoid confusion. For examples:

  • Language: we use English over French;
  • Date: we use YYYY-MM-DD like 2018-06-02 over national formats like 02/06/2018;
  • Phone number: we use +33102030405 over 0102030405 or +33 (0) 02 03 04 05

3. 🤖 We are not robots

As we spend most of our time on online collaborative tools, it’s always good to remember we work with human beings and not with robots. Having a profile picture on each and every tool we use really helps. That’s why we are so attached to it during our onboarding process and ask all our team members to have a profile picture on the tools we use.

4. 👨‍🌾 Gardening

In order to make sure these practices are followed, each tool has its own gardener. The Gardener is responsible for:

  • Enriching the set of practices for a given tool;
  • Reminding people to follow the rules when they don’t;
  • Pruning the tool on a regular basis to make sure no irrelevant resources are still there.

Specifically for Google Drive, we defined gardeners even at a folder level to avoid having a complete mess everywhere.

General Tools Directory

ToolI need to…Keep in mind that…TimeframeExisting alternatives
SlackCommunicate instantly with team members for: - Short questions; - Trivial discussions; - NotificationsThe information shared on Slack is not here to stay and will be buried very quickly. If you need to save and store data: Use Google Drive to store files; Use Confluence to permanently store information.InstantsMattermost, Hipchat, Twist
GmailSend information or communicate with the external world (partners) without a shared access.We try to limit emails as much as we can for internal communication.Up to several daysOffice365 Zimbra
HelpScoutSend information or communicate with the external world (partners) with a shared access.-Up to several daysOTRS Zendesk
SMSSend information to a team member in an emergency situation only.Everybody within the company uses his personal phone. We want to sustain a good work/life balance, and that’s why we use SMS and phone calls for emergencies and exceptional events only.InstantsMorse code Pigeons
ConfluenceHave a long and structured internal discussion: Tough questions, New ideas, Help, SpecificationsWe use Confluence to communicate about almost everything asynchronously. It is best used as a modern substitute for mailing lists, discussion forums, long-form chat rooms. It is NOT a substitute for instant messaging, issue tracking.Up to several daysDiscourse
Store knowledge and information that is here to stay and build internal documentation such as this article.Confluence is the company encyclopaedia, and that’s why this article is stored there. You can link, search, browse information very easily like on a regular website.Project lifetimeNotions Mediawiki
Google Docs Google Sheets Google SlidesWork collaboratively on a document that is likely to be shared with the external world.G Suite is great for: Producing and working collaboratively on a document; Working on a document with only some specific people. G Suite shouldn’t be use to share information: If you want to do project management, use YouTrack instead. If you want to write a page that will stay forever, use Confluence instead.Project lifetimeOffice365 Etherpad
Google DriveStore and share files.Google Drive is like DropBox for companies. Google Drive is the default place to store any files.Project lifetimeDropbox Box
Apple KeynoteProduce a Keynote Presentation, because Google Slides is not powerful enough.We don’t use Apple iWork except Keynote when needed to produce powerful and rich presentations. By default, we always use Google Slides for presentations.Project lifetimeLibre Office Microsoft PowerPoint
Microsoft ExcelProduce an Excel File because Google Sheets is not powerful enough.We don’t use Microsoft Office, except Microsoft Excel, when needed to produce complex sheets. By default, we always use Google Sheets for spreadsheets.Project lifetimeLibre Office Apple Numbers
YouTrackTrack the progress of a project, a roadmap or something evolving over time.A project is anything that: Has a status that will change over time; Needs one or multiple people to be achieved; Has a deadline.Up to several monthsJira Basecamp Trello
ZoomTalk with someone working remotely.-Minutes to hoursSlack Bluejean
GitlabStore my code in a continuous integration and continuous development process.Gitlab is only accessible to developers.Project lifetimeGithub Bitbucket