Seeking a Junior Position Despite Senior-Level Knowledge
Context
I'm graduating with my Computer Engineering degree in late 2025 and receiving my title in early March 2026. Over the past five years, I've built a strong technical foundation through intensive self-study and independent projects. I understand advanced concepts like system design, database optimization, TypeScript, testing, and full-stack architecture. Some people are suggesting I should apply for mid-level or even senior positions based on my technical knowledge. However, I've never worked in a real company environment. All my experience has been from university projects and small independent work. I don't know what it's like to work on a large codebase with a team, follow established engineering practices, participate in code reviews, or contribute to a product with real users and business constraints.
Decision
Apply for junior software engineer positions despite having senior-level technical knowledge, because I lack professional team experience.
Alternatives Considered
Apply for mid-level positions
- Higher salary
- Match my technical knowledge
- Faster career progression
- Might be expected to lead or mentor
- Less patience for learning company practices
- Could be overwhelming without team experience
- Might not get hired due to lack of professional experience
Apply for senior positions
- Highest salary
- Recognition of technical knowledge
- Unrealistic without professional experience
- Would be expected to lead and make architectural decisions
- Wouldn't get the mentorship I need
Continue independent work
- Full autonomy
- Flexible schedule
- Miss out on team learning
- No mentorship from experienced engineers
- Limited exposure to large-scale systems
Reasoning
I'm honest with myself about what I know and what I don't know. I have strong technical knowledge, but I've never worked in a professional team environment. I don't know what it's like to work on a codebase with hundreds of thousands of lines of code, collaborate with multiple engineers, follow a company's engineering practices, or deal with real business constraints and deadlines. I want to learn from experienced engineers. I want mentorship. I want to understand how professional software development works. A junior position gives me room to learn these things without the pressure of being expected to lead or mentor others. I'd rather be honest about my experience level and grow within a company than oversell myself and struggle. I'm confident in my technical skills, but I'm humble about my lack of professional experience.
The Situation
I’m graduating in late 2025 and receiving my Computer Engineering title in early March 2026.
Over the past five years, I’ve:
- Learned programming intensively through self-study
- Built dozens of projects (most deleted after learning from them)
- Studied advanced topics like system design, database optimization, TypeScript, testing
- Completed my degree while learning far beyond the curriculum
Technically, I understand concepts that many mid-level or even senior engineers work with.
The Question
Some people are suggesting I should apply for mid-level or senior positions based on my technical knowledge.
But I have to be honest with myself: what do I actually know, and what don’t I know?
What I Know
I have strong technical knowledge:
- Full-stack development (React, TypeScript, Node.js, databases)
- System design principles
- Database modeling and optimization
- Testing strategies
- API design
- Problem-solving and debugging
I can build complete applications from scratch. I understand how systems work. I can learn new technologies quickly.
What I Don’t Know
I’ve never worked in a professional team environment:
- I’ve never worked on a large codebase with hundreds of thousands of lines of code
- I’ve never collaborated with multiple engineers on the same project
- I’ve never participated in code reviews (giving or receiving)
- I’ve never followed a company’s established engineering practices and workflows
- I’ve never dealt with real business constraints, deadlines, and stakeholder management
- I’ve never worked with CI/CD pipelines, monitoring, and production systems at scale
- I’ve never been mentored by senior engineers
All my experience is from university projects and small independent work.
The Decision
I’m deciding to apply for junior positions despite my technical knowledge.
Here’s why:
I want mentorship: I want to learn from experienced engineers who can show me how professional development works.
I want to learn team collaboration: Working with a team is a skill I haven’t developed.
I want room to grow: A junior position gives me space to learn without the pressure of being expected to lead or mentor others.
I want to be honest: I’d rather be honest about my experience level than oversell myself and struggle.
I’m confident but humble: I’m confident in my technical skills, but I’m humble about what I don’t know.
The Trade-Offs
This decision means:
- Lower starting salary than I might get with a mid-level position
- Potentially working with engineers who have less technical knowledge than me in some areas
- Starting at the “bottom” despite years of learning
But I’m okay with these trade-offs because:
- I’ll learn faster in a junior role with good mentorship
- I can prove myself and advance quickly
- I’ll build a strong foundation for long-term career growth
What I’m Looking For
I’m seeking a junior position where I can:
- Work with experienced engineers who can mentor me
- Contribute to real products with real users
- Learn professional development practices
- Collaborate with a team
- Apply my technical knowledge to solve real business problems
- Grow within the company as I gain experience
The Long-Term View
I’m not worried about starting as a junior engineer.
I’m confident that with my technical foundation and willingness to learn, I’ll advance quickly.
But I want to do it right: learn the professional skills I’m missing, build relationships with experienced engineers, and grow sustainably.
Starting as a junior is the honest and smart choice for where I am in my career.
Along the way, I use AI to polish communication, rehearse technical interviews, and simulate code reviews, which helps me practice more efficiently.