3 answers
Updated
177 views
What is it like to work from home as a computer science major What are the best skills to learn early in computer science? Where do you think computer science will be in a few years? Will it be overran by AI??
I want to major in computer science in college, most likely in some sort of software development. Are there any tips to keep in mind in this process, and should I focus on something other than software development?
Login to comment
2 answers
Updated
Aml’s Answer
If you're considering Computer Science and software development, I wouldn't avoid the field because of AI. I would, however, change how you prepare for it.
Working remotely as a software developer can be great: you get flexibility, access to global companies, and often more control over your schedule. But remote work requires strong communication, self-management, documentation, and the ability to work independently. It isn't simply "working from home instead of an office."
Skills I'd prioritize early
1. Programming fundamentals
Start with one language and learn it properly. Python, JavaScript/TypeScript, Java, or C++ can all be good choices depending on your goals.
Focus on:
Variables, functions, data structures
Object-oriented programming
Algorithms & problem solving
Debugging
Git/GitHub
Basic testing
Don't rush into learning five languages at once.
2. Computer science fundamentals
Your degree should give you a foundation in:
Data structures & algorithms
Operating systems
Databases
Computer networks
Software engineering
Computer architecture
Security fundamentals
These concepts will remain useful even as specific tools and programming languages change.
3. Build projects
This is probably the most important advice.
Don't spend four years only completing assignments. Build things that solve actual problems. Start small, then progressively build more complex applications.
A portfolio showing what you built, why you built it, and how you solved problems will be much more valuable than simply saying you completed courses.
What about AI?
I don't think software development will disappear. I think the definition of a software developer will change.
AI is increasingly capable of generating code, so knowing how to type code quickly will become less valuable. Understanding what should be built, why it should be built, how systems work, how to evaluate AI-generated code, and how to debug and improve it will become more valuable.
Think of AI as a tool you need to become excellent at using—not as your competition.
A developer who can use AI effectively + understands computer science fundamentals will likely be much more valuable than someone who either refuses to use AI or relies on it without understanding the code.
Should you focus on something besides software development?
Yes—but I wouldn't abandon software development.
Think of software development as your foundation, then develop a specialization around it.
For example:
CS + AI/ML
CS + Cybersecurity
CS + Cloud/DevOps
CS + Data Engineering
CS + Robotics
CS + Product/Business
You don't need to choose the specialization immediately. Use your first year or two of college to explore.
If I were starting CS today, my priority would be:
Strong CS fundamentals → Build real projects → Learn AI-assisted development → Get internships/real experience → Specialize based on what I enjoy and where I see opportunities.
And one final piece of advice: don't choose Computer Science because you think it guarantees a high-paying job. Choose it if you genuinely enjoy solving problems, learning technical concepts, and building things. The field changes constantly, so curiosity and the ability to keep learning are arguably your most important long-term skills.
Working remotely as a software developer can be great: you get flexibility, access to global companies, and often more control over your schedule. But remote work requires strong communication, self-management, documentation, and the ability to work independently. It isn't simply "working from home instead of an office."
Skills I'd prioritize early
1. Programming fundamentals
Start with one language and learn it properly. Python, JavaScript/TypeScript, Java, or C++ can all be good choices depending on your goals.
Focus on:
Variables, functions, data structures
Object-oriented programming
Algorithms & problem solving
Debugging
Git/GitHub
Basic testing
Don't rush into learning five languages at once.
2. Computer science fundamentals
Your degree should give you a foundation in:
Data structures & algorithms
Operating systems
Databases
Computer networks
Software engineering
Computer architecture
Security fundamentals
These concepts will remain useful even as specific tools and programming languages change.
3. Build projects
This is probably the most important advice.
Don't spend four years only completing assignments. Build things that solve actual problems. Start small, then progressively build more complex applications.
A portfolio showing what you built, why you built it, and how you solved problems will be much more valuable than simply saying you completed courses.
What about AI?
I don't think software development will disappear. I think the definition of a software developer will change.
AI is increasingly capable of generating code, so knowing how to type code quickly will become less valuable. Understanding what should be built, why it should be built, how systems work, how to evaluate AI-generated code, and how to debug and improve it will become more valuable.
Think of AI as a tool you need to become excellent at using—not as your competition.
A developer who can use AI effectively + understands computer science fundamentals will likely be much more valuable than someone who either refuses to use AI or relies on it without understanding the code.
Should you focus on something besides software development?
Yes—but I wouldn't abandon software development.
Think of software development as your foundation, then develop a specialization around it.
For example:
CS + AI/ML
CS + Cybersecurity
CS + Cloud/DevOps
CS + Data Engineering
CS + Robotics
CS + Product/Business
You don't need to choose the specialization immediately. Use your first year or two of college to explore.
If I were starting CS today, my priority would be:
Strong CS fundamentals → Build real projects → Learn AI-assisted development → Get internships/real experience → Specialize based on what I enjoy and where I see opportunities.
And one final piece of advice: don't choose Computer Science because you think it guarantees a high-paying job. Choose it if you genuinely enjoy solving problems, learning technical concepts, and building things. The field changes constantly, so curiosity and the ability to keep learning are arguably your most important long-term skills.
Updated
Teklemuz’s Answer
Begin by building a solid base with Python or any other language you like. Free resources like CS50 Python and CS50x can guide you through programming, algorithms, and basic Computer Science concepts. Next, dive into databases, networking, operating systems, Git, Linux, and math. As you learn, create projects such as a website, budgeting tool, or simple AI app. Gradually, work up to projects like an AI study assistant or a cybersecurity tool. Use free resources like CS50 SQL, Linux Foundation courses, and CS50 Cybersecurity to grow your skills. Gain practical experience through internships, volunteering, hackathons, and open-source projects to enhance your GitHub portfolio.
Embrace AI and aim to master it. See it as a chance to work faster, explore ideas, and tackle complex problems. Use AI for coding, research, testing, and debugging, but always check its results. Combining strong Computer Science knowledge with AI skills can give you a real edge. Explore fields like software development, AI, cybersecurity, cloud computing, and data engineering. Choose your specialty based on what you love, what you excel at, and your career goals. For remote work, focus on clear communication, time management, documentation, and solving problems independently. You don't need expensive courses to begin; use free resources, keep building, and continue moving forward.
Embrace AI and aim to master it. See it as a chance to work faster, explore ideas, and tackle complex problems. Use AI for coding, research, testing, and debugging, but always check its results. Combining strong Computer Science knowledge with AI skills can give you a real edge. Explore fields like software development, AI, cybersecurity, cloud computing, and data engineering. Choose your specialty based on what you love, what you excel at, and your career goals. For remote work, focus on clear communication, time management, documentation, and solving problems independently. You don't need expensive courses to begin; use free resources, keep building, and continue moving forward.