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…