Three years ago, I started learning programming. Today, I’m reflecting on this journey and looking ahead.
The Journey So Far
Year 1: Learned fundamentals JavaScript, HTML, CSS, basic full-stack development.
Year 2: Deepened knowledge React, Node.js, databases, TypeScript, testing.
Year 3: Advanced concepts system design, performance, advanced patterns, professional tools.
Technical Skills Now
I’m comfortable with:
- Frontend: React, Next.js, TypeScript, Tailwind
- Backend: Node.js, Express, REST APIs, WebSockets
- Databases: MongoDB, PostgreSQL, database design
- Tools: Git, Docker, testing, deployment
- Concepts: Async programming, state management, authentication, API design
What’s Changed
Confidence: I can build complete applications independently.
Learning speed: I pick up new technologies much faster now.
Problem-solving: I approach problems systematically.
Code quality: I write cleaner, more maintainable code.
What Hasn’t Changed
Always learning: There’s always more to learn.
Imposter syndrome: Still happens, but I manage it better.
Debugging: Still challenging, but I’m better at it.
Biggest Accomplishments
- Built dozens of projects
- Learned multiple technologies deeply
- Developed strong fundamentals
- Maintained consistency for three years
- Completed my degree (graduating soon!)
Current Focus
I’m working on:
- Preparing for job applications
- Building portfolio projects
- Contributing to open source
- Deepening system design knowledge
- Practicing interview questions
What I’m Realizing
Senior-level knowledge, junior-level experience: I understand advanced concepts but lack professional team experience.
That’s okay: I’m seeking junior positions to learn from experienced engineers.
The journey continues: Three years in, I’m still growing.
Looking Ahead
Short term (next 6 months):
- Graduate and receive my degree
- Apply for junior positions
- Keep building and learning
- Start contributing to open source
Long term:
- Work in a professional team
- Learn from senior engineers
- Build production systems
- Grow into a mid-level engineer
Advice to Beginners
Be consistent: Daily practice beats occasional marathons.
Build projects: Theory is important, but building teaches more.
Learn fundamentals deeply: Frameworks change, fundamentals last.
Don’t compare: Everyone’s journey is different.
Keep going: Three years goes faster than you think.
Gratitude
Thank you to:
- The creators who make free content
- The communities that answer questions
- Everyone who has helped me learn
Final Thoughts
Three years ago, I couldn’t write a line of code. Today, I can build full-stack applications.
I’m not done learning I’m just getting started.
The journey continues, and I’m excited for what’s next.