Blogs· 4min November 17, 2022
Jordan Van Dyk is Form3's first Canada based engineer. He joins us to share why he chose to work at Form3, what his interview experience was and what a typical day looks like for him on the Tooling team. Then, he shares how his team works and makes recommendations for how highly distributed teams can successfully work together.
Jordan was our very first Canada based employee, with more colleagues since. He first found out about Form3 on LinkedIn Jobs. He was drawn to the opportunity for two main reasons:
During his interview process, Jordan was impressed with the recruiter interactions, who gave him a completely different experience from companies he was applying with at the time. Then, Jordan learned about the tech stack which included:
After these initial impressions, he was even more excited and convinced that he wanted to continue with the process.
Jordan was completely new to Go, which is typical for most of the candidates that we interview at Form3.
The first step in the Form3 interview process was a take home test, which aims to be closer to a real world situation than the typical Leetcode-style coding questions. Despite Jordan's lack of experience, he found resources on the internet which made it easy to accomplish.
After the take home test, the next step is the video interview which lasts 1.5hrs split into three parts:
At the end, Jordan chose to join Form3 for a variety of reasons: tech stack, engineering culture, as well as his personal passion for economics and banking. He has had the opportunity to learn more about the financial aspects from colleagues since joining.
Due to hiring at scale, Jordan's team, the tooling team, was split into two smaller teams. Jordan's team now has 2 Canada-based colleagues on his team, as well as team members from the UK, Poland and other European countries. The other team has a similar mix of locations. This means that there is a 5/6 hour time difference between Jordan and the rest of the team.
A typical day for Jordan consists of:
Timewise, Jordan works approximately 9AM to 5PM. Most of his meetings will run from 9AM to 11AM local time (or 2PM to 4PM European time). He typically pairs until about 12PM, when he will break for lunch. Typically, he will be working by himself in the afternoon.
Pairing is standard practice at Form3 and working in a vastly different timezone does pose some difficulties. The overlap in time is typically 3 hours, so the team does require some planning for pairing. However, asynchronous communication is something that is required to move tasks forward.
As a side note, Jordan had never working with pair programming on his team before. Now, he can't imagine ever going back and working without pairing. You can read more about our approach to pairing in this wonderful blogpost.
As the first Canada-based engineer, Jordan sees himself as a bit of a guinea pig for the team and company as a whole. He has played a crucial role in adjusting the team working processes to allow for working in locations across vast time differences. When he joined, the team did have to make some changes:
Async communication takes place almost entirely on Slack, while GitHub is used to track issues and the progress of work. Slack bots are used to automate as much of the mentions and reminders as possible.
Jordan gives us an idea of how the Tooling team organise and deliver their work:
Engineers at Form3 take a lot of ownership of their work. Ultimately, their lead is responsible for all the work that the team delivers. However, the team is expected to step up for issues or providing support to other teams. The Tooling on-call engineer will have an overview of who's worked on the features and be able to refer issues to the correct person. In a highly remote team, a highly refined backlog is crucial. It prevents those in other timezones from being stuck on tasks until the rest of the team come online and are able to provide guidance.
Documentation is another important aspect of the work that Jordan does on the Tooling team, as it provides guidance and knowledge-transfer to other teams. It's extremely important to keep progress and details of a task up to date to prevent drift in scope and project completion. At Form3, documentation is usually written at the end, as part of the definition of done. This ensures that we keep documentation up-to-date through the life of the project.
After working in a highly remote environment for nearly a year, Jordan can make the following two recommendations:
Once you get into this routine of working, it flows pretty easily. Jordan is enjoying his time at Form3 and he is happy he took the leap in joining such a remote, distributed team.
Adelina is a polyglot engineer and developer relations professional, with a decade of technical experience at multiple startups in London. She started her career as a Java backend engineer, converted later to Go, and then transitioned to a full-time developer relations role. She has published multiple online courses about Go on the LinkedIn Learning platform, helping thousands of developers up-skill with Go. She has a passion for public speaking, having presented on cloud architectures at major European conferences. Adelina holds an MSc. Mathematical Modelling and Computing degree.
Blogs · 4 min
In this blogpost, David introduces us to the five W's of information gathering - Who? What? When? Where? Why? Answering the five Ws helps Incident Managers get a deeper understanding of the cause and impact of incidents, not just their remedy, leading to more robust solutions. Fixing the cause of an outage is only just the beginning and the five Ws pave the way for team collaboration during investigations.
July 26, 2023
Blogs · 4 min
Patrycja, Artur and Marcin are engineers at Form3 and some of our most accomplished speakers. They join us to discuss their motivations for taking up the challenge of becoming conference speakers, tell us how to find events to speak at and share their best advice for preparing engaging talks. They offer advice for new and experienced speakers alike.
July 19, 2023
Blogs · 4 min
Andy recently wrote about what he considers to be the key ingredients for bootstrapping a new engineering organisation. Many of these ingredients are about what you use to build your organisation with. However, this post describes one key element of how you do it. This blog post describes one way of making decisions and designing new changes which scales well with a growing team, and includes everyone in the process.
June 28, 2023