Finding Your Interest
During your first year in Computer Science, you're usually focused on finding your footing. You're adjusting to university life, managing a heavy course load, and learning the basics of programming, math, and statistics. With all of that going on, it’s completely normal not to have your career path figured out yet.
But by the second year, things often start to click. You begin to notice which parts of Computer Science you’re actually interested in. Maybe you really enjoy Software Development, or maybe theoretical courses like Analysis of Algorithms make more sense to you. You might like building interfaces, working with data, or understanding how systems work behind the scenes.
Now is a good time to start thinking about your interests and strengths, and how they might shape your future studies and career goals.
You don’t need to have all the answers yet. But if you're still figuring things out, ask yourself:
- Do I like working alone or in a team?
- Do I enjoy building new things, fixing systems, or improving existing ones?
- Do I feel more satisfied starting from scratch or improving what already exists?
- What courses have I enjoyed most, and why?
Possible Career Paths
Explore key focus areas in Computer Science below, paired with roles that align with them. Use your interests in specific courses, projects, or topics as a compass to identify paths that resonate with you.
Note: Job titles and responsibilities vary widely. For example, a "Software Developer" at one company may focus on AI systems, while at another, they might build enterprise databases.
🛠️ Software Development & Engineering
Ideal if you love coding, building applications, and collaborative problem-solving.
Roles here involve designing, writing, testing, and maintaining software — often in teams.
Role | Description |
---|---|
Software Developer | Builds desktop/mobile apps (system-level or application-level). Strong focus on architecture and scalability. |
Web Developer | Develops websites/web apps. Specializes in front-end (UI), back-end (APIs/servers), or full-stack. |
Game Developer | Creates games using engines like Unity/Unreal. Combines logic, physics, and storytelling. |
QA/Test Engineer | Ensures software quality via automated testing, bug tracking, and user-experience validation. |
Signs this may be for you:
- You enjoy debugging, collaborative coding, or hackathons.
- You’re driven by seeing your projects come to life.
- Courses like COMP 3350 (Software Engineering) or COMP 3490 (Graphics) excite you.
Related 3000-level courses:
- COMP 3350 – Software Engineering 1
- COMP 3490 – Computer Graphics 1
- COMP 3580 – Application Security (security-focused development)
⚙️ Systems, Infrastructure & Security
Focuses on scalability, reliability, and protecting systems/networks.
Ideal for those intrigued by how software interacts with hardware, networks, or data storage.
Role | Description |
---|---|
DevOps Engineer | Automates deployment, monitoring, and infrastructure management. |
Cybersecurity Analyst | Defends systems from threats, audits vulnerabilities, and designs safeguards. |
Network/Systems Engineer | Designs/troubleshoots networks, servers, and distributed systems. |
Database Administrator | Optimizes data storage, queries, and security for data-heavy applications. |
Signs this may be for you:
- You care about system efficiency, preventing failures, or encryption.
- Topics like cloud computing, networking, or OS internals intrigue you.
- You enjoy courses such as COMP 3430 (Operating Systems) or COMP 3370 (Computer Org).
Related 3000-level courses:
- COMP 3010 – Distributed Computing
- COMP 3370 – Computer Organisation
- COMP 3430 – Operating Systems
- COMP 3380 – Database Concepts and Usage
🤖 Artificial Intelligence & Data Science
For those fascinated by data-driven decision-making, pattern recognition, or machine intelligence.
Roles involve training models, deriving insights from data, and building intelligent systems.
Role | Description |
---|---|
AI/ML Engineer | Designs/trains models for prediction, classification, or generative tasks. |
Data Scientist | Extracts insights from data using stats, ML, and visualization tools. |
Data Engineer | Builds pipelines to collect, process, and store large-scale data. |
Signs this may be for you:
- You’re drawn to statistics, algorithms, or optimizing models.
- Projects involving datasets, NLP, or computer vision excite you.
- You excel in math-heavy courses like COMP 3170 (Algorithms).
Related 3000-level courses:
- COMP 3190 – Introduction to Artificial Intelligence
- COMP 3360 – Machine Learning Concepts and Usage
- COMP 3170 – Analysis of Algorithms and Data Structures
- COMP 3380 – Database Concepts and Usage (data pipeline foundations)
🧠 Theory, Algorithms & Formal Methods
Explores computational principles, complex problem-solving, and mathematical foundations.
Suited for abstract thinkers interested in research, optimization, or cutting-edge innovation.
Role | Description |
---|---|
Research Scientist | Solves theoretical problems (e.g., quantum computing, complexity theory). |
Algorithm Engineer | Designs optimized algorithms for data processing, cryptography, or AI. |
Signs this may be for you:
- You enjoy mathematical proofs, automata, or optimization challenges.
- Courses like COMP 3030 (Automata) feel intellectually rewarding.
- You ponder questions like "Can this problem be solved more efficiently?"
Related 3000-level courses:
- COMP 3030 – Automata Theory and Formal Languages
- COMP 3170 – Analysis of Algorithms and Data Structures
👥 Human-Centered Design
Blends creativity, psychology, and tech to build intuitive user experiences.
Roles bridge technical implementation with user needs through design, writing, and testing.
Role | Description |
---|---|
UI/UX Designer | Crafts user interfaces, workflows, and usability tests. |
Technical Writer | Creates documentation, manuals, and developer guides. |
Product Manager | Defines software requirements by balancing user needs, business goals, and technical constraints. |
Signs this may be for you:
- You prioritize user-friendliness, accessibility, or clear communication.
- You enjoy prototyping, user research, or technical writing.
- Courses like COMP 3020 (HCI) align with your strengths.
Related 3000-level courses:
- COMP 3020 – Human-Computer Interaction 1
- COMP 3350 – Software Engineering 1 (requirements/design phase)
Further Resources & Exploration
- roadmap.sh
- Visual, interactive roadmaps outlining skills and tools for roles like frontend/backend developer, DevOps engineer, cybersecurity analyst, and more.
- Career Paths in Tech (GitHub)
- A GitHub repo of learning paths and diagrams for dozens of tech careers, everything from Site Reliability Engineering to Blockchain Development.
- CS Career Questions (Reddit)
- A large, student-friendly community discussing internships, job searches, resumé reviews, and general industry questions. Insightful for real-world experiences.
- Tech Roles Explained (LinkedIn Blog)
- Overview of common tech career paths including software dev, QA, IT, and product management, with helpful diagrams and advice for self-assessment.
Discovering your interests and strengths is just the first step, but nurturing and developing them is even more important for your path. Check out our Personal Projects page for ideas on projects you can start right away. You’ll also find curated resources to help you build skills in key areas like Web Development, Cybersecurity, and more.