If you are a software developer and you have been working remotely during this pandemic, it might come as no surprise that due to recent studies over 80% of software engineers want to continue working at least partly remote after the pandemic. While this opens up new possibilities in the way we live and work, it comes with certain difficulties. Not only do companies need to learn how to manage their remote workforce, but also employees need to find new ways to be successful at their job while wearing no pants.
The most difficult part of working remotely is joining a new company. Companies themselves invest a lot of time and budget to work and improve on their onboarding process. If they manage to onboard their employees quickly, they will be more useful to them and their employees will be happy. But how can we as software engineers make the most of this phase?
As software engineers, we need to understand the problem we have to solve. Making sure we get this right is essential for our personal success. Moreover, in order to make a good job, we need to understand company dynamics, communication structures and find a way to socialize when there is no way to randomly meet people in the hallway.
When you start out at a new job, the one thing you want to get right is to understand what your job actually is. Most of the times, it varies quite a lot from what the job description says. Start out and figure out what the company mission is. From there, go a step deeper and figure out what your team or department is responsible for. Ultimately, make sure you know how you fit into the puzzle and why you were hired.
Reading through the company wiki is a good start to get a broader sense of what is out there, what topics are discussed and also how well people document. Aim for broad knowledge gathering in the beginning and focus on the details later. Try to understand as quickly as possible how the development process from a commit on a feature branch to the actual production deployment works, so you yourself can be productive quickly.
Most of us are aware of developer bias for certain technologies, patterns and frameworks. However, we tend to fall into the same trap of believing our way of writing code is the way it should be done again and again. Even if you have years of experience, when you join a new team and work on a new code base stay humble and be patient. It is easy to criticize a project that evolved over years. Some things won't make sense on the first view, but on the second. Most of the times, there were good reasons why a team chose to use technology X or design a system a certain way. Even if these reasons are not viable anymore at this current point in time, try to understand why choices were made in the past. Your coworkers will fell much more respected.
Especially in the beginning of a new job, you will have a lot of questions and that is completely normal. While undisturbed, focused time is sacred to developers, you will need to ask questions to your co-workers at some point. Try to get an answer by yourself by looking at the wiki or other internal guides and documentation, but don't hesitate and waste too much time. People are usually friendly and helpful and getting quick answers will prevent bigger misunderstandings in the future.
Getting in touch with co-workers outside of your team is difficult. In a remote environment, you cannot randomly meet people in the hallway or kitchen. You need to get out of your comfort zone. Ask your employer if you could join one of the other teams to get to know them and their way of work. Their might even be something like an exchange program between teams in place. Look out for projects and opportunities to work together with other teams. Maybe you have done something in the past or experience in a topic another team is working on? Share your knowledge. Your coworkers will appreciate it and you will boost your impact.
While this also depends on your manager, making use of your personal 1:1s can help immensely with your remote onboarding experience as a software engineer. When you join a new company, you certainly have some expectations and goals in mind. Make the effort and write them down. Share them with your manager and look together if they align with the goals of your manager and the goals of the company. Try to learn what the goals of your manager are to align them with your goals. This way, you guarantee to work in the same direction and both of you share the same expectations.
After all, we are all in the same boat. Do not forget that if you fit into the job quickly, this also a success for your manager and team. Be open with your expectations and your concerns and raise any issues quickly and your coworkers will most likely repay you.