Ask HN: Any tips for a college freshman enrolled in computer science?

36 points by NotParth11 ↗ HN
College is going to start in a few days. But seeing the job market, I'm a little scared. What do you all recommend that i should focus on so i can be employable and actually have a job by the time college ends?

52 comments

[ 0.21 ms ] story [ 26.7 ms ] thread
Fear is normal. Jump in.

Learn how to learn. Get really good at that. That is the essence of your college experience. Perhaps consider a minor in a life science, hard technology, or other field that has good employment prospects.

Everything is software these days--it's going to be about applying software rather than pure programming skills.

Take a physics class or two. Learn how and why things work.

If your school has co-op work--do it. It raises your employment prospects at graduation.

Expect to have to consider multiple options/tracks in your career ahead. Adaptation and flexibility will be important. The world is changing quickly.

You can't study everything in college, but you will need to be ready to study and adapt in the years ahead. Good luck and do well in school.

One more thing: be social. Your network of friends will be extremely valuable to you.

Knowing how the software development lifecycle really works and how to write reliable, shippable code _without using AI as a crutch_ will put you ahead of your fellow students when you graduate. Don't neglect learning it, even if it's not taught in your classes.

Knowing the CS theory that college is trying to teach you well enough to apply it will put you ahead of your fellow co-workers when you are a senior developer. Don't neglect learning it. The people who say "I never needed to use CS for my entire career, lol" are the people most easily replaced by AI.

Don't neglect understanding how to use AI to create code but don't become dependent on it either.

Don't neglect your writing courses. Reading and writing clearly is how you interact with your fellow developers and, of course, AI. Too many developers are lousy writers and wind up stuck in the lower ranks because of it.

Focus learning well the fundamentals of the field as they will underpin everything else. Try to keep your finger on the pulse of industry in some way beyond whatever they are teaching in your classes (industry conferences, trade orgs, etc.). Try for internships during the summer break to get an idea of what people's day to day is like today and where it may be headed. Have a backup plan (e.g. pre-med).
If you want a developer's career, make sure you study something other than CS in uni. If you have some basis in an engineering or scientific field, speciality fields can open that can't be easily filled. It also helps to actually learn how to create something from blank paper: come up with an idea, spec it, make a prototype, cycle through revisions. This "muscle memory" is the basis of the software development. And it provides an opportunity to learn debugging - perhaps the single skill that will carry over into the AI sunny uplands.

And as others have said - do it yourself, put off using crutches such as AI until you understand the process.

Find something you're passionate about.

- If you don't like programming, try to switch to a degree in something else

- If you genuinely enjoy programming, do not try to switch

- Explore specialty fields, if you're interested in one get a combined degree

It's a time of great change right now and fear is a natural response. The world is going to be a very different place in 4 years time. Try not to let the fear of an unknown future affect your experience in college. College is a great time to learn who you are, to learn what you like and what you dislike, make friends, understand people, pick up new skills and hobbies and drop old ones. I don't know you and where you're headed, but I know you're going to have a great time. Enjoy it and let the future come to you.
Use college to make connections, it's pretty much the only reason to go as you can teach yourself anything now for free. Connections with students, professors, and industry.

Grades are important but in today's AI-driven job application processes having a 4.0 is less important than knowing somebody at the company.

Here is my advice to a young person interested in computer science:

https://htmx.org/essays/yes-and/

TLDR:

- Knowing how to do things with computers will likely remain useful in the future

- Learn fundamentals using AI as a TA rather than code generator

- You must write the code

- Learn skills beyond just CS, such as communication & business

- Plan on using personal contacts for a future job, the hiring market is busted

Throw yourself into it if you love it. The world is going to change many more times before you're even done your undergraduate studies, so there is no point in trying to predict it. Just arrive at graduation having had an awesome college experience (especially the people you'll meet), know how to learn stuff quickly, and be flexible.

I'm sure that during your studies, through serendipity, you'll find great opportunities to pursue that you couldn't possibly imagine right now. Give yourself the greatest surface area for luck to find you.

Since you posted this here on HN I can already tell that you're the type of person who will not be short of opportunities and already has a good surface area for luck to find you.

Good luck!

Write the code yourself, use AI as a tutor. Learn to start a project from scratch and run it locally from your computer for any language you learn. Use a Linux laptop. Network and be socialable. Apply for internships. Learn deep learning and neutral networks if you have the opportunity, GPU programming. Really though, follow your interests.
Don't spend too much time online. The collective conscious of online can be disconnected from reality. People who aren't successful tend to spend their time complaining online whereas you rarely hear stories of normal people success online.

Focus on meeting real people and understanding their problems and how you can help. Your connections during college will probably matter more than a particular test score.

Get a job (any job) during college, it shows you're employable and can navigate with the unpleasantries of being employed.

Oh! And dont’ stress too much! Enjoy the ride. Think of it all like a fun new video game. Take in the new levels with curiosity. Have fun! Many people who have jobs now would love to be in your shoes again. Embrace it, enjoy that time of life!

You’re actually in a great position because you’re young and able to adapt to the world as it changes. Four years is an eternity in the job market, so what you’re seeing now is not predictive of what the job market will be like when you graduate.

I recommend keeping your eyes open and getting diverse viewpoints, with some caveats. Universities can be both fast and slow to adapt to changing trends. Your professors will undoubtedly be trying to integrate LLMs into the courses, but what they teach you will probably not entirely hit the mark about where the industry is going. You need to be gaining your own experience with something outside of classes, even if it’s useless little projects that you throw away. Remember to have fun in college, too, but balance that with doing a little more than just trying to get passing grades.

