People judge how you ask, not whether you ask. Time-box your own attempt, then ask with context: what you are trying to do, what you tried, where exactly you are stuck, and a specific question. Asking well and at the right time looks competent. Staying stuck silently for days is what looks bad.
What people tell me
I recently started my first job or internship. I often get stuck, on the codebase, a tool, or a task I do not fully understand. I hesitate to ask because everyone seems busy and much more experienced, and I worry that if I ask too many questions they will think I am not good enough. So I spend hours or even days trying to figure it out alone, and sometimes I end up late or going in the wrong direction.
A composite of the messages behind this question, with personal details left out.
Key takeaways
- Being stuck silently for days is far more damaging than a clear question.
- Time-box your own attempt: often 30 to 90 minutes for a new joiner, then ask.
- Ask with context: the goal, what you tried, the exact point you are stuck, and a specific question.
- Batch small questions, and write down answers so you never ask the same thing twice.
- Seniors expect juniors to ask. What they notice is whether you learn from the answers.
What actually makes people think you are struggling
When I think about juniors who worried their managers, it was almost never because they asked too many questions. It was because they went quiet, disappeared into a task for three days, and came back with something that went in the wrong direction. The question they did not ask would have taken someone five minutes to answer.
Seniors expect new people to need help. It is part of their job to give it. What they judge is how you ask and whether you learn.
Set a time box
Before you start a task, decide how long you will try alone before asking. For someone new, something between thirty and ninety minutes is usually right, depending on the task. The time box does two things: it makes sure you genuinely try first, and it stops you sinking a whole day into something someone else could unblock in minutes.
When the time box ends, you are not failing. You are following the plan.
Ask with context
The difference between a question that looks lost and one that looks competent is almost entirely context. Compare:
"The tests are not working. Can you help?"
"I am adding the discount field to the order API. When I run the order tests locally, three fail with a database connection error. I checked the environment file and ran the migration script, and the app itself connects fine. Is there a separate test database I need to set up?"
The second message shows you tried, narrows the problem, and makes it quick to answer. Use this structure:
- Goal. What you are trying to do.
- What you tried. Two or three things, briefly.
- Where exactly you are stuck. Error message, file, behaviour.
- A specific question. Something they can answer.
Very often, writing this out solves the problem before you send it. That is a bonus, not a waste.
Choose the right channel and person
| Type of question | Where to ask |
|---|---|
| Quick factual ("where is the config for X?") | Team channel, so others benefit |
| Stuck on your task | Your onboarding buddy or the person who assigned it |
| Understanding a system | Ask for 20 minutes with someone who knows it |
| Something sensitive or personal | Your manager, privately |
Asking in a public team channel can feel scary, but it often gets faster answers and helps the next new person too.
Respect people's time
- Batch small questions and ask several at once, rather than interrupting five times.
- Ask whether now is a good time: "Do you have ten minutes today to look at something with me?"
- Share your screen or a link rather than describing code from memory.
- Write the answer down. Keep a personal notes file of how things work. Never ask the same question twice.
Close the loop
After someone helps you, tell them how it turned out:
"Thanks, that was it. The test database needed seeding. I have added a line to the README so the next person does not hit it."
This small habit makes people glad they helped you, and adding the fix to documentation turns your confusion into value for the team.
What seniors actually think
When a new engineer asks a clear question after a genuine attempt, most seniors think: this person is thoughtful and respects my time. When they learn from it and do not need the same help again, they think: this person is growing fast. That is the reputation you want, and it comes from asking well, not from never asking.
A worked example in the team channel
Here is a composite of a real first-week question, before and after:
Before:
"Hi, sorry to bother everyone, I am having some issues with the setup, can someone help?"
After:
"Setting up the admin app locally. Running the start command fails with 'module not found: shared-config'. I ran the install in the root and in the app folder, and checked the README. Is there a separate step to build the shared packages first?"
The first message will probably get a reply asking what the issue is, which costs everyone a round trip. The second can be answered in one line, and it tells the team you read the README and tried the obvious fixes.
A self-check before you hit send
- Have I stayed within my time box, or have I gone well past it?
- Did I include the exact error or behaviour, not a summary of it?
- Have I said what I already tried?
- Is there one clear question at the end?
- Could the answer already be in the README, the wiki or the channel history? A thirty-second search first.
When you are stuck on understanding, not an error
Sometimes the problem is not an error message but not understanding what the task even means. That is still worth asking about early:
"Before I start on the refund ticket, I want to check my understanding. I think it means X and Y, but I am not sure whether partial refunds are in scope. Is that right?"
Checking understanding before starting is one of the clearest signs of a thoughtful engineer. If the problem is that the requirements themselves are vague, and you are also worried about how to disagree with what you are told, see what to do when you disagree with a senior engineer.
If you are still stuck
Read What actually changes in your first two years as an engineer and The habits that make an engineer worth routing work through. If you want someone to look at your specific situation, join Sefism and, as a member, book a 1:1 session.
Was this answer helpful?
Read next
- What Actually Changes in Your First Two Years as an EngineerInterviews test the small part of the job that is easy to test, and the rest is learned on site. Reading code as the main skill, how to ask a question that costs nothing, why small shipped changes beat large ones in progress, using code review as the fastest teaching you will get, and the four things that actually get people promoted, three of which are not about writing code.
- The Habits That Make an Engineer Worth Routing Work ThroughEvery team has one or two engineers other people route work through, and what they have in common is not raw technical strength. It is that when something is given to them it comes back, and when it will not, you hear about it early. Fifteen habits that build that reputation, none of which require a title or permission.
Your situation is not quite this one?
Members get written answers to their own questions, a roadmap built for them and feedback on their projects. Early access is open to X and Instagram followers and university students. Prefer to talk? A free call works too.