Starting a Software Engineering Job Remotely
The First Day
March 30th, 2020 - 8:15am. My alarm aggressively rings, Alexa turns all of my lights on, and I groan. Rolling out of bed I head to my desk 4 feet away; what a long commute.
This is not what I expected my first day of work to be after I left my last company in March, and took a few weeks to take a much needed break. I didn’t have the first day of school jitters, and I did not get lost trying to find the bathroom. I was in very familiar territory, staring at the same 4 walls that were apparently going to be my new deskmates. I was still excited and nervous about starting my new job and meeting everyone I would be working with over Zoom. I logged on to my new work laptop and started my remote orientation Zoom meeting.
Why I Joined EverQuote
One of my deciding factors for joining EverQuote back in February was the people and EverQuote’s culture. It just seemed like the place I wanted to be, and where I could see myself learning, growing and collaborating with so many smart people. I was excited about meeting all of my new coworkers and tackling new challenges. When I was told I had to start remotely I was nervous about being onboarded to an entirely new team, new technology and new company without meeting anyone face to face.
Challenges of a Remote Onboarding
Starting a new job as a software engineer is a challenge no matter where you are and how you are doing it. There is so much to learn:
- New technologies and frameworks
- New programming languages
- New services
- New yet-to-be-deciphered acronyms and codenames
- New teammates
It can be overwhelming in general, and now there’s an even bigger challenge, you’re remote.
There’s no easy way to ingest a company's software infrastructure without sitting in a room with a whiteboard and other engineers explaining how each piece of the software puzzle works. I had many meetings where engineers just explained how systems work overall, but there was definitely more overhead compared to being in the same room. I started to find new ways of learning how things work without in-person meetings with whiteboards. Some conversations would have definitely been shorter if we were all in the office together, but people are starting to learn how to communicate more effectively in a remote work environment.
I found that if I just threw myself into whatever service I needed to learn about, it became easier to understand versus trying to ingest all of the information from Zoom calls. I also tried to draw the architecture diagrams myself, so I could have a picture of how things worked on my end.
Tips for Onboarding Remotely
Here are some tips and strategies I found helpful when onboarding remotely:
- Make sure you have the right equipment and space to work
- Draw diagrams (either on paper or using a diagramming software)
- Go through code reviews and ask questions
- Have team knowledge-sharing presentations
- Set up a Zoom meeting to talk face-to-face if you’re stuck
- Peer program remotely
- Go through code reviews on a Zoom meeting
- Have team co-working sessions where you work through problems together
Socializing While Starting a New Remote Job
One thing about starting a job remotely that has been more difficult for me is missing the social aspect of collaborating in person with your team, having coffee with co-workers in the office, or just talking to people in passing. I am a very social person, and this has been more challenging than learning anything as an engineer. Remote work has been fairly isolating compared to being in an office. That being said I think EverQuote has done a great job of emulating our culture remotely, and also providing some form of socialization.
EverQuote’s weekly town halls, happy hours, and master classes provide opportunities for everyone to interact with their colleagues across the company. Everyone I have met virtually has been very helpful, welcoming, and enthusiastic. Our weekly town halls allow us to come together as a company and reconnect with people who you might not see everyday. I also really enjoy our taproom happy hours where I get to either chat with teammates about non-work related things or meet new people who aren’t on my direct team. It provides some context of who people are behind the screen which you might not get when you are just talking about a code review or a service.
Patience is a Virtue
I always need to remind myself when I am starting something new is that no one knows everything, and it takes time to understand and learn new things. Three months ago I was using a language I had never touched before. Thanks to a fine combination of StackOverflow and my coworkers' vigorous code reviews I find myself googling how do I do X in Golang less and less each day. I even managed to build an entirely new service in Go.
We are all learning new things as engineers, regardless if it is someone who just started or someone who has been at the company for years. Part of our job is adapting to the environment, learning new technologies, and solving the problem that is in front of us. In my own way I am adapting to being productive in a manner I had not experienced previously. I find myself making steady progress each day, and while I am still learning a ton, 6 months in I realize I now know a lot more than I knew on March 30th. I also foresee that with the help and support of all my colleagues at EverQuote, I’ll keep growing and learning new things as an EverQuote Goat!
To join our fast growing team, check out careers.everquote.com