Skip to main content
19 answers
22
Asked 1610 views

As a computer science Major, What are the best actionable steps that I can take in order to make sure I am properly prepared for the future landscape of the career field?

I am a sophomore at a small liberal arts college, and my main concern about careers in computer science is that I may not be skillful enough to contribute effectively to a company. I would appreciate some advice pointing me towards actions, books, and websites I can use in my free time to prepare for my future. With AI on the rise, I fear that not properly strengthening my coding skills will be a detriment in getting a job.

Thank you,
Raymond II


22

19 answers


3
Updated
Share a link to this answer
Share a link to this answer

Patrick’s Answer

Raymond, I would like for you to know that as a sophomore majoring in Computer Science at a small liberal arts college, you're already taking an important step by thinking ahead about your career. The tech industry values skills, curiosity, and the ability to learn quickly, so the fact that you're asking these questions puts you on the right path. I wish my sons would be as inquisitive as you are. I my opinion, to prepare for the future and build confidence in your abilities, the most effective action you can take is to commit to consistent, hands-on practice with coding. You should start this by mastering a language like Python or JavaScript. Both are widely used, beginner-friendly, and highly relevant to artificial intelligence and web development. Here are a few platforms my sons use, which they say are very helpful, LeetCode, HackerRank, and Exercism to solve real-world coding problems. My oldest son said that these will help you sharpen your problem-solving skills and prepare you for technical interviews.

Since you're concerned about AI, take advantage of free or low-cost courses on platforms like Coursera, edX, or Fast.ai. My son found that these courses break down complex topics into understandable lessons and offer practical projects to apply what you’ve learned. In parallel, start building a portfolio of personal projects—this could be a small website, a simple mobile app, a chatbot, or a machine learning model. Upload your code to GitHub to document your growth. It is my experience that employers look for more than just degrees. They want to see how you think and what you can build. More importantly they will look for how you fit within an existing team from a cultural and personality perspective.

I would highly recommend joining student coding clubs, contribute to open-source projects on GitHub, and participate in hackathons. You should know that even virtual ones help. These experiences will grow your network and expose you to how collaborative software development really works. You may feel like you're behind, but the truth is: no one knows everything in tech. What matters is that you're willing to learn, stay curious, and keep improving. That mindset, paired with steady action, will absolutely make you a valuable contributor in the future tech workforce. What areas of computer science interest you the most right now—AI, cybersecurity, software engineering, something else?
3
2
Updated
Share a link to this answer
Share a link to this answer

Nick’s Answer

A few thoughts on actionable steps you can take:

1. Talk to alumni from your school to find out what jobs they got, and what they do and don't recommend for you.

2. Attend job fairs at your school, or local computer science-related job fairs, and talk to company reps about their advice.

3. Understand that LLMs are a tool, and a large part of your career is going to be understanding how and when to use them. This will apply to technical (programming, testing, software architecture, etc) and non-technical (submitting performance reviews, writing user stories, documentation, etc.) components of your job. There has never been a better time to get fast, accurate answers to technical questions and 'how stuff works' in computing. Use this to your advantage.

4. Understand the jargon of the industry (e.g. IDE, REPL, version control, etc.) so that, when it comes time to interview, you can speak like you already work there. This also applies to spending time before interviews to learn about the company too: their industry, their competitors, their strategy, what their concerns are...

5. Get a handle on fundamentals and tooling: character encodings; HTTP response codes; data file and table formats such as Parquet, ORC, Iceberg, and, yes, CSV; database architecture at a high level and what various databases are good at; Git; proficiency with a text editor like VS Code; and many, many more. This is something you'll use the rest of your compsci career, and LLMs make it really easy to dive as deep as you'd like into these topics and also recommend new ones.

6. If you're looking for specific languages to focus on, the key is have broad exposure to multiple languages, at least at this stage. This topic is dogmatic to a lot of people, but you asked, so I'll give an answer and perhaps others can argue it. Note this would look a lot different for a web programmer vs. someone doing firmware, but as a starting point:

