This blog post is a reflection on my journey joining and onboarding at ComplyAdvantage as a Junior Software Engineer. ComplyAdvantage builds distributed software capable of handling massive volumes of data in real-time, using AI to combat financial crime globally. While this post is far from a how-to manual, I want to share what has worked and what positively impacted my experience onboarding here, as well as some of my biggest challenges.
This is the first of a two-part series. In this blogpost, I’ll be focusing on my first steps at ComplyAdvantage. In the next blogpost, I’ll be focusing on how I’ve integrated AI in my workspace.
First Week
When you join ComplyAdvantage, you enter a team of 7-8 engineers responsible for a domain within the ecosystem. This is an exciting transition! To ease the process of learning a new domain and codebase ComplyAdvantage assigns you a Buddy that is responsible for guiding and showing you the ropes during your onboarding.
Having a dedicated Buddy means you have someone you can call for help to get unstuck quicker and build momentum. However, this is only the first step. As you settle in, you will begin to understand the unique roles and specialisations of each of your colleagues. By branching out to different team members for help and collaboration, you’ll gain exposure to diverse perspectives and the various “ways of working” that make your team successful.
Communication as a Tool
Collaborating with your team is essential for growth and productivity, but it is only as effective as your communication skills allow. Whether you are asking for help, providing a status update, or suggesting a technical change, vague statements make it difficult for your colleagues to provide meaningful input. To ensure every discussion is productive and high-value, keep these points in mind:
- Share context: Explain the “what” and the “why”. Clearly define what you are trying to achieve, the steps you’ve taken so far, and exactly where the current roadblock or decision point lies.
- Be technical: Use precise terminology regarding the stack or architecture to minimise ambiguity. Refer to specific services, endpoints, or Merge Requests rather than speaking in generalities.
- Be data-driven: Include links to documentation, specific code blocks, and logs. If possible provide the necessary steps to reproduce a specific output or error so your colleagues can see exactly what you see.
Before sending, give your message a final read-through to catch missing details. Try to anticipate the follow-up questions your colleagues might have; by addressing them upfront, you reduce unnecessary back-and-forth and speed up the resolution.
Knowledge is power. Understanding what each team does and which services they manage at a high level provides the context you need to navigate the wider organisation. It ensures that when a cross-team issue arises, or you have a niche question, you know exactly who to approach to find the answer.
Making your Workspace your Own
Joining as a Softare Engineer means stepping into a complex modern software ecosystem that can either be or not be familiar. At ComplyAdvantage, we use a robust but also extensive set of tools to manage the architecture effectively.
| Area | Tools |
|---|---|
| Development Cycle | Jira, Confluence |
| Data & Messaging Layer | Yugabyte, Kafka |
| Infrastructure | Argo, Harbor |
| Observability | Grafana |
During work you might find yourself doing repetitive: searching for the same Confluence docs multiple times per day, losing track of dozens of browser tabs, or running repetitive sequences of commands.
These minor frictions might seem trivial and out of your control, but they quickly add up. To maximize my efficiency, I not only adapted to my ecosystem but changed it. By creating customized tools and processes that fit the bottlenecks that I was hitting during my day-to-day work.
Streamline your Work
Start with the workspace itself. One is easy win is to organize your Google Chrome with Groups & Bookmarks: gather the links you open in your day to day into a named group and they are one click away.
The same idea applies to the terminal by cutting the number of commands that a routine task takes. Mine was a friction when pushing small fixes to merge requests after a review:
git reset HEAD~1 # undo the last commit
git add . # stage the new changes
git commit --amend --no-edit # keep the original commit message
git push -f origin <current-branch> # update the remote branch
Four commands, typed from memory, several times a day. That’s slow and easy to get one of them wrong in a way that costs you work.
In macOS you can use aliases to give a short, memorable name to a longer command, so I collapsed the whole chain into a single git-retry. It took a minute to set up, and alongside the rest of my small optimisations it has saved me a meaningful amount of time.
Working on communication hygiene when talking to your colleagues, and investing time in improving the efficiency of your workspace to boost your productivity are habits that will benefit your career at any stage. In my next post, I’ll go deeper into how I automate my workspace and create new tools using AI.