How to Navigate Computer Science as a Student: My Thoughts & Advice
Hey everyone! 😊
Today, I want to share some personal thoughts as a fresh graduate on a question I often hear — how do you even start in computer science? Honestly, this is something I struggled with too, and I know many students, especially in Malaysia’s public universities, feel the same. Our syllabus can sometimes feel a little outdated, and with the endless fields in computer science, it’s easy to feel lost. Web dev, game dev, cybersecurity, networking, AI, data science, UI/UX… the list goes on! 😵💫
So, in this blog, I’ll try my best to share my take on these common questions:
- Is a computer science degree still worth it nowadays?
- What Students Often Overlook About CS?
- How to find a field you truly like?
- How to pursue your dream career?
- How to know if you’ve mastered a certain skill?
- Common mistakes I think students often make.
- Resume Tips That Really Matter.
⚠️ Disclaimer: These are just my personal opinions based on my experience. Feel free to correct me if I’m wrong. I’m still learning too! 🙌
Is a Computer Science Degree Still Worth It? 🎓
Yes. Absolutely. Even with AI growing rapidly, there are still tons of complex problems in computer science waiting to be solved. Computer science isn’t just about coding — it’s about understanding systems, architecture, algorithms, and solving real-world challenges using technology.
For example, even a simple booking app project in your uni assignment is solving a real business problem: allowing business owners to track orders in real time. AI tools can assist, but it’s still you who designs system architecture, picks the right tech stack, optimizes performance, ensures security, and maintains reliability. Even advanced AI models sometimes generate inefficient or error-prone code if you don’t properly supervise the development.
Let’s take networking for another example (my personal favourite 😄):
People often say network automation will replace network engineers. Well… automation has been here for years but network engineers are still very much needed. Automation helps with routine deployments, but complex problems — like legacy systems, hardware failures, traffic anomalies, performance bottlenecks, and multi-vendor integration — still require human expertise. Even in large Network Operation Centers (NOCs), AI is more of an assistant than a full replacement today. Mission-critical systems need reliable human oversight.
So, in my opinion, computer science remains one of the most versatile and future-proof fields. It gives you the capability to design, build, and maintain solutions that impact every industry. 💡
What Students Often Overlook About CS 💡
✅ CS is not just coding.
The best software engineers understand algorithms, data structures, systems design, networking, OS, security, and most importantly: how everything connects together.
✅ Soft skills matter a LOT.
You’ll need communication, teamwork, time management, and stakeholder handling. Even as a developer, you’ll have meetings where you explain technical choices to non-technical people.
✅ Read technical papers and RFCs.
Don’t rely only on YouTube or tutorials. Get used to reading official documentation, whitepapers, RFC standards (especially for networking/security), and engineering blogs from companies (Netflix, Google, Meta, etc).
✅ Learn basic systems design early.
Distributed systems, microservices, load balancing, horizontal scaling — pretty good if you can talk about these (can impress interviewers).
✅ Learn to read open-source code.
Real-world codebases are messy, large, and complex. Reading existing OSS projects improves your architecture sense tremendously. Contributing to open-source projects might even open doors to remote job opportunities.
How to Find Your Path in Computer Science? 🔍
The key is to know yourself and understand computing history.
Every subfield has its unique challenges and rewards:
- Some offer higher salaries early (like web development, cloud engineering)
- Some may reward deeply specialized expertise later (like cybersecurity, AI research)
- Some are simply fun but highly challenging (like offensive security, game engines)
Don’t choose based on trends alone. AI and data science are popular now, but passion and genuine interest matter more in the long run. Otherwise, you risk burning out when the hype fades.
✅ Here’s my personal approach:
- Watch YouTube channels, blogs, or vlogs from experienced professionals in different fields.
- Try simple coding exercises or beginner projects in multiple areas before choosing one.
- Take your time — your friends’ decisions don’t dictate your timeline.
- Read about computing history — knowing how problems evolved helps you identify where you fit.
You know yourself best. Choose a path where you’re curious enough to explore for years, not one that just sounds trendy.
How to Pursue Your Dream Career? 🚀
Start by building a strong foundation. Almost all CS subfields share core fundamentals:
- Programming (at least one language deeply — e.g. Python, Java, C++)
- Computer Networking (OSI model, protocols, subnetting)
- Databases (SQL, relational models, basic NoSQL concepts)
- Version Control (Git)
- Operating Systems (process management, memory, threads)
- Computer Architecture (how hardware works at low level)
Once your basics are solid, start specializing based on your chosen interest. Real-world preparation is equally important:
✅ Career Prep Checklist:
- LinkedIn: Build your profile early, connect with seniors, alumni, industry speakers.
- Conferences / Bootcamps / Competitions: Attend events like hackathons, CTFs, programming contests, and conferences.
- Informational Interviews: Chat with seniors who’ve interned or worked in roles you’re aiming for.
- Job Postings: Regularly browse LinkedIn job listings to identify common skill requirements.
- Leetcode: Practice algorithm problems weekly — don’t use AI for solving them, but you can use AI to explain tough problems if needed.
- GitHub Projects: Build self-driven projects based on industry demand. Showcase these projects clearly in your resume.
- Voluntary Internships / Part-time Projects: Start even during Year 1 if possible — especially during semester breaks.
- Certifications: Valuable if required by your target role (e.g., CCNA for networking, AWS for cloud, OSCP for security), but never substitute for real skills.
If you’re into research or niche roles, seek supervisors for a research-oriented FYP project. 🎓
👉 Stay consistent and focused — this field rewards depth, not just breadth.
How to Know If You’ve Mastered a Skill? 🎯
A simple rule of thumb:
“Can I independently apply what I’ve learned to new problems?”
✅ Build projects from scratch.
✅ Do labs repeatedly until you’re confident.
✅ Apply skills to slightly different scenarios (e.g., hack different boxes on HackTheBox if you’re learning cybersecurity).
✅ During interviews, be ready to explain why you made certain design choices.
Personally, I believe that “learning by building” is the most effective way to achieve true mastery. Real-world projects force you to deal with unexpected issues that pure theory can’t teach.
Common Mistakes I See Students Make ❌
👉 Learning too many languages superficially.
Master one deeply first. In interviews, usually one language is enough. Understand data structures, algorithms, system design, and debugging thoroughly.
👉 Relying too heavily on certifications.
Certifications help demonstrate knowledge but cannot replace practical experience. Certifications should support your portfolio, not be the entire portfolio.
👉 Lacking clear focus.
It’s tempting to jump between web dev → mobile dev → game dev → AI → cybersecurity. Try to develop deep competence in at least one core area before branching out.
👉 Ignoring CGPA too early.
While it’s true that projects and skills weigh heavily, some companies (especially big MNCs) still use CGPA filters. Having a decent CGPA keeps your doors open.
👉 Skipping university courses because they seem outdated.
Even if some content feels old (e.g., no microservices or modern frameworks), foundational knowledge is timeless. Networking, OS, computer architecture, algorithms — these concepts still show up in job interviews.(I do this mistakes too XD)
Quick story:
In one of my interviews with a major MNC in Singapore (for an SRE role), I was tested on literally everything — RAID, memory hierarchy, OOP principles, multithreading, OS internals, networking layers, database transactions, and more. 😅 It took quite some last-minute revision because I initially underestimated how broad interviews(I thought preparation for JD is enough XD) can get. You never know what they’ll ask!
Resume Tips That Really Matter 📄
A lot of people underestimate how important the resume is. Many students just create one generic resume and send it everywhere. But trust me, resume tailoring makes a huge difference.
✅ Customize for every job.
Read the job description carefully. Match your projects, skills, and experiences with the keywords and tech stacks they are looking for.
✅ Highlight relevant projects.
Projects matter a lot more than filler activities. If possible, build personal projects that reflect what companies are hiring for.
Example:
"Built a Flask REST API backend for hotel booking system, deployed on AWS EC2 with auto-scaling.""Automated firewall rule updates using Ansible, reducing deployment errors by 30%."
✅ Quantify your achievements.
Numbers make your contributions concrete.
Example: "Reduced server downtime by 25% after optimizing database indexing during internship."
✅ Keep formatting simple.
Many companies use Applicant Tracking Systems (ATS). Avoid fancy templates, graphics, or tables. Use clean headings:
Projects, Experience, Skills, Certifications, Education.
✅ Use the right technical keywords.
Match your skills section to the tools mentioned in job postings:
AWS, Docker, Kubernetes, SQL, Python, CI/CD, Git, REST APIs, OAuth, Terraform, Flask, React, etc.
✅ Don’t fully rely on AI to write your resume.
AI can help with structure or wording, but YOU need to fill it with your real experiences and projects. If you haven’t built anything yourself, AI can’t invent it for you.
✅ Write your resume like you’re preparing for your interview.
Every project you list may trigger deep technical questions. Be ready to explain your design, tools, problems you faced, and how you solved them.
✅ For fresh grads without much experience:
Projects are your most important asset. Build at least 1–2 solid full-cycle projects — from design → build → deploy → document.
✅ One page is usually enough.
Keep it concise, clear, and relevant.
✅ Be Humble during the interview.
Ask for advices from your interviewer, understand really well the job scope, and seek advices from them. Definitely learn a lot if you make the interview process part of learning.
✅ Optional bonus:
Add your GitHub profile (with well-documented repos), personal website, or tech blog. Employers love seeing detailed project documentation.
Quick Reality Check 🔎
- Your resume often gets 15 seconds or less on first scan.
- Strong projects and clear problem-solving stories grab attention.
- Prepare deeply for any skill or project you list. Don’t bluff — you’ll be tested!
👉 Pro tip: Your projects are your strongest assets — tailor them directly to your target job. Make your GitHub speak for you.
Final Thoughts 🌱
Computer science is broad, exciting, and full of opportunities. But it’s easy to feel overwhelmed if you don’t have clear goals. Don’t rush. Find your passion. Build depth. And stay consistent.
I’m still learning every day, so feel free to share your thoughts or correct me if I’m wrong. Hopefully my sharing helps someone else starting their CS journey. 💪
Happy learning, and good luck on your career journey! 🚀
Above blog is generated with the help of GPT XD