early career remote work
in the summer of 2019, I started a job as a software engineer at one of the first ML legal startups. it was my first ever in-person role - on my left was an insanely smart lawyer, and on my right was a very senior engineer. they were cracked, and were willing to answer all of my stupid questions in everything legal + software.
through pure proximity, I was able to understand and question their ideas, projects, and past experiences. I was given the opportunity to see the best of the best in action, and when they noticed me doing something wrong or too slowly, I was given mentorship.
some examples:
- I ended up taking down prod in my first week, and the engineer sat me down and walked me through git, CI/CD, and helped me write a test case to prevent the same issue from happening again.
- I was bad at using the terminal & wasn't super familiar with my IDE. the engineer noticed that and would gave me tons of practical tips like keyboard shortcuts, using a debugger, and automated testing
after having worked in many remote engineering teams, I often think about these moments and wonder what would have happened if I didn't have an in-person job. the collaboration just isn't the same when remote, pair programming in-person is so much better for learning it doesn't even compare.
human beings are mimetic creatures, remote work doesn't foster an environment for that. I've worked at 7 remote companies now (6 startups), and I think if I were to restart my career, I would place a heavier emphasis on being in the office around cracked people [1][2]
iron sharpens iron, but it's much slower asynchronously.
[1] there was also covid, so I didn't have much of a choice.
[2] what you do and who you do it with are more important metrics than whether a job is remote or not. you should join a team that is in the right space, and is the best at what they do. whether or not they are remote is mostly a nuance. anyone with agency can make it work either way.