Onboarding of a new software engineer
My first 90 days at Orbital Witness
May 4, 2022
Getting started at a new company can be overwhelming. There are many new colleagues to meet and technologies to learn before becoming an integral part of the team. Below is the story of how Orbital WItness delivered a prompt, thorough and clear onboarding process during my first 90 days at the company.
Onboarding checklist
Throughout my onboarding, my main reference point was the onboarding checklist. This was a confluence page with the complete onboarding roadmap, carefully compiled for me by my colleagues. Along with all the links and tutorials that might be needed during my onboarding, the list contained a number of curated tasks for my first 90 days in Orbital Witness. These included both small administrative chores, such as getting the work gear and accounts ready, and larger challenges, meant to build an understanding of the company’s product, people, and processes.
Structured as a TODO list, and shared across the team, the onboarding checklist was also used to visualize my progress and ensure that I am on the right track.
Questions for onboarding
A fun part of the onboarding checklist were the onboarding questions. These were a lengthy list of questions, highlighting some of the important aspects everyone in the company should know. The questions covered a large spectrum of topics, including engineering and data science, product, business, and legal. Addressing these involved using multiple data sources, and developing my understanding of the work of the other teams.
It took me over a month to sporadically answer everything by talking to the right people, reviewing documentation, and working through things on my own. In the end, it gave me a fairly good overview of how the entire company functions.
My buddy and 1-1s
During the course of the first week, I was assigned a personal “buddy”. Their responsibility was to check in during the first couple of weeks to ensure that everything was going well, as well as help with any questions that I had. This was very useful; I found it was important to have an experienced colleague to whom I could turn for help.
Apart from this, I had a number of informal 1-1 meetings scheduled with people from different teams. During these meetings, I was able to get acquainted with my colleagues and learn about their work, although, I was free to choose the topic of the conversations myself. This was a fun activity, and there is the option to keep doing it again and again. A dedicated Slack bot sends out weekly invites to coffee meetings with random colleagues, which I can choose to join.
Delivery
In the first week I was given an overview of the key systems, during several 1-1 meetings with an engineer from the corresponding project. Aside from that, I was involved in the development of several projects from day one. Initially, this was done more in order to familiarize me with the codebase and understand how systems interact with each other. Later on, my contribution gradually grew.
As there was no large legacy systems that I had to cope with, getting up to speed was fairly straightforward. Also, the use of software engineering best practices — such as agile development with extensive automation, containerization, and infrastructure as code — helped a lot. It allowed me to quickly and easily deploy the systems in my local environment and experiment without the fear of breaking anything.
Some tools had to be learned from scratch, but, since we are able to choose the newest and most exciting technologies, doing so was quite fun. Orbital Witness endorses continuous learning, and during my onboarding their commitment to this value was self-evident.
My first big project
Since finishing my onboarding, I was mostly involved in the development of a new product. We aim to automate the generation of property title reports by gathering information from several resources, parsing and classifying it accordingly into several templates. This is meant to save lawyer’s time, by providing them a pre-filled report for further editing, or to use as-is.
We use Python for the backend and build on top of our existing Vue.js frontend. Also, we chose to use Django for the first time to build the API, and are quite happy with it (especially with its built-in admin interface). My work spans both the backend and frontend, and my main task is to integrate the new product with our existing solution.
Overall, I’m working on a key component on the way to our ultimate goal - automating due diligence, and am learning a lot doing it.