Back to Engineering Articles/What I Did as a Junior Developer — The Fundamentals That Shaped Everything

What I Did as a Junior Developer — The Fundamentals That Shaped Everything

No production experience. GitHub full of tutorial repos. One asset: the ability to learn fast and zero fear of breaking things. This is what I actually built as a junior engineer — WordPress sites, a PHP university system, and the hardcoded credentials mistake that taught me security forever.

Faisal AffanFaisal Affan
6/13/2026
What I Did as a Junior Developer — The Fundamentals That Shaped Everything

What I Did as a Junior Developer

"Everybody starts somewhere. I started with FTP and hardcoded passwords." — Me

The junior years are about one thing: proving you can learn. Nobody expects production experience. Nobody expects architectural wisdom. They're betting on your trajectory — and that trajectory is determined by how fast you absorb fundamentals and how honestly you handle mistakes.


Where I Started

Year: 2017-2018 Stack: PHP, MySQL, HTML/CSS, Bootstrap, WordPress Deployment method: FTP to shared hosting (I had no idea what CI/CD was) Version control: Started Git at month 8. Lost 3 projects before that.

The Junior Proposition

What I was selling: Fundamental skills + willingness to learn. What companies were buying: Someone who won't be a net negative to the team. My edge: I could figure things out without asking the same question twice.


Project 1: University Information System

A CRUD application for managing student data, course registrations, and grades at a local campus.

  • Stack: PHP, MySQL, Bootstrap 3
  • Features: Student enrollment, course assignment, grade entry, basic reporting
  • Deployment: Shared hosting via cPanel + FileZilla FTP

What I learned:

  • SQL joins are not optional — my first version did 47 separate queries on the grade report page
  • Form validation must happen on BOTH client and server — I learned this when someone submitted a negative grade via Postman
  • Database normalization exists for a reason — my students table had 40 columns including "father_occupation" and "mother_maiden_name" with no separation

The mistake that changed everything:

// This was in my config.php — pushed to GitHub
$db_host = "localhost";
$db_user = "root";
$db_password = "admin123";
$db_name = "university_db";

Someone found my public repo. They didn't do anything malicious — they sent me an email saying "Hey, you might want to fix this." That stranger's kindness taught me more about security than any tutorial ever could.


Project 2-6: Small Business Websites

I built 5-6 WordPress + WooCommerce sites for local businesses — a bakery, a printing shop, a small clothing brand, a travel agent, and a restaurant.

What I actually did:

  • Installed WordPress, configured themes, customized CSS
  • Set up WooCommerce with payment gateways (Midtrans, bank transfer)
  • Configured DNS, email, SSL certificates
  • Basic SEO: meta tags, Google My Business, sitemap submission
  • Taught owners how to update their own content

What I learned:

  • Clients don't care about your tech stack — they care that their site works and brings customers
  • "Can you also add..." is the most expensive phrase in freelancing — scope creep is real
  • Backups are not optional — one hosting company went bankrupt and took a client's entire site with them. I had no backup. Never again.

My Junior Portfolio Scorecard

Portfolio ItemDid I Do It?Notes
3-5 projects1 university system + 5 business sites
Active GitHubStarted Git at month 8 — major regret
1 live deployed projectMultiple WordPress sites live
Code readability⚠️Functional but not clean. God classes everywhere.
README documentationDidn't write a single README. Future me suffered.
Commit message quality"update", "fix", "final", "final2", "final_final"

What I'd Do Differently

Start Git on Day One. Not month 8. Not "when I understand it better."

Day one. git init before npm init. The 3 projects I lost to hosting failures would still exist.

Deploy Something Personal — Immediately. The confidence boost of seeing

your code at a real URL is worth 100 localhost projects. Use Vercel, Netlify, GitHub Pages — anything free. Just get it live.

Write READMEs Even for Solo Projects. Your future self is the primary

audience. Six months later, you won't remember why you structured the database that way or what processData_v2() actually does.

Learn One Thing Deeply Before Moving On. I jumped from PHP to JavaScript

to Python to Java in 18 months. Surface-level knowledge of 4 languages is worth less than deep knowledge of 1.


Advice for Current Juniors

  • Your first job doesn't define your career. I started with WordPress freelancing. Three years later I was designing IoT architectures for mining companies.
  • The developer who asks questions is more valuable than the developer who pretends to know. Silence is the enemy of growth.
  • Ship before you're ready. The project you deploy with bugs teaches you more than the perfect project sitting on your localhost.
  • Security is not a "senior thing." Hardcoded credentials, SQL injection, XSS — these are junior mistakes with senior consequences. Learn them early.

The junior years are the only time in your career when "I don't know" is not just accepted — it's expected. Use that window. Ask everything. Break things. Learn publicly. Your senior self is counting on it.

Discussion

Write a comment or question

Powered by GitHub Discussions
Loading...

Related Engineering & Tech Articles

What I Did as a Junior Developer — The Fundamentals That ... | Faisal Affan