The Beginning
Joining FPT Software as a fresh graduate was both exciting and overwhelming. The codebase was massive, the processes were formal, and imposter syndrome hit hard. Two years later, I look back at the lessons that mattered most.
1. Read Code More Than You Write It
The most valuable skill a junior developer can develop is reading code. When I joined, I spent my first weeks reading existing code — understanding patterns, naming conventions, and architectural decisions. This accelerated my onboarding more than any tutorial.
2. Master Git Before Anything Else
Knowing git beyond add, commit, push saved me countless times. Interactive rebase, cherry-pick, and bisect are tools every developer should know:
# Find the commit that introduced a bug
git bisect start
git bisect bad HEAD
git bisect good v1.0.0
# Squash last 3 commits for a clean PR
git rebase -i HEAD~3
3. Write Tests Early
I initially saw tests as extra work. Then I had a bug in production that a unit test would have caught. Now I write tests for every critical path — not 100% coverage, but meaningful tests that give me confidence to refactor.
4. Ask Better Questions
Early on, I'd ask "this doesn't work, help?" Now I ask "I tried X and Y, I think the issue is Z because of this log output — does that align with your understanding?" This saves everyone's time and accelerates your own problem-solving.
5. Communicate in Written Form
In a large team, clear written communication (PRs, tickets, Slack messages) is as important as coding ability. A well-written PR description with context, screenshots, and test instructions is a gift to your reviewers.
Looking Ahead
The transition from junior to mid-level isn't about knowing more frameworks — it's about solving problems more independently, communicating better, and helping the people around you grow. That's what I'm focused on in year three.