Nguyen Tien Phat

I'm currently a senior student at Sai Gon University

Ho Chi Minh City, Vietnam
English & Vietnam
Total time coded since Apr 15 2023
6 stars earned on Github
910 words
5 min read

My Journey as a Computer Science Student

Reflections on my computer science journey at Sai Gon University, projects, and career aspirations

2025-01-17
Personal / Career / Computer Science / Student Life

My Journey as a Computer Science Student

As a senior Computer Science student at Sai Gon University, I’ve experienced the exciting, challenging, and sometimes overwhelming world of software development. Today, I want to share my journey, the lessons I’ve learned, and how I’ve grown both technically and personally.

The Beginning 🌱

When I first started my Computer Science program, I had basic programming knowledge but little understanding of what real software development entailed. Like many students, I thought coding was just about writing syntax correctly and getting programs to run.

Boy, was I wrong! 😅

Early Challenges

  • Imposter syndrome: Feeling like I didn’t belong in CS
  • Information overload: So many languages, frameworks, and concepts
  • Theory vs. Practice: Bridging the gap between academic concepts and real-world applications

First Breakthrough

My first “aha!” moment came during a Data Structures and Algorithms course. Understanding how a simple linked list could be more efficient than an array for certain operations opened my eyes to the elegance of computer science.

// That moment when you realize why this matters
function insertAtBeginning(head, data) {
  const newNode = new Node(data);
  newNode.next = head;
  return newNode; // O(1) vs O(n) for arrays!
}

Building Real Projects 🛠️

Theory is important, but building actual projects is where the magic happens. Here’s how my project journey evolved:

Phase 1: Console Applications (Year 1-2)

  • Tutien Game: A simple console-based game
  • Basic calculators and text processors
  • Learning: Core programming concepts, debugging, problem-solving

Phase 2: Web Development (Year 2-3)

  • Flower Delivery Website: My first React project
  • PyChatApp: Real-time messaging application
  • Learning: Frontend frameworks, UI/UX principles, user interaction

Phase 3: Full-Stack Applications (Year 3-4)

  • ZityLot Parking Management: Complete parking system
  • Apartment Management System: Property management solution
  • Portfolio Website: Personal branding and showcase
  • Learning: Backend development, databases, system architecture

Key Lessons Learned 📚

1. Code Quality > Feature Quantity

Initially, I focused on adding as many features as possible. Now I understand:

  • Clean code is maintainable code
  • Good architecture saves time in the long run
  • Testing prevents future headaches

2. Technology is Just a Tool

I used to chase the latest frameworks and technologies. Now I realize:

  • Fundamentals matter more than trendy tools
  • Choose technology based on project requirements
  • Master a few tools deeply rather than many superficially

3. Soft Skills Are Crucial

Technical skills got me started, but soft skills are what set me apart:

  • Communication: Explaining complex concepts simply
  • Teamwork: Collaborating effectively with others
  • Problem-solving: Breaking down complex problems
  • Continuous learning: Staying updated with industry trends

Current Skills & Technologies 💻

Languages I’m Comfortable With:

  • JavaScript/TypeScript: My primary language for web development
  • Python: For algorithms, data processing, and backend
  • Java: Object-oriented programming and enterprise applications
  • HTML/CSS: Frontend fundamentals and responsive design

Frameworks & Tools:

  • Frontend: React, Astro, TailwindCSS
  • Backend: Node.js, Express, Django
  • Database: MongoDB, PostgreSQL, Firebase
  • Tools: Git, Docker, VS Code, Figma

Areas I’m Exploring:

  • DevOps: CI/CD, cloud deployment
  • Mobile Development: React Native
  • AI/ML: Basic machine learning concepts
  • System Design: Scalable architecture patterns

Balancing Studies and Projects ⚖️

One of the biggest challenges has been balancing academic requirements with personal projects:

Academic Work:

  • Coursework: Algorithms, databases, software engineering
  • Group projects: Collaborative development experience
  • Research: Exploring emerging technologies

Personal Projects:

  • Portfolio development: Showcasing my skills
  • Open source contributions: Learning from the community
  • Side projects: Experimenting with new technologies

Time Management Strategies:

  1. Pomodoro Technique: 25-minute focused work sessions
  2. Project prioritization: Focus on projects that align with career goals
  3. Weekend coding: Dedicated time for personal projects
  4. Study groups: Collaborative learning with peers

Achievements & Milestones 🏆

Academic:

  • Consistent academic performance throughout my program
  • Active participation in computer science clubs and events
  • Peer tutoring: Helping fellow students with programming concepts

Technical:

  • 7 completed projects spanning different technologies
  • GitHub portfolio with active contributions
  • Personal website built from scratch
  • 6 GitHub stars across my repositories

Personal Growth:

  • Improved problem-solving abilities
  • Enhanced communication skills
  • Better understanding of software development lifecycle
  • Increased confidence in tackling complex challenges

Career Aspirations 🚀

Short-term Goals (Next 6 months):

  • Graduate with strong academic standing
  • Complete 2-3 more significant projects
  • Gain internship experience at a tech company
  • Contribute to open-source projects

Medium-term Goals (1-2 years):

  • Secure a junior developer position at a innovative company
  • Specialize in full-stack web development
  • Build a professional network in the tech industry
  • Mentor other students starting their CS journey

Long-term Vision (5+ years):

  • Become a senior developer with expertise in system architecture
  • Lead development teams on impactful projects
  • Contribute to the Vietnamese tech ecosystem
  • Potentially start my own tech company

Advice for Fellow Students 💡

For Beginners:

  1. Start with fundamentals: Master basic programming concepts
  2. Build projects: Theory means nothing without practice
  3. Join communities: Connect with other developers
  4. Don’t compare: Everyone learns at their own pace

For Intermediate Students:

  1. Focus on code quality: Learn best practices and design patterns
  2. Contribute to open source: Real-world collaboration experience
  3. Learn system design: Understand how large applications work
  4. Develop soft skills: Communication is as important as coding

For Advanced Students:

  1. Specialize in an area: Become an expert in something specific
  2. Teach others: Teaching reinforces your own learning
  3. Stay updated: Technology evolves rapidly
  4. Build your brand: Create a portfolio and professional presence

Looking Forward 🔮

As I approach graduation, I’m excited about the possibilities ahead. The tech industry is constantly evolving, and there’s always something new to learn. What excites me most is the opportunity to:

  • Build applications that solve real-world problems
  • Work with talented teams on innovative projects
  • Continue learning and growing as a developer
  • Contribute to the tech community in Vietnam

Final Thoughts 🌟

My journey as a Computer Science student has been challenging, rewarding, and transformative. I’ve learned that success in this field requires:

  • Technical competence: Strong foundation in programming and system design
  • Continuous learning: Staying updated with industry trends
  • Practical experience: Building real projects and solving actual problems
  • Soft skills: Communication, teamwork, and problem-solving abilities
  • Persistence: Never giving up when facing difficult challenges

To anyone starting their CS journey: embrace the challenges, celebrate small wins, and never stop learning. The field of computer science offers endless opportunities for those willing to put in the work.

What’s your experience with computer science education? What challenges have you faced, and how did you overcome them? I’d love to hear your story! 💬


Currently seeking internship opportunities and open to connecting with fellow developers and industry professionals. Feel free to reach out! 🤝

© Copyright @ 2025. All Rights Reserved by Jack Phat

Powered by Astro & Inspried by Fuwari