8 answers
Updated
1147 views
How do i get a career in CS?
I want to learn about the best way to land a tech job in this job market!
Login to comment
8 answers
Updated
Arron’s Answer
Hi Derrick - My advice would be to to start building! There are tonnes of free tools that mean the barrier to entry for doing your own thing has never been lower. Build out your own portfolio of interesting things that you would use, make mistakes, learn how to de-bug, add features, test them out.
Right now you don't need a specific job to tell you that you're now a 'computer scientist' or you officially 'work in tech'. Just get started, start working in tech on your own and before you know, you'll have a tonne of practical, job relevant skills that will help in finding a more formal role!
Right now you don't need a specific job to tell you that you're now a 'computer scientist' or you officially 'work in tech'. Just get started, start working in tech on your own and before you know, you'll have a tonne of practical, job relevant skills that will help in finding a more formal role!
Updated
kunal’s Answer
Starting a career in computer science is all about building a strong foundation early on while getting hands-on experience. Focus on mastering one main programming language and grasp basic concepts like data structures and algorithms. Don't just stick to your coursework; try creating small projects, join hackathons, and look for internships or real-world projects to boost your skills and improve your resume.
Think about choosing a general path, such as software development, cloud computing, data, or AI, so your projects and classes match your interests. Make the most of student resources like free cloud credits and software tools to learn how systems work. By the time you graduate, you'll have a good idea of which area in computer science you want to pursue.
Think about choosing a general path, such as software development, cloud computing, data, or AI, so your projects and classes match your interests. Make the most of student resources like free cloud credits and software tools to learn how systems work. By the time you graduate, you'll have a good idea of which area in computer science you want to pursue.
Updated
Rebecca’s Answer
Thank you for your question. I am glad to know that you have interest in Tech.
Below are my suggestions :
1. There are many careers in Tech, e.g. Game Developer, Apps Developer, Web Developer / Designer, ERP Developer, Application Support, Cybersecurity, Network Engineer, System Administrator, Database Administrator, Storage Engineer, etc. You can find out more Tech related careers online
2. Find out more on these careers and determine what you have interest
3. Attend the information sessions host by Tech Departments in colleges (e.g. Computer Science, Computer Engineering, Information Engineering, etc.)
4. Shortlist 1-2 careers you would like to pursue
5. Explore the entry criteria of relevant subjects in colleges
Hope this helps! Good Luck!
May Almighty God bless you!
Below are my suggestions :
1. There are many careers in Tech, e.g. Game Developer, Apps Developer, Web Developer / Designer, ERP Developer, Application Support, Cybersecurity, Network Engineer, System Administrator, Database Administrator, Storage Engineer, etc. You can find out more Tech related careers online
2. Find out more on these careers and determine what you have interest
3. Attend the information sessions host by Tech Departments in colleges (e.g. Computer Science, Computer Engineering, Information Engineering, etc.)
4. Shortlist 1-2 careers you would like to pursue
5. Explore the entry criteria of relevant subjects in colleges
Hope this helps! Good Luck!
May Almighty God bless you!
Updated
Mrinal’s Answer
Hi Derrick,
Your question is fantastic and very timely, as technology plays a big role in our lives today. It's a field full of opportunities, and you can jump in at any point in your life. Here are a few paths you might consider:
Path A: Formal Education
This involves getting a degree from a community college, engineering school, or university. You'll get a recognized degree and access to internships, projects, and career support. Degrees like Computer Science, Information Technology, and Data Analytics are common choices.
Benefits: You'll follow a structured curriculum and learn from experienced professionals. You'll also have many chances to apply what you learn.
Path B: Self-Taught, Bootcamps, Free Online Learning
This path is more flexible and requires self-motivation.
Benefits: You have the freedom to explore various resources at your own pace.
Challenge: Staying motivated without the structure of exams and assignments.
No matter which path you choose, keep these tips in mind:
1. Build things to see how your code works and learn problem-solving.
2. Focus on the basics first—pick a programming language and understand the fundamentals.
3. As you learn, work on small projects to gain experience.
4. Specialize in an area you enjoy, like Cybersecurity or Web Development, to enhance your career prospects.
5. Network with peers and professionals in your field of interest.
6. Create a strong resume and code portfolio to showcase your skills.
7. Prepare for both technical and behavioral interviews, as each tests different skills.
You're on the right track, and there are plenty of exciting opportunities ahead!
1. Choose a path - Formal university or self taught
2. Choose a programming langauge and start building
3. Build a Github repository of your projects - this is similar to an artist's portfolio.
4. LinkedIn and Resume: Build a formal resume and linked in profile. Showcase your work and tailor it to the job and areas of interest you are aspiring towards.
5. Last but not least, enjoy and have fun in what you build. This will keep you motivated and focused on continuous learning.
Your question is fantastic and very timely, as technology plays a big role in our lives today. It's a field full of opportunities, and you can jump in at any point in your life. Here are a few paths you might consider:
Path A: Formal Education
This involves getting a degree from a community college, engineering school, or university. You'll get a recognized degree and access to internships, projects, and career support. Degrees like Computer Science, Information Technology, and Data Analytics are common choices.
Benefits: You'll follow a structured curriculum and learn from experienced professionals. You'll also have many chances to apply what you learn.
Path B: Self-Taught, Bootcamps, Free Online Learning
This path is more flexible and requires self-motivation.
Benefits: You have the freedom to explore various resources at your own pace.
Challenge: Staying motivated without the structure of exams and assignments.
No matter which path you choose, keep these tips in mind:
1. Build things to see how your code works and learn problem-solving.
2. Focus on the basics first—pick a programming language and understand the fundamentals.
3. As you learn, work on small projects to gain experience.
4. Specialize in an area you enjoy, like Cybersecurity or Web Development, to enhance your career prospects.
5. Network with peers and professionals in your field of interest.
6. Create a strong resume and code portfolio to showcase your skills.
7. Prepare for both technical and behavioral interviews, as each tests different skills.
You're on the right track, and there are plenty of exciting opportunities ahead!
Mrinal recommends the following next steps:
Updated
Vianne’s Answer
That's a great question, especially since tech feels so competitive right now. The key thing to remember is that there's no single "perfect" way into computer science careers. What's most important is developing real skills, showing your work, and gaining experience, rather than just focusing on job titles or degrees.
Start by building a strong foundation. If you're in school or planning to be, majors like computer science, software engineering, or information systems are useful, but they're not the only routes. Beyond classes, focus on learning to code and understanding systems. Choose one main language, like Python or JavaScript, and dive deep into it instead of juggling many at once. Use online resources, work on small projects, and try to grasp how things work, not just how to pass exams. Projects are crucial because they demonstrate your ability to actually do the work.
Once you have some skills, aim for experience. Internships, part-time tech jobs, research projects, open-source contributions, or freelance work all count. If internships are tough to find, create your own projects and take them seriously. Write clean code, document your work, and be ready to explain it. Networking is also more important than people often admit. This can involve talking to professors, joining tech clubs, attending meetups, or connecting with people on LinkedIn to learn about their journeys. In this market, students and those early in their careers who succeed are the ones who stay consistent, keep learning, and don't get discouraged when progress is slow. It takes time, but it's definitely achievable.
Start by building a strong foundation. If you're in school or planning to be, majors like computer science, software engineering, or information systems are useful, but they're not the only routes. Beyond classes, focus on learning to code and understanding systems. Choose one main language, like Python or JavaScript, and dive deep into it instead of juggling many at once. Use online resources, work on small projects, and try to grasp how things work, not just how to pass exams. Projects are crucial because they demonstrate your ability to actually do the work.
Once you have some skills, aim for experience. Internships, part-time tech jobs, research projects, open-source contributions, or freelance work all count. If internships are tough to find, create your own projects and take them seriously. Write clean code, document your work, and be ready to explain it. Networking is also more important than people often admit. This can involve talking to professors, joining tech clubs, attending meetups, or connecting with people on LinkedIn to learn about their journeys. In this market, students and those early in their careers who succeed are the ones who stay consistent, keep learning, and don't get discouraged when progress is slow. It takes time, but it's definitely achievable.
Teklemuz Ayenew Tesfay
Electrical Engineer, Software Developer, and Career Mentor
520
Answers
Ethiopia
Updated
Teklemuz Ayenew’s Answer
Computer science is a broad field, so it's important to identify your passions, strengths, and career goals early on. Start by mastering the foundational concepts, such as algorithms, data structures, and programming languages. Once you have a solid foundation, choose a specialization that aligns with your interests and the job market such as software engineering, IT, cloud computing, database administration, data science, cybersecurity, artificial intelligence, machine learning, or game development. As you progress, tailor your learning to focus on your chosen area. It's also crucial to build a portfolio by working on personal projects, contributing to open-source initiatives, and keeping your GitHub updated. Sharing your work on LinkedIn will increase your visibility and help attract potential opportunities.
Networking plays a significant role in the tech industry, so establishing an online presence on platforms like LinkedIn, GitHub, and Stack Overflow is highly recommended. To prepare for technical interviews, practice coding challenges on platforms such as LeetCode, Exercism.io, W3Schools, and InterviewBit, which offers structured tracks and mock interviews for various job roles. You can also enhance your problem-solving skills on websites like Codewars, TopCoder, and CodeSignal, which provide a wide range of challenges to sharpen your algorithmic abilities. In addition to these resources, gaining real-world experience through virtual internships on platforms like Internshala, Turing, and AngelList can be invaluable, especially for remote opportunities.
Further develop your experience by seeking volunteer, internship, or freelance work on platforms like Upwork, Fiverr, or Toptal. These opportunities are essential for building practical skills. Stay updated with online courses from platforms like freeCodeCamp, Coursera, and Udemy to continue growing your expertise. By combining strong technical knowledge, hands-on experience, and an active online presence, you’ll be well-prepared to succeed in the competitive tech job market.
Networking plays a significant role in the tech industry, so establishing an online presence on platforms like LinkedIn, GitHub, and Stack Overflow is highly recommended. To prepare for technical interviews, practice coding challenges on platforms such as LeetCode, Exercism.io, W3Schools, and InterviewBit, which offers structured tracks and mock interviews for various job roles. You can also enhance your problem-solving skills on websites like Codewars, TopCoder, and CodeSignal, which provide a wide range of challenges to sharpen your algorithmic abilities. In addition to these resources, gaining real-world experience through virtual internships on platforms like Internshala, Turing, and AngelList can be invaluable, especially for remote opportunities.
Further develop your experience by seeking volunteer, internship, or freelance work on platforms like Upwork, Fiverr, or Toptal. These opportunities are essential for building practical skills. Stay updated with online courses from platforms like freeCodeCamp, Coursera, and Udemy to continue growing your expertise. By combining strong technical knowledge, hands-on experience, and an active online presence, you’ll be well-prepared to succeed in the competitive tech job market.
Updated
Sandeep’s Answer
Hello Derrick,
Start by picking one clear path in CS (like software development, data, or cloud) and build strong basics in programming, problem-solving, and tools like Git. Create a few real projects, keep an active GitHub/Bitbucket, and practice interviews regularly. In today’s market, consistency, a solid portfolio, and networking matter just as much as degrees.
Start by picking one clear path in CS (like software development, data, or cloud) and build strong basics in programming, problem-solving, and tools like Git. Create a few real projects, keep an active GitHub/Bitbucket, and practice interviews regularly. In today’s market, consistency, a solid portfolio, and networking matter just as much as degrees.
Updated
Dinesh’s Answer
Hi Derrick,
Excellent question. Getting a career in Computer Science is a very achievable goal, and it's a field with a huge amount of opportunity. It's a journey that requires dedication, but there are multiple paths you can take.
Phase 1: Build Your Foundational Knowledge
This is about learning the fundamental principles. You have two main paths here, and they can be combined.
Path A: The Formal Education Route (University)
This is the most traditional and well-respected path.
What to Study: Pursue a Bachelor's degree in Computer Science (CS). Related degrees like Software Engineering, Computer Engineering, or even Mathematics and Physics with a strong programming focus are also excellent.
Why it's great: It provides a structured, deep understanding of theory (Data Structures, Algorithms, Operating Systems, Computer Architecture), a valuable credential (the degree), and built-in networking opportunities with peers and professors. It's also the easiest path to landing prestigious internships.
Action Step: If you're in a position to attend a university, focus on your STEM classes to get into a good CS program.
Path B: The Self-Taught / Bootcamp Route
This path is for those who are highly self-motivated or need a faster, more direct route to a specific job.
What it is: Using online resources, courses, and intensive "bootcamps" to learn the practical skills needed for a specific role (e.g., Web Developer).
Why it's great: It can be faster and cheaper than a four-year degree. It focuses entirely on job-ready skills.
Key Challenge: You must be incredibly disciplined and build a strong portfolio of projects to prove your skills, since you won't have a degree to vouch for you.
Excellent Free/Low-Cost Resources:
freeCodeCamp: A full curriculum for web development and more.
The Odin Project: A highly-regarded, rigorous path to becoming a web developer.
Coursera / edX: University-level courses from top schools, often for free (you pay for the certificate). Look for "CS50" from Harvard or "Algorithms, Part I" from Princeton.
Phase 2: Develop Practical Skills and Pick a Lane
Theory is not enough. You need to be able to build things.
1. Master the Core Tools
No matter what you specialize in, you will need these:
A Programming Language: Don't try to learn five at once. Pick one and learn it well.
Python: The best first language. Easy to learn, incredibly versatile (used in AI, web development, data science).
JavaScript: The language of the web. Essential if you want to be a web developer.
Java / C#: Powerful, used in large-scale corporate applications and Android development (Java).
Git and GitHub: This is non-negotiable. It's the version control system all developers use to manage code and collaborate. Create a GitHub account today and learn the basics.
The Command Line (Terminal): Learn how to navigate your computer and run commands without a graphical interface. It’s a core developer skill.
2. Choose a Specialization (You can always change later!)
"Computer Science" is broad. It helps to focus on a specific area to get your first job.
Web Development: (Highest demand for entry-level jobs)
Front-End: Build what the user sees (HTML, CSS, JavaScript, and a framework like React or Vue).
Back-End: Build the server and database logic (Node.js, Python with Django, Ruby on Rails, Java with Spring).
Mobile Development: Build apps for phones (Swift/iOS or Kotlin/Android).
Data Science / AI / Machine Learning: Analyze data and build predictive models (requires strong Python, math, and statistics skills).
Cloud Computing / DevOps: Manage the infrastructure that runs applications (AWS, Azure, Google Cloud, Docker, Kubernetes).
Cybersecurity: Defend systems from attacks.
Phase 3: Network and Prepare for the Job Hunt
1. Build Your Resume and Online Presence
Resume: Keep it to one page. Highlight your skills and projects. For each project, describe what it does, the technologies you used, and the problems you solved.
GitHub: Keep your profile clean. Have a "pinned" section with your 3-4 best projects. Write a good README file for each project explaining how to run it.
LinkedIn: Create a professional profile. Connect with recruiters and engineers at companies you're interested in.
2. Prepare for the Technical Interview
The tech interview is a unique skill in itself.
Data Structures and Algorithms (DS&A): This is the core of most technical interviews at top companies. You will be asked to solve problems on a whiteboard or in a shared editor.
Practice Platform: LeetCode is the industry standard. Start with "Easy" problems and work your way up. Consistency is key.
Behavioral Questions: Prepare to answer questions like, "Tell me about a time you had a conflict with a teammate," or "Describe a challenging project." Use the STAR method (Situation, Task, Action, Result) to structure your answers.
System Design: For more senior roles, you'll be asked to design a large-scale system (e.g., "Design Twitter").
Choose Your Learning Path: University or Self-Taught.
Pick One Language: Start with Python or JavaScript.
Learn Git & GitHub: Create your account now.
Start Building: Complete a small project within the next month.
Network: Clean up your LinkedIn and attend a virtual or local tech meetup.
Excellent question. Getting a career in Computer Science is a very achievable goal, and it's a field with a huge amount of opportunity. It's a journey that requires dedication, but there are multiple paths you can take.
Phase 1: Build Your Foundational Knowledge
This is about learning the fundamental principles. You have two main paths here, and they can be combined.
Path A: The Formal Education Route (University)
This is the most traditional and well-respected path.
What to Study: Pursue a Bachelor's degree in Computer Science (CS). Related degrees like Software Engineering, Computer Engineering, or even Mathematics and Physics with a strong programming focus are also excellent.
Why it's great: It provides a structured, deep understanding of theory (Data Structures, Algorithms, Operating Systems, Computer Architecture), a valuable credential (the degree), and built-in networking opportunities with peers and professors. It's also the easiest path to landing prestigious internships.
Action Step: If you're in a position to attend a university, focus on your STEM classes to get into a good CS program.
Path B: The Self-Taught / Bootcamp Route
This path is for those who are highly self-motivated or need a faster, more direct route to a specific job.
What it is: Using online resources, courses, and intensive "bootcamps" to learn the practical skills needed for a specific role (e.g., Web Developer).
Why it's great: It can be faster and cheaper than a four-year degree. It focuses entirely on job-ready skills.
Key Challenge: You must be incredibly disciplined and build a strong portfolio of projects to prove your skills, since you won't have a degree to vouch for you.
Excellent Free/Low-Cost Resources:
freeCodeCamp: A full curriculum for web development and more.
The Odin Project: A highly-regarded, rigorous path to becoming a web developer.
Coursera / edX: University-level courses from top schools, often for free (you pay for the certificate). Look for "CS50" from Harvard or "Algorithms, Part I" from Princeton.
Phase 2: Develop Practical Skills and Pick a Lane
Theory is not enough. You need to be able to build things.
1. Master the Core Tools
No matter what you specialize in, you will need these:
A Programming Language: Don't try to learn five at once. Pick one and learn it well.
Python: The best first language. Easy to learn, incredibly versatile (used in AI, web development, data science).
JavaScript: The language of the web. Essential if you want to be a web developer.
Java / C#: Powerful, used in large-scale corporate applications and Android development (Java).
Git and GitHub: This is non-negotiable. It's the version control system all developers use to manage code and collaborate. Create a GitHub account today and learn the basics.
The Command Line (Terminal): Learn how to navigate your computer and run commands without a graphical interface. It’s a core developer skill.
2. Choose a Specialization (You can always change later!)
"Computer Science" is broad. It helps to focus on a specific area to get your first job.
Web Development: (Highest demand for entry-level jobs)
Front-End: Build what the user sees (HTML, CSS, JavaScript, and a framework like React or Vue).
Back-End: Build the server and database logic (Node.js, Python with Django, Ruby on Rails, Java with Spring).
Mobile Development: Build apps for phones (Swift/iOS or Kotlin/Android).
Data Science / AI / Machine Learning: Analyze data and build predictive models (requires strong Python, math, and statistics skills).
Cloud Computing / DevOps: Manage the infrastructure that runs applications (AWS, Azure, Google Cloud, Docker, Kubernetes).
Cybersecurity: Defend systems from attacks.
Phase 3: Network and Prepare for the Job Hunt
1. Build Your Resume and Online Presence
Resume: Keep it to one page. Highlight your skills and projects. For each project, describe what it does, the technologies you used, and the problems you solved.
GitHub: Keep your profile clean. Have a "pinned" section with your 3-4 best projects. Write a good README file for each project explaining how to run it.
LinkedIn: Create a professional profile. Connect with recruiters and engineers at companies you're interested in.
2. Prepare for the Technical Interview
The tech interview is a unique skill in itself.
Data Structures and Algorithms (DS&A): This is the core of most technical interviews at top companies. You will be asked to solve problems on a whiteboard or in a shared editor.
Practice Platform: LeetCode is the industry standard. Start with "Easy" problems and work your way up. Consistency is key.
Behavioral Questions: Prepare to answer questions like, "Tell me about a time you had a conflict with a teammate," or "Describe a challenging project." Use the STAR method (Situation, Task, Action, Result) to structure your answers.
System Design: For more senior roles, you'll be asked to design a large-scale system (e.g., "Design Twitter").
Dinesh recommends the following next steps: