How to Ramp Up Fast on a New Team and a New System
Source: Dev.to
I’m a software engineer with 15 years of experience across five companies and 20 + projects. Over time, I’ve found a repeatable way to ramp up quickly—one that leads to real contributions, not just surface‑level understanding.
In this article, I’ll share that approach.
How to Ramp Up Faster
There are three key habits that help you catch up to a new system and improve your performance as a new joiner.
1. Build a Mental Model

To understand a system, a mental model is essential. It’s your internal picture of how the system works as a whole.
It’s similar to an architecture diagram or a system‑design document, but it goes beyond a two‑dimensional sketch. A mental model is multi‑dimensional: it connects code, infrastructure, processes, people, and real‑world behavior into a single coherent picture.
To build and refine this model, you need to learn about all the factors that influence the system—its architecture, internal and external components, users, workflows, and stakeholders’ assumptions. That sounds like a lot—and it is.
Tip: Nobody understands an entire system instantly. At the beginning, your mental model is basically a blank page, and that’s still useful because it reflects reality: you don’t know yet. You can fill it in step by step, like an RPG map that gradually reveals itself as you explore.
The most important habit is being aware of what you currently understand and which areas are still unclear.
One helpful exercise is to draw an architecture diagram based on your current understanding. It’s a great way to validate and review your mental model. I learned this approach from a former colleague during his onboarding, and I saw how effective it was. (And honestly, in many teams, architecture diagrams are outdated—or don’t exist at all—so your version might help others too.)
Your mental model is never “finished”. Systems change, and real‑world processes outside the code affect how everything works, so you should keep updating it.
Finally, you can also build general mental models for common types of systems—such as web applications, mobile apps, full‑text search engines, data‑synchronization systems, and even business domains. Once you have a solid model for a specific system, you can generalize it, making it much easier to understand and work with similar systems in the future.
2. Identify Your “Unknowns”
As you build your mental model, you’ll start asking questions:
- What does this component do?
- What happens in this part of the system?
- Which services communicate with each other?
The moment you can ask these questions, an Unknown‑Unknown becomes a Known‑Unknown.
Unknown‑Unknown and Known‑Unknown are terms commonly used in project and risk management. You may also hear Known‑Known and Unknown‑Known. This framing is often referred to as the Rumsfeld Matrix.

When you join a new project, you’re surrounded by Unknown‑Unknowns. Your first job is to turn them into Known‑Unknowns. That happens the moment you catch yourself thinking, “This is new to me, and I don’t know what it is.”
A Known‑Unknown becomes a Known‑Known once you learn it—usually by asking someone or searching the documentation with the right keywords. This progression is a common path to acquiring new knowledge.
Building a mental model is one of the most effective tools for this, because it makes the unknowns visible.
3. Expose Your Ignorance (Working Out Loud!)
Once you have a list of Known‑Unknowns, make them explicit. Ask your teammates and stakeholders.
Some people hesitate at this stage. You might worry that your questions are too basic, that you’ll interrupt someone’s work, or that others will think you’re incompetent.
Don’t think that way.
You don’t need to hide the fact that you’re new. Pretending otherwise only slows you down.
If your team has a well‑maintained knowledge base, it’s often worth searching there first. But exposing your questions and concerns is still one of the fastest ways to learn.
In my experience, asking questions does more than clarify what you don’t know. It also creates opportunities to communicate with your teammates. As a new joiner, building relationships with teammates and other stakeholders is just as important as learning the system itself—and the new‑joiner period is bonus time for building those relationships.
When your teammates see you asking questions and learning quickly, they’ll notice your “unknowns” shrinking—and you’ll likely earn trust along the way.
Be honest about what you don’t know, and expose it. Ask questions to learn faster and to build strong relationships with the people around you.
This approach is often called “Working Out Loud.”
The 5 Elements of Working Out Loud – John Stepper

Source: Working Out Loud – J. Stepper’s Method to Raise Cooperation and Relationship
Make your questions, concerns, current tasks, and progress visible without hesitation. “Working Out Loud” remains highly effective even after you’ve ramped up—it helps teams collaborate better and move faster.
Conclusion
If you practice these habits—building a mental model, identifying unknowns, and exposing your ignorance—you’ll understand new systems faster and ramp up sooner to make meaningful contributions.
You can also support other new joiners by applying the same approach from their perspective.
In the near future, AI will answer many of our questions. But software engineering will still require our own mental models and strong relationships with stakeholders. As long as we’re doing engineering work, this approach will continue to matter.
Happy engineering!