Completing tasks means doing what the ticket says. Thinking like an engineer means understanding why the ticket exists, noticing what it misses, weighing trade-offs, and caring whether the result actually solved the problem. Start by asking better questions before you code and checking outcomes after you ship.
What people tell me
I do the tickets I am given and I finish them on time, but my manager or senior engineers say they want me to take more ownership or think more like an engineer. I am not sure what that means in practice. I feel like I am doing my job, but I am not growing, and I want to know how to change the way I approach work.
A composite of the messages behind this question, with personal details left out.
Key takeaways
- Before coding, understand the problem behind the task: who it is for and how success will be measured.
- Look for what the ticket does not say: edge cases, failure modes, performance, security and impact on other parts of the system.
- Offer options with trade-offs instead of a single silent implementation.
- After shipping, check whether it worked. The job ends when the problem is solved, not when the ticket closes.
- Notice problems nobody assigned and raise them with a suggested fix.
Task mode versus engineer mode
When managers say "think like an engineer" or "take more ownership", they are usually describing a difference like this:
| Task mode | Engineer mode |
|---|---|
| Reads the ticket and starts coding | Asks what problem the ticket solves |
| Builds exactly what was written | Notices gaps and edge cases, and raises them |
| Picks the first approach that works | Considers two or three approaches and their costs |
| Considers the job done when the PR merges | Checks that users actually got what they needed |
| Waits for the next ticket | Notices problems nobody assigned |
Nothing in the right column requires more technical knowledge. It requires a different set of questions.
Before you code: understand the why
For every task, try to answer these before starting:
- Who is this for? A customer, an internal team, another service?
- What problem does it solve? Not what feature it adds, but what pain it removes.
- How will we know it worked? Fewer support tickets, faster page load, a metric going up?
- What is out of scope? So you do not overbuild.
If the ticket does not say, ask briefly:
Before I start on the export feature, is the main goal to help finance with month-end reports, or for customers to download their own data? It changes the format and the permissions.
That one question often prevents a week of the wrong work, and it is exactly what people mean by engineering judgement.
While you build: look for what is missing
Tickets describe the happy path. Engineers think about everything else:
- What happens with empty, huge or malformed input?
- What if the external service is slow or down?
- Who should and should not be allowed to do this?
- Will this be slow when there are a million rows instead of a hundred?
- Does it affect any other feature, report or integration?
- How would we notice if it broke in production?
You do not need to solve all of these yourself. Raising them is already valuable. "I noticed the import has no limit on file size. Should I add one, or is that handled elsewhere?"
Offer options, not just an implementation
When a task has more than one reasonable approach, share the choice rather than silently picking one:
I see two ways to do this. We can compute totals on every request, which is simple but slower for large accounts, or store them and update on each change, which is faster but adds complexity. For our current data, I would start with the first and add caching if needed. Does that match what you expect?
This shows you understand trade-offs, invites input early, and makes the final decision a shared one.
After you ship: check the outcome
Most people stop when the pull request merges. Engineers follow through:
- Check logs or metrics after release to confirm it is working.
- Ask the person who requested it whether it solved their problem.
- Note anything you would do differently, and anything left to clean up.
This habit, more than any technical skill, is what makes managers comfortable giving you bigger work.
Notice the unassigned problems
Every team has problems nobody owns: a flaky test, a slow build, missing documentation, a confusing error message users keep reporting. Engineers notice these and raise them with a suggestion:
Our build takes twelve minutes and most of it is installing dependencies. I think caching them in CI could cut it in half. Would it be all right if I spent a few hours trying it next week?
You are not overstepping by suggesting. You are showing that you care about the system, not just your ticket.
A two-week experiment
Try this on your next few tasks:
- Write three lines before coding: the problem, who it is for, how success is measured.
- List at least three edge cases or risks and mention them in your pull request.
- Include one sentence on the alternative you considered and why you chose this approach.
- Check the result a day after release and share what you saw.
- Raise one unassigned problem with a suggested fix.
After two weeks, ask your manager whether they have noticed a difference. You will probably get a very specific answer, which is feedback you can use.
If you are still stuck
Read The Habits That Make an Engineer Worth Routing Work Through and Twelve Moves That Take You From Mid Level to Senior. 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
- Twelve Moves That Take You From Mid Level to SeniorGetting to mid level is mostly time and repetition, and then the path stops being clear. The thing that got you here, doing assigned work well, is not what the next level rewards, and nobody says so directly, so capable engineers respond by doing more of what already worked. Twelve heuristics for the part that is not obvious.
- 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.