As a software engineer consultant, it is not uncommon to change assignments frequently, typically every 1-2 years or so. With each new assignment comes the introduction to a new development team, a different codebase, new pipelines, and varied ways of working. The sheer amount of new and unfamiliar aspects can be overwhelming initially, leading to stress and uncertainty. However, there are several simple actions you can take to ease the onboarding process and make your first few months smoother.

In this blog post, I will share a set of practical tips and tricks that have proven valuable in my own experiences when joining new development teams. These strategies will help you navigate the challenges and make a positive impact from the start. By implementing these suggestions, you can streamline your onboarding process and set a strong foundation for success in your new assignment.

1. Embrace the Onboarding Process

One of the most important tips to keep in mind when joining a new development team is to understand that the onboarding process will take time. It’s crucial to be prepared for this reality and be okay with it. Onboarding involves various tasks such as setting up your computer, gaining access to necessary resources, configuring your development environment, and getting acquainted with your teammates and their roles. It’s essential to acknowledge that these activities can take longer than anticipated, and you may not have highly productive days right from the beginning.

2. Set an Initial Personal Goal

When joining a new development team as a developer, it’s important to establish an initial personal goal within the first 1-2 weeks. This goal should revolve around pushing a commit, even if it involves a simple change like modifying the text of a button. The specific nature of the change is not as significant as the act of making a successful commit.

Achieving this goal serves several purposes. Firstly, it demonstrates that you have gained access to the source code repository, indicating that the necessary foundation is in place Secondly, it confirms that you can build and test the software locally, ensuring that you have a functional development environment. Thirdly, it exposes you to the deployment and release workflows employed by the team, giving you a glimpse into their development process. Lastly, it verifies that you have the appropriate access rights required to contribute effectively.

By setting and accomplishing this initial personal goal, you establish your presence as an active and capable team member. It showcases your willingness to contribute and demonstrates your ability to navigate the essential aspects of the team’s development workflow.

light-bulb-g1ee2a7d8b_1280

3. Extend Your Visibility Beyond the Team

In addition to establishing your presence within your new development team, it’s crucial to make yourself visible to other teams and stakeholders who collaborate with your team. Take the initiative to get to know them and don’t hesitate to take on tasks that involve setting up integrations with their systems or interacting with them directly. This proactive approach will provide you with a broader understanding of your team’s overall delivery and foster valuable insights from an external perspective.

Engaging with other teams and stakeholders serves multiple purposes. Firstly, it enhances your learning by exposing you to different aspects of the project and its stakeholders. By gaining insight into their requirements and expectations, you can better align your own work and contribute more effectively to the overall project goals. Secondly, it reinforces your sense of importance and contribution when individuals outside your team reach out to you for support or guidance. This recognition and collaboration can be highly motivating, boosting your enthusiasm and dedication to the project.

By actively seeking opportunities to connect with other teams and stakeholders, you expand your network, gain valuable insights, and contribute to a more holistic understanding of the project. This broader visibility not only strengthens your professional growth but also facilitates cross-team collaboration and fosters a sense of camaraderie across the organization.

4. Observe and Learn by Peeking Over Shoulders

Gaining a solid understanding of the current state of the team is essential when joining a new team. You can achieve this by observing your team members and getting a sense of their progress, ongoing tasks, and areas of focus.

I highly recommend taking the opportunity to peek over your colleagues’ shoulders. Set up notifications for repository activity and take a quick look at the changes whenever someone pushes to the repositories. By doing this, you will witness firsthand how the team writes code, conducts testing, and crafts commit messages. While you may not fully comprehend all the logic at first, each observation adds another layer of familiarity. The more exposure you have, the better you’ll understand similar changes in the future. Additionally, it will be easier for you to follow discussions during daily stand-up and planning meetings.

By actively observing your team’s activities, you immerse yourself in their development processes and gain valuable context. You’ll develop a deeper understanding of the team’s workflow, coding conventions, and collaborative practices. This awareness not only enhances your own learning but also enables you to contribute more effectively and engage in meaningful discussions with your team members. Over time, your increased comprehension will facilitate smoother communication and collaboration within the team.