A few months ago, I thought software engineering was mostly about building features that worked.
If the app ran, the API responded, and the UI looked decent — I considered the job done.
Then I started contributing to open source.
And honestly, it completely changed the way I look at software development.
Suddenly, I realized how much tutorials usually skip.
Not just coding.
But things like:
- understanding someone else’s code,
- writing maintainable features,
- reviewing pull requests,
- handling feedback,
- debugging strange edge cases,
- and building software with other people.
“Working” Code Isn’t Always Good Code
One of the biggest mindset shifts for me was realizing that real engineering is full of tradeoffs.
Earlier, I used to think:
“If it works, it’s done.”
Now I catch myself thinking:
“Will this still make sense 6 months later?”
Things I barely paid attention to before suddenly started becoming important:
- readability
- architecture
- API design
- state management
- scalability
- maintainability
- collaboration
- PR review quality
And the more I learned, the more I realized software engineering is much bigger than just writing code.
Open Source Taught Me More Than Tutorials
Reading other people’s code teaches you things tutorials usually can’t.
You start noticing:
- why naming matters,
- why maintainers reject “working” code,
- why folder structures matter,
- and why small engineering decisions become important at scale.
Even a small PR review comment can sometimes teach more than an entire tutorial video.
That honestly surprised me.
What I’m Learning Right Now
Currently, I’m exploring:
- Angular
- React
- NestJS
- TypeScript
- RxJS
- Redis
- backend systems
- system design
- OSS workflows
Recently, being selected as a GSoC contributor pushed me even deeper into understanding how collaborative software development actually works in real projects.
And I still feel like I’m only scratching the surface.
What I’ll Write About Here
I want this blog to become a place where I document:
- lessons from open source,
- frontend/backend engineering,
- debugging experiences,
- architecture ideas,
- developer tooling,
- PR review insights,
- and mistakes I make while building projects.
Not as an expert.
Just as someone genuinely trying to understand how real software gets built.
Still learning.
Still curious.
Still occasionally overthinking architecture decisions.
Let’s Connect
If you're also learning, building, or exploring software engineering beyond tutorials, feel free to connect.
- LinkedIn: TarunyaKesharwani
- X/Twitter: TarunyaKesh
- GitHub: TarunyaProgrammer

Top comments (1)
Its Just my first intro blog, excited to have more fun!!