Avoid spending too much time in cynical spaces online that have turned into echo chambers about how we’re all doomed, this career is a dead end, and other negativities. Hacker News has a diverse set of opinions represented but it’s easy to get swept up in the hyper-negative views where we’re all going to be out of jobs and relying on UBI in a couple years. Online spaces have been excessively negative about this career for as long as I’ve been doing it, with the exact reasons changing from year to year. I knew a few people who enjoyed computers but talked themselves out of CS due to job market or online negativity things when they started college and all of them discovered that every career path has its pluses and minuses. It gets easier when you have some affinity for the work, though.

i see, i really appreciate your comment. I chose CS because there wasnt anything else that i could think of that i liked honestly, and i've been learning to code for a while and it doesn't really seem hard to me.
Just try it out and explore a few different layers you're interested in.

The ACM curriculum focuses more on kernels, OS, and compilers rather than the application layer. It's great for understanding principles, but making money often happens at the application layer. Everyone's aptitude is different.

Programming has many layers. Don't get discouraged if you hit a wall in one area.just move around and explore different layers. You'll definitely find one that suits you

Have a broad range of interests outside of CS, and also develop interpersonal skills, not only for your own social enjoyment, but for interviews and compensation negotiations you will engage in during the coming years.
Learn JavaScript/Dart and Rust/Zig. Have a mono repo of all your code modules, never rewrite code, as you switch between projects.

Because AI is trained on the web, expect the fundamental building blocks of Software Engineering to not change in the next decades. Git, Linux, HTML, JavaScript etc etc all the abondoned code on the web. Familiarize yourself with these fundamentals and you'll always be relevant.

Drop out take up a trade. It was never something that could be taught well and most colleges were a waste of time. Now it is dead forget about it and do something useful with your life.
Use AI and Youtube as much as possible to understand the core concepts, patterns, theories deeply. Don't study to just pass exams. Do it to actually learn because it's quite fascinating and interesting.

I've graduated college like decade ago and still I learn new things with the help of AI. I'm a visual learner, most of the time I ask AI to create a one page HTML with animations to explain me concepts so it's easy to remember for me. Further, there are so many great video and shorts that explains algorithms, DB internals, computer security, cryptography, etc. on youtube.

Always think critically, ask questions and never take anything as truth just someone says so or it's written in a book, it's very important to develop critical and logical thinking and clear and good communication skills and that would help you to find a job easily. Wishing you all the best and success.

I started college right after the .com crash. Everyone who treated their education as a simple wealth maximization optimization went into other majors. The number of incoming CS majors was approximately quartered. (Software? That is all going to be outsourced!)

By the time I graduated, computers were cool again.

Predicting the job market is like predicting the stock market. You don't necessarily know where things are going to end up, and simply being reactionary will lead to sub-optimal outcomes.

Learn things that are hard to do, or you wouldn't finish if you weren't coerced with a final grade.

One positive in the current environment is that people who actually know computer science won't be forced to toil endlessly on what are essentially CRUD systems, and can move on to solve second- and third-order problems where their actual computer science skills can pay off. We can stop reinventing (slower and slower) webpages and 3270 terminals.

The bar for creating software has been lowered dramatically while the bar for understanding software has been raised. Standing out is less about what you can make, which is perhaps now only table stakes. How quickly and thoroughly can you read and understand code? How can you reason about its architecture? What patterns and tools are at your disposal to improve it?

Mostly, focus on meeting good people, building relationships, and expanding your mind. These opportunities are timeless and besides practical skills, will allow you to continue growing as a person for years to come.

My most important development came from thousands of hours of doing work directly, myself, getting things wrong, or not quite right, and iterating on my own labor.
First, you should clarify what it is you want to do. What type of "a job" do you want? Then reverse engineer how to get there. The more fancy a job you want, the earlier you need to start accumulating some sort of social proof you are a "high achiever", especially if there is nothing particular special about your background. If you're not sure, your best best is probably to go after the best opportunities and experiences which are available, and go from there.
I think you should focus on letting yourself grow. Perhaps you will learn something that makes you decide to pursue a field you didn't know anything about when you started college. If you finish in CS great, if you switch to something else that is also a positive if it fills you with "joy".

Focus on learning to express yourself clearly, in English and in code.

Focus on learning how to learn, how to acquire new knowledge, and how to enjoy the process. Focus on learning how to work with others, especially those you don't agree with or like.

Don't forget to have fun. There is plenty to be had if you avail yourself of the opportunities.

This may sound a little bit ridiculous, but if you’re really into computers: Grab a 6502, build a computer yourself - the chips are cheap and overall availability is good. Try writing a small operating system, an interpreter like Basic or Lisp or a game. After you accomplished that you already know more than most CS grads and the knowledge will be so fundamental that it will help with everything else coming to you in future.
university is the last time you will be around people mostly your age without having to think about it or put effort in. Make sure you meet a wide variety of people.

the most important things employability-wise tend to be joining technical clubs and doing internships.

the job market in 4 years time will probably look very little like todays, so keep your ear to the ground on whats going as time goes on. CS is incredibly valueable for being able to think about how things are done, so its going to be a pretty well respected degree no matter what

id also suggest joining whatever community garden setup is around your university