- A scripting language, such as Python or JavaScript
- A systems language, like Go or Rust
- SQL, because having an understanding of how databases work will give you a huge advantage

7. Finally, since you asked about books and websites, a strategy that has paid huge dividends for me is to check Hacker News (https://news.ycombinator.com) and the r/programming subreddit on a regular (daily) basis, click on the tech stuff that interests you, read the comments, and dive deeper from there. This will slowly pay off in big ways, as you get broad exposure to an array of the tech that actually interests you.

As for books, someone built a an aggregation of books recommended on Hacker News at https://hackernewsbooks.com/top-books-on-hacker-news and this a very solid list, at least for the technical books. I'd personally recommend these:

Code: The Hidden Language of Computer Hardware and Software
Introduction to Algorithms, 3rd Edition
Designing Data-Intensive Applications
Peopleware: Productive Projects and Teams
Design Patterns: Elements of Reusable Object-Oriented Software (the 'Gang of Four' book)

Best of luck!
2
1
Updated
Share a link to this answer
Share a link to this answer

John’s Answer

Hi Raymond! First and foremost, I am glad that you are thinking about how you can increase your skills to become marketable after college. It's important to stand out with skills that you can prove in order to get a leg up in the job market.

I realize the spectre of AI is frightening for you, people in the job market are afraid of what large language models will be capable of. Believe me, a large language model is no match for even a junior intellectually curious software intern! It's a tool, like anything else, that can help you do your job but cannot replace human level critical thinking and reasoning.

I'd suggest that you make an account on GitHub and look for some open source projects you can contribute to. There will be many options for you. Start small, fix a bug or a work on a small enhancement. Use the project as an avenue to deepen your knowledge of the language / framework. Actively building / writing code is the best way to learn.

As you gain experience with an open source project, you can add this to your resume, and use this in a job hunt for internships. I can't stress enough how important a software internship is during college! Even if it is short term, it will showcase your ability to work hands on with large software projects.

Stay curious, keep learning and pushing your skills / understanding, and have fun. You likely picked this career path for a reason, perhaps you enjoy problem solving? Use this to drive you forward.
1
1
Updated
Share a link to this answer
Share a link to this answer

Blaine’s Answer

View AI as a tool, and yourself as a tool handler.

In reality, you'll find your "human" skills of judgement, creativity, and problem solving are not so easily replaced by AI as everyone says. In fact, those skills are exactly complementary to AI's weaknesses!

Blaine recommends the following next steps:

Improve your soft skills, communication skills, vocabulary, project management, problem solving, general business principles, etc.
1
0
Updated
Share a link to this answer
Share a link to this answer

Handoyo’s Answer

Computer science is ever changing landscape. What you learned today, it will be obsolete tomorrow or near future.
Microsoft Learn provides lots of free learning, training, and events. https://learn.microsoft.com/en-us/training/
Choose your path , and focus on what you like.

Don't worry about AI, as long as you keep your knowledge up to date and sharpening your skills, you will be okay.
0
0
Updated
Share a link to this answer
Share a link to this answer

Jonathan’s Answer

You are not alone in your feeling of preparedness, and I think it is important to recognize that it will most likely take a long time, even beyond graduation, before you start feeling skillful enough to begin contributing effectively to any company. From speaking with recruiters and hiring managers, it can take anywhere from six months to two years for a new graduate to be productive at a company, and that is okay. I want to emphasize that, while having coding skills are important, technology is always changing, so the most important part are the timeless soft skills you can bring to a company. These include skills like being a self-starter, collaborator, and lifelong learner, which I hope you are getting through your education, and can improved by taking initiative in extracurriculars and hobbies.

With what I just said, the most important thing you can do to prepare is to demonstrate a strong understanding of the fundamentals of software development and engineering, which includes skills like data structures, algorithms, agile, and communication. Every software-related career relies on these skills, and a majority of the work will not be coding. "Coding" is the easy part of these jobs; the hard part is the engineering that determines what code should be written, and those fundamentals will allow you to adapt to any company and technology. This is one of the big reasons that I am not concerned about AI in the field. These careers are so much bigger than just coding, and that is where the human element becomes especially important. AI is a great tool, but it cannot substitute human expertise, at least not yet. To improve this, I would suggest working on projects. The best way to learn and demonstrate these skills is to apply them, and this could include personal projects, extracurriculars again, or internships, all of which build a portfolio of skills you can demonstrate to recruiters and hiring managers.

Finally, with respect to coding skills, I hope that your education has exposed you to a wide variety of programming languages and paradigms. I would suggest you pick a language most related to the work you want to do in the future (e.g. Python for data science) and drill into it. A small part of this will be learning its syntax and basic functionality, if you do not know it already, with application to those aforementioned projects. There is one aspect of coding skills that I do think needs to be focused on directly, which is data structures and algorithms. Many technical interviews today will include a coding assessment, which will require you to have at least a reasonable understanding of those topics. This can be practiced using websites with code exercises such as LeetCode, CodeWars, HackerRank, etc. There are also books, such as the famous "Cracking the Coding Interview," that can help drill further, but I've found that only FAANG-level companies require such a deep understanding of data structures and algorithms. That is not to say that FAANG should not be aspired to, but of course, there are many companies that are not FAANG.

In conclusion, the best things you can do are to continue putting yourself out there with the intention of developing your fundamental soft and hard skills. Find projects you can get yourself involved in or make your own, set goals, and take steps towards them with intention. I think you will surprise even yourself with what you can accomplish. Good luck!
0
0
Updated
Share a link to this answer
Share a link to this answer

Muhammad’s Answer

Start by working on small projects to build your portfolio on GitHub. Concentrate on one field at a time before exploring others. Here are some current fields to consider:

- AI
- Blockchain
- Cyber Security
0
0
Updated
Share a link to this answer
Share a link to this answer

Elijah’s Answer

Software engineering is an ever evolving field.
I'd say the best thing you can do is build personal project apps using the latest frameworks/tech available.
This gives you exposure to using modern tools and builds upon core engineering concepts/practices.
0
0
Updated
Share a link to this answer
Share a link to this answer

Tristan’s Answer

Hi Raymond,

You've already received some fantastic advice, but I wanted to share a few more thoughts. You're on a great path by pursuing a CS degree—keep focusing on the basics, and also get comfortable using AI tools to boost your learning and growth. It's not just about using these tools; it's about understanding how they work and how they can make you more productive and creative.

Another great way to grow your skills is by getting involved in open source projects or starting side projects—either alone or with a friend. These experiences can teach you valuable lessons you won't find in class and really sharpen your problem-solving skills. I suggest checking out Github for open source opportunities.

Here's a tip that took me a while to realize: look for companies doing work that excites you, and reach out to their engineers on LinkedIn. Even a simple message showing genuine interest can sometimes lead to conversations or even internship opportunities.

Wishing you all the best—keep learning and stay curious!
0
0
Updated
Share a link to this answer
Share a link to this answer

Parker’s Answer

Hi Ramond,

It's fantastic that you're eager to stay prepared! Don't shy away from the changes happening in the Computer Science world. Embrace them! Take AI, for instance—it offers a wonderful chance to grow. I encourage you to use AI as a coding tool. Try out any AI coding assistant and see what it can do. Many of these tools are amazing for spotting small syntax errors, helping with unit tests, and even sparking new ideas for solving tough coding challenges. Keep exploring, and you'll find great success!
0
0
Updated
Share a link to this answer
Share a link to this answer

Greg’s Answer

Hi Raymond,

It's fantastic that you're already thinking about the future and getting ready for your first job. You're on the right track!

With plenty of time to build your skills, I suggest exploring the career websites of companies you're interested in. This way, you can discover the skills they value most, giving you a clearer idea of what to focus on to land that first job.

Additionally, consider using AI tools to create a personalized study plan. This can help you learn at your own pace and make the journey even more enjoyable. Keep up the great work!
0
0
Updated
Share a link to this answer
Share a link to this answer

Savyata’s Answer

Hi Raymond, your concerns are very common and you’re already ahead by thinking about your future! Here are some practical steps to help you prepare for a career in computer science:

- **Build projects:** Start small and work up to bigger projects. Personal or open-source projects show employers your skills and initiative.
- **Practice coding:** Use sites like LeetCode, HackerRank, or CodeSignal to improve your problem-solving and coding abilities.
- **Learn version control:** Get comfortable with Git and GitHub, as they’re industry standards.
- **Explore AI and new tech:** Take online courses (Coursera, edX, freeCodeCamp) in areas like AI, machine learning, or cybersecurity to stay current.
- **Read and connect:** Books like “Cracking the Coding Interview” and “Clean Code” are great. Follow tech blogs and join communities (Reddit, Stack Overflow, LinkedIn).
- **Internships and networking:** Apply for internships, attend hackathons, and connect with alumni or professionals for advice and mentorship.

Remember, everyone starts somewhere and skills grow with practice. Stay curious, keep learning, and don’t be afraid to ask questions. You’re on the right path!
0
0
Updated
Share a link to this answer
Share a link to this answer

Neil’s Answer

Hi Raymond
That's a great question - thinking about the impact of AI is something that should be pretty high on the agenda for everyone working as (or thinking of working as) a software developer.
The key point is that LLMs and coding tools are just that - tools. How you use those tools is a key skill to learn, so consider jumping in on some AI courses. Getting a deep understanding will come from both using the tools and learning how they really work under the hood.
Another thing to consider is that software development is the process of turning requirements into code. Often those requirements are wooly, or even start with speaking to potential users. So think about working on your soft skills also. The AI element just accelerates the coding process, you'll need to be able to direct that and get your AI assistant to create the right code.
Finally, you might want to take a look at the agile practice of "pair programming" - the future of software development will likely look like that, just with one half of the pair being the AI!
Hope that's helpful, good luck!
0
0
Updated
Share a link to this answer
Share a link to this answer

Steve’s Answer

The best thing you can do is start building real projects outside of class. They don’t have to be huge, just things that interest you or solve small problems you care about. That kind of work will teach you more than a dozen textbooks. If you’re worried about coding skills, spend time on LeetCode or HackerRank just to get more comfortable with logic and structure. But don’t only focus on coding challenges, balance it with stuff that's fun to you.

No one expects you to be a rockstar from day 1. Master the basics and the rest will fall into place.
0
0
Updated
Share a link to this answer
Share a link to this answer

James Constantine’s Answer

Good Day Raymond! I have been coding since 1972; I am self-taught and have authored large platforms in biomedical reporting and 5 in nutrition education. If you desire to master programming, there is no better way than to practice! In the pre-Internet era, I purchased books on programming languages. I progressed from BASIC language to QBasic, Visual Basic 4 to 6, then .NET 2 TO 9. Now I refer to coding websites for guidance.

CODING WEBSITES FOR BEGINNERS:
Interactive coding classes: Codecademy
Non-profit coding education: freeCodeCamp
Longstanding coding resource: W3Schools
Free educational platform: Khan Academy
Marketplace for courses: Code.org
Encouraging coding education: Code.org
Nanodegree programs: Udacity
Developer documentation: MDN Web Docs
Harvard and MIT courses: edX
Martial arts coding: CodeWars
Skillcrush's Coding Camp
Beginner-friendly courses
Web Fundamentals: Google coding tutorials
SEE https://www.codingem.com/best-programming-websites/ (47 Best Coding Websites of 2023 (for All Skill Levels) - By Artturi Jalli)

AI PROGRAMMING LANGUAGES:
Java is Reliable and powerful, C++ is Fast and efficient, Scala has User-friendly syntax, Go has Scalable performance, Swift has Modern syntax, Python is a Popular AI language, JavaScript OSA has Frontend interactivity, Haskell is Functional programming, Lisp is a Symbolic language.

Do not let artificial intelligence cause you concern. Ride the AI wave - do not be inundated by it. I am sure that it will not replace programmers. It will, however, modify their work. So long as you encompass its requisites to include AI in your software platforms. AI to me is just a souped up search engine. Pretty soon programming will be second nature for you!
0
0
Updated
Share a link to this answer
Share a link to this answer

Rebecca’s Answer

Thank you for your question. I am glad to know that you would like to develop your careers in Computer Science.
Below are my suggestions :
1. There are many computer science related careers, e.g. Web Developer, Apps Developer, ERP Developer, Cybersecurity, Application Support, Network Administration, Database Administrator, etc. You may need to find what careers you have interest
2. Find out more on these careers and determine what you have interest
3. Speak to professors and alumni to seek their guidance
4. Shortlist 1-2 careers you would like to pursue
5. Select the relevant subjects in college
6. Explore any intern opportunities working on the career you have interest
Hope this helps! Good Luck!
May Almighty God bless you!
0
0
Updated
Share a link to this answer
Share a link to this answer

Kyle’s Answer

- Being comfortable with asking for help when needed is key. We all have projects where we need help from others to see them through.

- Embrace changes in the industry and experiment with tools every week. Changes are always happening, embracing them, understanding, experimenting, and contributing to emerging technologies can help maintain relevancy.

- Get a high-level understanding of how technology works. Understanding how software is built and how different technologies fit together.

- Resources:
Websites: Hackernews, https://wizardzines.com/
Newsletters: Hackernewsletter, https://tldrsec.com/, The Run Down AI
Books: Influence by Robert Cialdini
0
0
Updated
Share a link to this answer
Share a link to this answer

Micah’s Answer

Hi Raymond,

All these answers are fantastic. Instead of rehashing, I'll try to add my own 2 cents into it.

Find some passion projects that interst you. Find "problems" in your life that you could make easier with software. Finding projects that you are really interested in will help fuel your drive to be a better programmer. I had multiple passion projects. I built automation software for a part-time job I worked at over the course of a year. I was able to get work done faster, and work on my programming skills. I found other projects that were useful to me and make custom programs to automate them.

Interviewers would love to hear about your own personal experiences in program design and production.

Good luck!
0
0
Updated
Share a link to this answer
Share a link to this answer

Bob’s Answer

Hi Raymond,

You've asked a great question about how to prepare for the future as a computer science major. The world of technology is advancing rapidly, and it's exciting to think about where it will be in the next five years. To get ready, focus on the human side of things. Skills like documenting processes, understanding challenges and needs, and defining requirements will always be valuable.

While staying updated on the latest technologies is important, remember that tools like AI are here to help. At Salesforce, we use AI to make problem-solving easier. Instead of writing all the code, AI can help generate parts of it. However, it's crucial that you oversee the process to ensure everything meets the requirements.

Colleges might not always keep up with the latest tech, so explore other ways to learn. Use online resources, AI tools, and training to keep your skills sharp. Understanding the basics of AI, machine learning, and data analytics will always be beneficial.

Stay informed by subscribing to AI-focused newsletters and podcasts like TLDR. These resources can provide valuable insights and keep you motivated.

You've got this! Keep learning and growing, and you'll be well-prepared for the future.

Bob recommends the following next steps:

Technology Newsletters - TLDR (https://tldr.tech/)
External training - Salesforce Trailhead (Free!) https://trailhead.salesforce.com
0