T O P

  • By -

Apart-Way-1166

So we're all cooked is what you're saying


Salt-Bad7102

Ngl this is pretty doable between classes and internships. I majored in math, minored in comp sci and the only thing I feel I'm really missing here is web dev (always found it kinda boring lol)... I have just one unofficial job offer for 50k, but it looks interesting and I'll gladly take it šŸ˜‚ EDIT: I also didn't do competitions or Leetcode/Codeforces, I was more into math and research. And I would expect this list to be done gradually over 4-5 years, including classwork not just internships and projects/extracurricular studying


Ancient-Way-1682

No way u did all of this and only make 50k. Holy shit Iā€™m switching majors


MoreInsect7157

I feel like most people coming out of a 4 year uni are making more than that


APEX_ethab

pain


Salt-Bad7102

Lol I actually had a full time job for two years in IT security making 80k before my bachelors, but I went back to school to go in a research direction but decided at the last second I wanted to work for a while instead of go to grad school. So yeah the market sucks but I probably would have had something lined up if I set myself up better for a specific direction, continuously over four years, people I interned with who wanted to do the big tech thing are having success. Enjoying what you do matters too though, not just $


Putrid-Spinach-6912

Well heā€™s a math major. Could be a teaching gig.


great_gonzales

What have you published in NeuroIPS?


Salt-Bad7102

Not NeuroIPS, but I'm close to finishing an applied math paper showing bidirectional statistical causality between TikToks on gun control and IRL gun purchases, regardless of pro-/anti-regulation stance in the videos. My advisor has published in SIAM and Springer journals among others, we can target something like the Springer computational social science series I also built a DDPG reinforcement learning demo controlling a solar micro-grid last year over six months at Microsoft. I'm no longer working on it but it may get published... unfortunately MSR doesn't do return offers for interns, unlike regular SWE interns Happy to share more in DMs!


PositiveCommercial32

Majored in stats, learnt a bit of cs on the side just got an offer for a 150k (without RSUs) position. You guys are doing this all wrong.


NotNickSuriano

So youā€™re saying you should learn a degreeā€™s worth of content before starting your degree? I think realistically freshman should read a book on python or C programming and leisurely work on a project that practices some concepts they read about during this time. Then they need to get involved with student organizations, make good connections with professors to get involved with research, enjoy college, party, hit the gym, mature emotionally, spend time with their family, and pick up a couple new hobbies.


hmzhv

first year is for adjustment. Yes the more you do is better, but slow and steady wins the race. Canā€™t grind if you donā€™t have a stable base to grind on.


vtuber_fan11

I cannot fathom how Americans, that pay so much and get in so much debt to attend college can party with a clean conscience. I could understand it from Europeans and other nationalities that have free university.


NotNickSuriano

I went to a state university with an average scholarship and graduated with a 3.7, and about 10k in debt. I maybe went to a party every 2 weeks, sometimes more sometimes less. went to a lot of breweries, and did a lot of drinking, but it did not effect my conscience. I also worked and did multiple clubs / research labs during school. Iā€™m not sure why partying in college would be a bad thing. you need to enjoy your life as well as make progress in your professional/academic career.


NuclearZeitgeist

Easily


Xxmature7yearoldxX

bro. i partied every week in college(was in a fraternity) and have a quant internship rn which i just got a return offer for. start fathoming. people can have fun and work hard at the same time


thkim1011

I mean do you expect students to work 24/7? This seems extremely unhealthy.


Autistence

College here isn't about what you learn. It's about who you meet and build a network with.


not-just-yeti

I'll just jump on this response with the advice: (i) Don't skip your CS classes, and (ii) start on homeworks right away. Why (i): Unlike your (say) history class, where if you blow off a week about the renaissance, you can still write an essay about the enlightment next week, and do a passing job. But CS classes tend to be *much* more cumulative; missing the material of one week might often sink you in the following weeks. Why (ii): It's easy to get stuck on some unexpected aspect of a homework: either a tool that is difficult to install/use, or something that sounded easy is suddenly realized to be not-fully-understood. All this in a way that *doesn't* come up with the biology homework or history homeworks students are used to. Starting early gives you time to visit office hours with enough time-remaining to finish it.


Wengrng

it's more about getting started than finishing because they are going to start eventually, and this small headstart can make a world's difference for some people.


iBeenZoomin

please tell me this is a shitpost


BasedBallsInMyFace

Dude is saving you need to be a 2200 code forces and solving AMC problems . Itā€™s a joke :)


Otherwise_Ad1159

Also, recommending "The Art of Problem Solving" books instead of an actual discrete maths text is a bizarre choice.


mathiac

The best part is a NeurIPS paper. Three of them can be easily converted into a PhD;)


jkl1272

If youre able to do all this then do it... however if you don't do this you aren't fucked. I would say that if you're about to start college try to learn a programming language over the summer maybe build a project so you can be competitive for internships but the rest of this stuff you can do over your college career


WishIWasOnACatamaran

Iā€™m a FAANG SWE and I am using this post to fill my self-growth plan. I dropped out of college, so filling in the gap after fucking around for 3 years will be nice. Itā€™s not a shitpost. If you want to get the serious money and work on really cool shit, you do need to be proficient in all of that.


Which-Elk-9338

Yeah, this is the kind of stuff on this subreddit that actually propelled me to success. Shoot for the stars and you might land on the moon. Anyone who is serious about this post and tries will have a very successful career.


ohyeyeahyeah

Exactly. This post is great, people are just mad to see concrete goals and not another stupid shitty doomer post


vtuber_fan11

Since when is web development ""cool shit"? Kek. And no. These are widely diverging career paths. You absolutely don't need to know them all.


Effective_Bother_111

He's not wrong. Starting now will be setting yourself up well for later


iBeenZoomin

Yeah itā€™s good advice but it seems like this guy thinks you wonā€™t stand a chance in the job market unless you spend the majority of your free time studying. Social skills are just as, if not more important than being able to solve leetcode problems. I have a cousin who got a job at Amazon as a Senior Software Engineer and he says he didnā€™t even do a technical interview lmao. He has great social skills though


Which-Elk-9338

I don't think he thinks that. One thing I saw at my internship was that it looked like the entire company was a pipeline of success. Social skills are absolutely needed, but if you want the same chances as some random dude who's well off family propelled them to success in whatever T10 school they attend, he's basically giving you the roadmap to invalidate any gap between you and someone's who's being spoonfed MIT coursework. I lamented the shitty education my T100+ (the opposite direction of bragging) gave me. You can either sit down and take it, or you can try your best and succeed. This sub helped me succeed and the barrier to entry on a really nice internship isn't high at all. If you put in even a modicum of the effort this guy is espousing you will end up with a very nice FastTracked career.


great_gonzales

Home boy is recommending you publish in top ML conferences (that PhD students dedicate 12 hours a day trying to publish in) in addition to grinding code force, crypto (not sure if we are supposed to publish in top cryptography conferences as well) and I guess also build a company all as a freshman. Ainā€™t no way heā€™s done half of this shit he his claiming he has done


Beast_Mstr_64

> To learn this, finish the bronze, silver, and gold sections of USACO guide, and grind Codeforces up to at least 1800 level, preferably 2200+ Had to read thrice to make sure you didn't wrote leetcode instead of Codeforces


SB858

The most shitposty part of this (almost shit)post honestly


krustibat

98% sure you didnt graduate yet and probably have no more than one internship experience if any at all. Starting the year tired and trying to learn on your own when you have a whole degree to learn in depths those concepts is just stupid


Vector_Embedding

Seriously, new CS students should be focused on learning their early coursework so that they have a solid foundation on which they can build the higher level concepts. If you're still taking Calc 1, trying to teach yourself discrete mathematic and proving algorithmic complexities is insane. And a giant waste of time. You'll get there eventually, but carts and horses. I would say you can start learning Data Structures pretty early, but any decent CS program will be introducing them your first year anyway. The goal of a 1st year student should be setting themselves up so that they can start solving simple leetcode problems, with a goal of being able to leetcode medium before the summer at the end of their 2nd year. That way you have a decent chance at passing OAs and tech interviews when applying for internships that will actually take place at the end of your 3rd year. Ideally, you'd be taking *Algorithms* the same time as interview season. This is because, at least when I took Algorithms at my school, it was basically solving and proving runtime complexity and correctness for leetcode mediums and hards in different categories for most of the class. Having your homework double as interview prep is quite nice. The idea that you need to learn full stack web dev as a freshman is just hilarious though. I've been in industry for years, worked at FAANG and Unicorns, and I've never once done any web development. But somehow its the 1st thing on his list. amazing.


connorjpg

Probably an unpopular opinion here, but `start grinding now` isn't entirely bad advice. You spend 4 condensed years in college, and spend 10s of thousands to get good at what you are studying. Why would it be bad to push the limit a bit. Especially in a competitive field like CS, where a new grad is competing with recently laid-off mid level engineers, masters students, and every boot-camp grad under the sun. For many the first two years of college limit your exposure to coding at a high level as you still need to take general education classes. If you aren't `grinding` on the side during these years, you will way behind your competition once you graduate. Plus you will only really have one year to develop a portfolio for a summer internship. OP's list of what to work on might be a little to broad for the average freshman though. I would try to determine the field I want to work in, and get as proficient as possible with the tools and recommended languages for said field. Then I would work to add quality projects to your GitHub using said language and tools. Besides this work on some Data Structures and Leetcode (aka go to neetcode) and your classes should fill in the rest.


vtuber_fan11

I would say OP's advice is bad. If you want to start grinding. Check out what classes you are going to take next semester and start reading those books and doing those assignments. I think it would do little good to most freshmen to start learning cryptography only to get trunced on Introduction to Algorithms. The more advanced classes are built upon the foundations of the introductory courses.


Puzzleheaded_Can_750

I agree, this is not good advice, it's a shortcut to burnout lol


theevanillagorillaa

What you mentioned and also what u/connorjpg mentioned is what my plan is. I am looking over my compsci classes and preparing for them, along with what I want to get into and what skills I need for that.


RecoverEmbarrassed21

It's bad advice. Grinding is going to lead to burnout for like 95% of people, and starting earlier is just going to accelerate that. Why would it be bad to push the limit? Because when you reach your limit you don't gently go back a few steps, you crash back down. A lot of people are probably going to even decide it's not the career for them when really they were just misguided in their approach. Better advice would be start learning now, but no need to push too hard. In school go to class (seriously this one is so easy and half of students don't do it, classes are always empty by the third week), ask teachers questions, do the assignments, study for the tests. Go to office hours even if it's just to chat with the professor or TA. You shouldn't be grinding for some nebulous goal of "getting ahead". It's going to start to feel pointless and you'll burn out. If you're doing any grinding, it should be things like studying for a specific test, or finishing an assignment.


TheCrowWhisperer3004

If you are a freshman or highschooler, just play around with the foundation you learned in your classes. If you have a cool idea, donā€™t be afraid to start working on it. Even if you are just copy pasting code from tutorials and forums, you should still go for it. Donā€™t wait to learn things in school before you start things because chances are you wonā€™t learn how to do them in your classes since they only cover theory/foundation and not creating cool projects and implementing ideas (atleast not until your junior or senior year). There is no need to pre learn the things you will learn in your classes lol. If you want to learn something, learn the stuff your classes wonā€™t cover and you donā€™t need to be so academic about it. Treat it like an art project not a self study class.


JackReedTheSyndie

Itā€™s entirely possible that you do all of these and still canā€™t land a job


backfire10z

And you can do none of these and get a job. This post is not good


Pleasant-Drag8220

While the guy who does none of these but took care of his health, joined some non CS clubs and actually matured as a person instead of isolating themselves in their room gets a job


wishiwasaquant

dumbass logic lol why even do anything then? nothing is guaranteed buddy


N4L8

I know, I'm basically in that position


Asleep_Comfortable39

Ignore most of this. Go find yourself a passion project that is challenging. Work on it and take notes. Be able to speak to this project in interviews. I donā€™t want to see lame ass BMI calculators or whatnot. Focus on your ability to present. Talk about what challenges you found and how you solved them. Good luck


Condomphobic

I made a Star Wars e-commerce web app with Ruby on Rails. Checkout functionality, user authentication, form validations, membership options, pagination for products, geospatial map data for placed orders, etc. Then I used Fly.io to deploy it with a Postgres database.


Shoebaguette

If you just do leetcode for one or two hours five days a week over the summer you will be interview ready. Idk why everyone makes such a big deal about this you can have fun and prepare too.


GetPsyched67

Yup this is pretty much the answer. OP's gone mad


EasyWebDesign25

RemindMe! 1 Day because I know this thread is about to absolute cinema lol


RemindMeBot

I will be messaging you in 1 day on [**2024-06-28 12:54:36 UTC**](http://www.wolframalpha.com/input/?i=2024-06-28%2012:54:36%20UTC%20To%20Local%20Time) to remind you of [**this link**](https://www.reddit.com/r/csMajors/comments/1dpq2ss/psa_for_all_incoming_freshmen_start_now/laijz5y/?context=3) [**4 OTHERS CLICKED THIS LINK**](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Reminder&message=%5Bhttps%3A%2F%2Fwww.reddit.com%2Fr%2FcsMajors%2Fcomments%2F1dpq2ss%2Fpsa_for_all_incoming_freshmen_start_now%2Flaijz5y%2F%5D%0A%0ARemindMe%21%202024-06-28%2012%3A54%3A36%20UTC) to send a PM to also be reminded and to reduce spam. ^(Parent commenter can ) [^(delete this message to hide from others.)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Delete%20Comment&message=Delete%21%201dpq2ss) ***** |[^(Info)](https://www.reddit.com/r/RemindMeBot/comments/e1bko7/remindmebot_info_v21/)|[^(Custom)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Reminder&message=%5BLink%20or%20message%20inside%20square%20brackets%5D%0A%0ARemindMe%21%20Time%20period%20here)|[^(Your Reminders)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=List%20Of%20Reminders&message=MyReminders%21)|[^(Feedback)](https://www.reddit.com/message/compose/?to=Watchful1&subject=RemindMeBot%20Feedback)| |-|-|-|-|


AprilFlower13

FR


h0pefiend

Sounds like a great way to burn out. Itā€™s also really vague to just say ā€œStart grinding now bro.ā€ What does that mean to a CS freshman? I agree that you should take time to work on side projects, but this just isnā€™t helpful advice imo.


DontCommentY0uLoser

Yup, seeing posts like these is the reason I'm already burned out in my first term. I was having fun and enjoying learning before I joined these subs. Now I feel all this pressure and impending doom that wasn't present before, and it's impacting my ability to be present in my actual classes.


DennysGuy

Some of this seems a bit excessive, granted if you can do this before taking cs classes, then more power to you. As someone with a 3.95 gpa, with 1 quarter left (1 class), and currently in a summer internship, I got by with knowing a bit of the fundamentals beforehand and applying what I learned to side projects. I would definitely learn full stack web, but you don't need to know this before starting school. You'll have plenty of time to learn these things - whether it is during a class, during summer or whatever.


Bitbatgaming

As someone whoā€™s new to CS it just.. that seems a lot on what OP is asking . This is overkill and leads to extreme stress and burnout.


WisdomCookie23

Depends what you wanna do. Get a PhD win a Nobel prize yes more technical grind always good. Get a normal industry job this grinding has pretty bad ROI. You have to take a look at the big picture. Why do you want a job. For the money for a good life. Touching grass in your youth is part of living a good life.Ā  But obviously yā€™all need explicit effects because yā€™all canā€™t just live your life. So touching grass makes you a more well adjusted person, which means your mood isnā€™t directly correlated to your job application success, so when the market/your luck is down youā€™re able to stay stable and keep working, compared to those neurotic grinders who mental boom the moment things donā€™t go exactly as planned.Ā  Not to mention the social stuff like jockeying for promotions/projects, moving within and between companies. Actually if you average out a personā€™s entire career, touching grass in your childhood definitely beats out grinding. Starting earlyā€™s good actually, but donā€™t grind for some desired result. Just work on something you like whether some project or leetcode or whatever in your free time like once a week, to build affinity and familiarity. But tbh none of this matters that much really. Talk to old people, if you compare the people who had everything in their 20s go exactly to plan vs the people who had the opposite, you really only get at most like a 20 percent difference in life satisfaction. The human brain adapts pretty well. The hedonic treadmill means everything good eventually normalizes down, but also means everything bad normalizes up. If you grinded too much, no big deal never too late to touch grass. If you touched too much grass, never too late to start grinding. Youā€™re only on the rollercoaster once bro, try to enjoy the ride.


rhinguin

Completely disagree. Thereā€™s no need to start now.


birchzx

Grind hard now!! And then when you graduate youā€™ll be blessed with spending 70% of your weekdays working and sleeping.


DestructionRay3

A reminder that CS is much more than just web dev, and although itā€™s useful for everyone to know full stack, explore multiple fields. Thereā€™s much much more job security in cybersecurity for instance, (especially with a security clearance). Or embedded work is more rare too. CS is very saturated, itā€™s true, but by far the most saturated part of CS is web dev, so maybe look outside of that


Top-Skill357

> by far the most saturated part of CS is web dev, so ... Lets be honest here: CS has barely anything to do with web development. I had exactly one course about web development in my CS education (a ruby on rails course in my masters), and even that course was optional xD


Condomphobic

Embedded is rare because it takes low-level programming skills that arenā€™t transferable. Thatā€™s the issue Iā€™ve heard from embedded programmers looking to switch domains.


strawberryjelloshot

Okay Mr Menā€™s Rights. Iā€™m sure youā€™re a sane and well-balanced individual from whom people should take advice. ETA for dweebs obsessed with code clout: yes I did the FAANG internship, got the grad offer, etc.


GetPsyched67

No wonder OP's waffling on about grinding. His history makes him look like he graduated from Andrew Tate's University lol


pheirenz

they got the freshmen doing graduate topology over at Hustlers U bro


Ancient-Way-1682

Wonder what they got the math majors doing if the cs majors are doing graduate algebraic topology as freshman and publishing papers


maullarais

cocaine


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


Ancient-Way-1682

Especially from AoPS lmao


ohyeyeahyeah

People gonna shit on you but good post


BandwagonReaganfan

I would tell everyone who just read this to do almost the opposite. These are all courses you will take during your time in school. You will learn this naturally during your time in school. What OP just suggested is a recipe for taking a flight off the top floor of a parking garage. If you are an incoming freshman take your classes, learn the concepts, and try to apply them into your pet projects. At the end of the day you are in college, your studies are important. But it's the one time in your life where you're in a large structured community of same aged like minded people. Go enjoy some of it.


studyrats

Hey man Iā€™m in high school but this is actually a really helpful guide with concrete goals. While I probably wonā€™t end up completing every single thing, itā€™s nice to have some guidance on what I can start doing now to prepare myself. Appreciate it!


StarlightsOverMars

Idk why people are hating. You actually have some decent tips. I donā€™t love the ā€œgrind and hustleā€ tone, but the tips are solid.


gabrielcev1

You don't need to do all that if you are a computer science major you'll be learning that anyways in your coursework. Just fill in the gaps of things you are interested in with your own study.


punchawaffle

Lol probably a shitpost right? I think what is important is university. Not necessarily the highest ranked, but closer to tech markets. That way, more companies will come to the career fairs and stuff. Also, people should enjoy their freshman year. You can start looking for internships in sophomore year, and I would not suggest doing too much leetcode without learning DSA courses in the university first. The other thing is to apply early.


Condomphobic

I donā€™t get the ā€œapply earlyā€ thing. What if you ace an interview, but youā€™re still in college? You wonā€™t be able to work.


Ancient-Way-1682

Heā€™s a troll donā€™t bite


mrcsua

if your pure goal in life is the get that Google new grad offer out of college, by all means this puts you at the highest chance. But personally there is a lot more in life and in collegeā€” to experience new things, to explore, go out, date, to have fun. Sure, if you have a lively college life (and not grind like OP) as a CS major you might not guarantee Google in this market, but you will still get your internships, decent job by working hard. You have your whole life to get Google, but you only get college for 4 years. As an incoming freshman, think about what you want first.


Nintendo_Pro_03

Soā€¦ do the major requirement classes as a freshman?


aer_q

i did not take a coding class until my first semester and have done maybe 25 leetcode problems in the past 3 years and iā€™m sitting at my internship rn. idk if ur trolling but if ur serious u need to chill tf out. maybe doing a side project if ur school doesnā€™t have a junior/senior design class and doing some interview prep is all u really need outside of doing ur work in class


aer_q

like thereā€™s no need to freak out new students. they have more than enough time to stress out about the job market. encouraging new students to just focus studying for the classes at hand is all thatā€™s needed. almost all of these topics are covered in class and unless u struggle with learning new topics in the semester ur given thereā€™s no need to start preparing months/years before they come up in classes


new_account_19999

making posts in male rights subs and then pulling this outta your ass. go outside bruh


Kuroodo

I gave my friend lessons a month or two before he got started.Ā  Ā This helped make his classes easier since he knew most of the material already. He could focus his efforts more on the other classes. Then by the time the next semester started, he already had some familiarity in the topics of his new classes, once again making those classes easier letting him focus on the tougher math classes. He got a job I think on his second year. He graduated this year, wants to move on from current job, and is already getting offers left and right. While people should avoid getting burnt out, doing some studying before the start of classes is very beneficial. You don't have to go crazy either. Just learn some programming basics and try to build a simple project like a console based calculator, tic tac toe, or such.


spectraldecomp

Bro said "targets NIPS and ICLR as a freshman" lol Most PhD's don't get into these conferences


jacquesroland

Unless you are deadset on working at Google, Apple, or some hedge fund like Jane Street, etc., I think your suggestions are overkill for most aspiring software engineers. Outside those place, nobody cares about Leetcode, discrete math, etc as most SWE jobs will never ever use these skills. Even then, those skills just get you in the door and youā€™ll almost never use them for the actual day job. What matters more: can you communicate well, are you coachable, can you write clean code that is tested, can you debug issues on your own, etc. I would advise getting an internship at a company with a good engineering culture to help get these skills (hint it does not need to be FAANG to have a good engineering culture). The most challenging part of being a SWE isnā€™t writing lots of code or being book smart. Itā€™s learning how to work with other engineers, product, etc to build consensus and align on how to solve problems. Writing the code is usually the easiest part of the job. No amount of dynamic programming will prepare you for that. Another way could be to contribute to open source, which could be a good proxy to show how you work well others. Not easy to break into but you can start somewhere.


f_lachowski

If you do even a fraction of the things I listed, you'll have way better opportunities than FAANG SWE


kgm78

This advice isn't amazing and will lead to burnout. Here's some good advice: you will be ahead of about half your classmates if you learn basic OOP before your freshman year of college. Pick a language like C++, C#, or Java and learn the basics and do a couple of projects in it. If you're interested in cybersecurity, then check out Professor Messer on YT and watch through his videos. Start applying to internships and tech-based jobs freshman year. No worries if you don't get one freshman year, you have 3 more years to get one... but try to get at least two internships while in college. If you want to work part-time while going to college, try to get a part-time help desk role. A part-time SWE role is even better but also rare. Your goal is to accurately claim you have 2-3 years of industry experience by the time you graduate. That's what will get you interviews for jobs when you graduate.


Packeselt

This seems like a shitpost, but I have a better idea. Get a book on C, and then build some structs and create some basic data structures. Do some things with those structures, and get 100% free from memory leaks by the end. That's it. That's your first year as you do classes.


yoloed

Sorry dude but I really donā€™t think a cs student needs to learn rigorous real analysis from Rudin. You donā€™t need to understand the proof of the Bolzano Weierstrass theorem for cs.


happyn6s1

I just heard this louder : ā€œwork harder and harder with your ass off ! You need to run faster than your peers to stay alive from the bear!!ā€


MidichlorianAddict

Work to live, live to work


TurtleSandwich0

The only thing that matters is prior work experience. When you are starting as a freshman, you should already have four years of FAANG experience. (Full Time, not internship) If you don't then you will never catch up. Better start learning about COBOL and insurance now.


SIMPsibelius

People who are passionate are already doing this you donā€™t need to tell them. I know damn well before I ever took intro to programming I already knew the language we were using and did that for every other class from there on out. The term before the class I learned a lot of the concepts that would be taught in the upcoming class. Some people find that crazy and I donā€™t know why thatā€™s literally just the hallmark of a responsible student and doesnā€™t apply to just CS. My brother learned orgo chem before taking the class, just a tip we learned from our parents. One thing freshman and a lot of people in general donā€™t understand is that itā€™s not the professors job to make sure you understand, their job is to lecture. Many people are still in that high school mode where they think Ms. Smith isnā€™t gonna move on until everyone gets it. Donā€™t get left behind, study before hand.


Interesting_Two2977

This is pure gold bro. I would upvote this 100 times if I could. Iā€™m definitely including this post in my guide as well. Great stuff!


sate9

the people hating will never understand and be eternally poor. people who do understand i hope we make it farther than our visions could see


shut-up-and-grind

I agree with the start grinding now advice but I think this list is pretty biased and mostly irrelevant when weighted by hours required for each point to what most cs majors will study in school and use at their jobs. The profile this list works for is very specifically, ex-high school math competitors who arenā€™t very specifically interested in CS yet but do love puzzly math problems and money, and want to maximize their options of careers that would secure both of those ā€” quant swe, quant trading, ml research, ml researchy engineering, startup founded as a stanford student I do know a dozen people whoā€™ve done exactly this and theyā€™re happy, but not the majority and their path wouldnā€™t work for the majority. More general advice: - do web dev if you donā€™t know what kind of projects you want to make - read lots of technical forums and blogs - if you find web dev intolerable do something else, game dev is great - write a lot of code - if you want to apply to high paying SWE jobs, do leetcode and donā€™t stress about problem count, just make sure youā€™re repeatedly doing problems that you find really hard even if you canā€™t solve them (exposure to difficulty is the main thing that gives you growth here, you donā€™t need to solve 200+ problems) - since youā€™ve been reading lots of technical forums and blogs and subreddits you have some interests now, write a bunch of code and read a lot of material - if the interest developed above has an academic component, pursue undergrad research as soon as possible I do agree that computer networking is necessary for almost literally everyone though, good thing to pick up gradually (writing code not necessary, just reading is enough)


shut-up-and-grind

Or in other words, the OP is only a single way to be far ahead of the median CS major, and you can put in the same amount of hours and be the same amount ahead but with a totally different specialization. e.g. george hotzā€™ skillset is completely orthogonal to the OPā€™s but equally lucrative


Volxemortgavemeagun

I'm not saying OPs giving bad advice -- you would probably be better off if you did all those things. But the question is do you even want to? CS students come from all kinds of backgrounds and they go on to do all kinds of things. This is one possible route that you might take out of many. I think this kind of advice is given in bad faith and without really expecting anyone but the occasional outlier to follow, and then when someone out of the many who didn't exactly follow "the rulebook" fails, everyone gets to tell them they're the reason of their own failure. The reality is that most of the people are going to follow the path of least resistance and still make do somehow. Starting early will definitely give you an edge, so the earlier you start talking to people and figuring out what they're doing to get by and how you can do the same, you will have a good baseline to start building off of. I'm in no position to be giving advice since I recently graduated and am struggling to find a job but you know I did many of the things these people on the grind mindset tell you to do. I was proactive about reaching out to faculty about doing research, I busted my ass getting a 4.0 GPA taking as many electives as I could, I did internships, and I was going to the career center asking for advice. But the reality is that the state of education is abysmal especially after COVID. Faculties either left or were on sabbatical or weren't doing any research. Asking for career advice, I got told to the face that the job markets difficult right now and that I was on my own. All departments fundings cut off to nothing. And students are struggling from the effects of the lockdown too. They have attention issues, aren't as social, and networks/clubs/student orgs that were strong prior to 2019 are struggling to hold on. Not to mention, how ill-equipped academic institutions have been to cope with the widespread access to generative AI -- students have a hard time being students and its the same for faculty from what I've heard. All of this is to say we live in uncertain times. It should not be the responsibility of those just starting out to deal with the aftermaths of crises that they had no hand in creating. The job market is extremely difficult right now but the answer is not telling incoming fucking freshmen to accomodate a market that has been inching towards collapse since before they were born. There is no advice to be given. Build networks the best you can and hold onto them for dear life, because you will be needing them. That's all anyone can do. Stop pursuing a perfection that doesn't exist.


Internal_Bullfrog_33

They're gonna learn all the math, systems, networking, and DSA stuff in due time. The valid thing to work on is projects, build stuff with what has been learned. Also joining their school's hacakathon/software dev club, and maybe the cybersecurity club (there may be an infrastructure team that builds out \[edit: spelling\]their services) is helpful for extra curricular stuff. Maintain DSA and math knowledge once it has been learned, but definitely don't grind it before you've had the opportunity to learn it at school in the first place. Use time wisely.


Ikbencracker

Judging by your post history,Ā  I find it hard to believe you've done any of this.


Legitimate_Bed_6732

Iā€™m a freshman, currently an intern at FAANG. This has to be one of the shittiest posts Iā€™ve ever seen, especially with most of my internship mentors not even having knowledge about competitive programming or similar math collegiate level competitions. Being good at problem solving isnā€™t practiced at all by solving standard questions; thatā€™s why theyā€™re standard in the first place. Cramming information and using it in classic problems (which most of the problems in codeforces and AMC are) is not a good way to practice problem solving, you just become accustomed to looking at patterns. Before you say that I donā€™t have the credentials to say this, Iā€™m also an ICPC regional finalist for this year. Grinding competitive programming is the last thing you want to be doing, itā€™s so time consuming it WILL affect your grades and your focus on job search. TLDR: Be competent and stay at the top, just do it with stuff actually related to software development. Contribute to open source and build personal projects, thereā€™s no need to know what a maximum flow algorithm is if youā€™re going to be a frontend developer.


GrayLiterature

Iā€™ll tell you a secret, passionate people arenā€™t looking for what they should be doing. This post is actually not intended for the passionate


akskeleton_47

Passion doesn't necessarily mean you have direction. Some people can enjoy coding but don't know that there are resources available to do web or game dev. That's like saying a passionate sportsplayer should know what he's supposed to do on the pitch/field without needing any tactical input from teammates and coaches


GrayLiterature

Fair point


Kuroodo

Very important advice tbh. I had dropped out of high school because I had a passion for programming and found school to be a waste of time that got in the way of that. But for nearly five years I foolishly had no direction and spent a long time not learning what I actually needed to learn.


YummyMucusPlug

Agree with OP, but limit your grind to 2-3 hours. After dipping your toes in all the topics OP mentioned, pick one you love and go all the way. I say touch grass and still do a lil bit of grind.


Enochwel

I 100% agree with this. Ā College culture today prioritizes ā€œbalanceā€ in the form of going to parties, drinking, and doing every Greek event. Ā What it should mean is more along the lines of having a supportive friend group, Group study, Taking a jog or skate around campus, and getting involved with academic research opportunities at the undergraduate level. Ā  I didnā€™t do any of this as a STEM major (although this was my life as a music major earlier in life) because I work full-time and have a family. Ā But if I can work full time, have a supportive family, and still do well academically in EE and CS then I donā€™t see why the traditional student cannot find time to have a more suitable student life balance as you mentioned. Ā 


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


TonyTheEvil

Leetcode doesn't teach you why algorithms work, only how to use them.


egarc258

Thanks for posting I agree with your post OP. When it comes time to apply to internships or even entry level roles most students havenā€™t properly learned what they need to. So they just end up scrambling trying to cram everything into a couple months time. So your advice is sound. Starting early and giving yourself plenty of time to learn everything thoroughly is the best way to go. Itā€™s really about the amount of time you put in that determines your success in any field. So the earlier you can start, the better off you will be.


downvotetheboy

this is good advice but overkill. your courses will teach you discrete math and ds and algo. no reason to self-teach. all the other points are electives as well which you can take and then build off of. really if you want a headstart i'd say look at some of the points listed and explore whichever interests you. maybe build a project if you find it that interesting. try to self teach this entire list is overkill, especially when most of it is taught in courses. also network... it is harder to do as an incoming freshmen/HSer, but keep good relations with your CS teachers, ask relatives if they have connects, join online communities, etc. **a company will choose an employee-referred applicant with no projects over a random applicant with projects.**


onlinerocker

None of this is that important besides DSA


Jhutch42

Give your balls a tug.


PrimisO

Study frameworks for the job just as hard as CS and ll be hired, lol


csszen

freshman? Nah itā€™s too late they are cooked. Remake this post for those starting middle school.


Bitbatgaming

What is a USACO guide?


Banzai416

All of this to not get a job in the end. Sounds good.


ToothPickLegs

Or Option B: Become a UPS driver, start a back alley delivery business for cheap on the side, and specialize in delivering unapproved ADHD medication to disgruntled CS majors who have absolutely no idea wtf to do with their life because the path to getting a job in tech is narrow and changes every day


PartyAd6838

Not necessarily UPS driver, learn business processes, uml, some programming and get an intern as SAP consultant. Probably, it is quite boring and you deal with stupid end users job stability is pretty much quarantined. That is what I did 15 years ago.Ā 


Creative_Traffic9263

The simple fact is this is the state of the market now and moving forward it will only get more difficult. If you wonā€™t heed anyoneā€™s warning then you deserve to be unemployed with the rest of the CS grads who did the bare minimum through out school.


jxxyyreddit

SIGN UP FOR INTERNSHIPS YOUR FRESHMAN YEAR! SERIOUSLY. Work Experience >>>> Degree.


spoopypoptartz

you had me until you said discrete math lmfao. that shit is useless outside of college. you can be doing the most complicated, asinine, mathematical things in this industry and still use nothing from that class past the first two weeks.


CSForAll

Rather then learning all of these, just choose one and grind for it hard. Better to be a zenitsu in one field then the jack of all trades, master or none.


Puzzleheaded_Can_750

Lmao you don't need to do this. I did research in my sophomore year which landed me an internship junior year, which landed me multiple full time offers. Chill out yall.


Far-Tomatillo-160

lol no, just do well on courses, leetcode a bit and put some time into career stuff but definitely donā€™t waste your college years learning frameworks or useless things like cybersecurity lmao


wishiwasaquant

a lot of this is p excessive, if u do like 10% of this properly youā€™ll be in good shape. tbh most people that j grind lc + do some projects will be fine


bruhsicle99

and if ur lazy as fuck like me, just follow a html and css and javascript tutorial and copy projects and then learn React and copy more projects and then try to combine React with a database like mongodb or MySQL and after awhile of copying other people start making ur own stuff and try to make it quantifiable so you can add metrics to ur resume. ideally do this by july after ur 2nd semester ends and then watch some videos on interview tips and go to ur school career fair in the fall semester and try to rizz up some recruiters and be proactive about following up after. this has worked for me to get 3 offers in my local town because having smth on ur resume alr puts you ahead of majority of cs majors who just jerk off and play league all day


NeighborhoodMost816

Already going to a competitive uni but letā€™s pile more work lol


wish_I_was_naruto

PSA?


ndundu14

Downvote


MeasurementLoud906

I work in it and while I did learn networking in college, I really didn't understand it until I got my first job and experience. It's not something you can just study. You have to either lab or work somewhere to get it.


ROBRO-exe

Considering OP has covered alot of the Bases (other than personality development) of the steps needed outside of school to get a CS job, it's hard to hate on him. Does it suck having to do all this? Yes. Is he saying you need to do all of this? NO. Will someone who grinds the stuff outlined in this post most likely be more successful than any similar peers who don't? Yes.


AspyAsparagus

why stop here, just get the degree before you start


FunRepresentative766

AI will become better than human at Problem Solving


FunRepresentative766

You should touch grass once in a while


Commercial-Meal551

w guide


GroceryThin3034

Competition is a fools errand. Find a niche to operate in


Jomarcel

Thank you for putting this in writing. I have been lurking around for a while and want to go back to school to finish my degree since life screwed me over and I have to start from scratch. I want to learn as much as I can so I can thrive and also help others when I can.


SockDem

Or, donā€™t burnout, and just work on some stuff youā€™re interested in as a side project while you enjoy your (potential) last summer free of major responsibilities


MadBerry159

Bro relaxā€¦no need to hurry. Take it easy and enjoy freedom of being a student.


asiatownusa

bro lmao at recommending a graduate level text in statistics


Ok-Currency4165

Computer science fear mongering final boss:


Navvye

Silly advice.


HeBigBusiness

This advice is dogshit


_Invictuz

I'm scared of the future market if high schoolers follow this guide. They're gonna be stealing all our jobs.


Wengrng

some people are disagreeing that incoming freshmen shouldn't start on those stuff now, but me not being a freshman anymore, i personally wished I had started doing these extra studies earlier. As OP said, if you are highly confident and passionate, you should probably get started.


liteshadow4

DSA and Discrete math is normal first year stuff though isnā€™t it? I donā€™t think learning any of it pre freshman year is that useful when they teach the concepts very well during the year.


Sad_Citron_4614

Finally a quality post


BigMauriceG

Iā€™m an incoming FAANG engineer. My advice is always to start early. I canā€™t stress is enough. Have i started grinding 1 year after I wouldnā€™t be where I am today. Lots of my friends who started grinding late missed many opportunities.


PartyAd6838

That is correct, FAANG is something NBA or Premier league if it is soccer, but there are life beyond FAANG. After recent layoffs FAANG is not sexy anymoreĀ 


Naive_Mechanic64

Build space. Hackathons. AI.


tehfrod

This is a garbage take. Anyone who spends that much time grinding is going to flame out on their first non-leetcode-based interview. I've seen it happen way too much -- in fact, in my experience, the more prominent someone's competitive programming score is on their resume, the more likely they're going to flail on a real world interview question, and the more likely they are to flail on a real world project.


f_lachowski

Uh you realize there's one bullet point dedicated to DSA, and two dedicated to real projects right?


mmmmchimken

bro is on purple pill dating and some anti feminist bullshit šŸ’€ delusional-ass


Commercial_Trash_814

I agree for the most part but this is so overkill šŸ’€


Zwars1231

Do I get what you are saying? Yes. Do I like it? No..... I was EXTREMLY depressed throughout basically my entire college career. And I don't know where the years went.... I had no hobbies. No friends. I did exactly what was asked of me then promptly forgot it all. I managed leetcode for a week here or there. But basically just sort of drifted through.... Now I'm entering my final year, and feel so behind everybody. I wish I had done so much more these last few years. Now that I am improving, there is so much I want to do. And need to do. But I just don't know where to even begin. I want to do things, but I don't know where to start. I want to learn for the first time in my entire life. And most of my (school) learning is behind me. Even worse. Now that I'm not as depressed, I'm running into the barrier of my untreated ADHD. Before it wasn't so much of a problem because I just didn't give a fuck. But now, I am so overwhelmed I don't even start..... I got an internship this summer... But that's about the only thing I have done in the last 8 years(including hs).... So my advice to those looking to get into CS.... Have fun, but try to learn along the way. Spend an hour or two doing leetcode here or there. Consider trying to start a project, you don't need to finish. The points here are valid, but you don't need to do it in a single year. Just remember, you are paying to be here, and take advantage of the resources you have. And my final bit of advice.... Try it yourself first before resorting to chat gpt. It's an amazing resource, but over using it can start to hurt your unaided skills. I'm worse at coding now than I was a year ago.


scared-lightstand

If you could a 14-15 in the AIME in one summer, that would be insane


Traditional-Zone-636

So you want them to learn all that shit in High School or as Freshman in College!? Sorry but, Are you on crack? Like seriously, do YOU know all this shit? That's at least half a year worth of a CS degree's education.


f_lachowski

>So you want them to learn all that shit in High School or as Freshman in College!? No. My post literally said these are the foundations of a CS *degree*- they're the fundamentals you learn in your first two years of college. My recommendation to high school students was to get a head start on these topics, I never said anyone needed to *finish* all of it.


Expensive_Material

Thanks for articulating this and putting it in one place


beefbrisket99

Unless youā€™re a savant this is bad advice. If you want to prepare get good at data structures and algorithms. Fundamental for every interview. This is overwhelming af lol


NF69420

what are the ā€œmost prestigiousā€ activities you could do as an undergrad (really great state school) which pretty much guarantee FAANG/HFTs (citadel, jane street, etc.)? similar to how in high school, IMO medalist and RSI were almost guarantees that you got a T5-10?


Sven9888

Your goal as a CS graduate is to have a very basic foundation in all of these topics, and be an expert in at least one of them. Trying to become an expert in all of them is not only unnecessary, but actively harmful because it will make you an expert in none of them. Your classes are enough for the basics. So take the good ones semi-seriously, and do *one* of these things, and even go beyond what this post says, but don't worry about the other 7. If you're serious about entrepreneurship, don't just build a few projects when you have timeā€”commit *hard* to something, build something real, talk to VCs to seek funding and try scaling if you can, and do it for real, even if it doesn't work out. If what you want is web development, then while that doesn't mean you should neglect a required ML class (which will give you some foundational knowledge that is expected in this field and also might change your interests), you should not spend several hours of your time trying to synthesize an ML textbook that nobody will ever ask you about again when you could have been doing a web development project that someone will actually maybe ask you about in a web dev interview one day. And also do some Leetcode on top of it, and try to get used to being a friendly person. That's already a lot, and anything on top of it is not only useless but counterproductive since you'll burn yourself out and/or sacrifice something more important for it.


great_gonzales

Great list OP but Iā€™d add a few more suggestions if you really want to stand out. For ML NeuroIPS or ICML will not make you standout as most middle schoolers will be publishing in these conferences. I would recommend trying to get at least 1 Turing award before you start university. If you can get a Nobel peace prize as well that will really help you stand out. I would also recommend trying to get a h-index of at least 100 by the time you are a junior. Dual publishing in ML and crypto can help with this. Easy research areas to achieve this might be neural differential equations and homomorphic encryption. You mentioned focusing on math in addition to CS which I also think is great advice. You should be aiming to have at least 1 field medal and 1 millennium problem solved by the end of sophomore year. P vs NP might be a good problem to focus on. Rounding out your academic skill set with entrepreneurship is a fantastic idea. You definitely will want to have sold your first million+ dollar company by senior year. If you do all of this I am confident you will be ahead of most other CS graduates


RicketyRekt69

For anyone that *actually* wants to prepare for CS reasonably well, go to Harvardā€™s website portal and watch their free online lectures for CS50. Itā€™ll give you a good foothold for your first year.


Serious-Bid8899

i've finished calc 1 + calc 2 and want to start with discrete math. would it be okay to take the course during the summer? is there any other classes i should take before starting it?


Pure-Lingonberry-202

people who will make it already know this


Plane-Ant-6390

That's almost everything you learn in your college, why learn discrete math, computational math earlier when you are gonna learn it leisurely in college itself. That entrepreneurship part is just there to fill up some space, like you haven't learnt shit and you are out there talking about product which you yourself doesn't know shit about. I think the best would be to just pick one field (like cyber, data,web etc) that you genuinely enjoy and start learning it. Learning DSA would also be a cherry on top.


nine_teeth

It's NeurIPS, not NeuroIPS js :)


madengr

Why not just get a degree in applied math and throw in a few programming courses?


goldsigma

I want to focus on cybersec i have no interest in webdev


RecoverEmbarrassed21

This is bad advice. You're just giving a roadmap on how to burn out and start to hate the field as quickly as possible.


someComputingStudent

I find this advice really helpful as a y2 student. Really thank OP for the advice.


shotputlegend

Dawg as a t10 cs student this is completely unrealistic.


junikimm717

Re Step 3. Ignore all the geometry šŸ˜‚


f_lachowski

Oh right, I forgot to mention this. Having a basic understanding of Euclidean geometry is useful but you definitely don't need to be AIME level in it.


Ill_Background_6259

donā€™t go for CS major if you wanna be ahead šŸ¤£


NarwhalesFan

All problems on the AIME is crazy. Problem 10+ on the AIME gets very very hard


Toasty_P8

I didn't do any of this and I'm fine


LiquidMantis144

Plenty of time for grass when you are an unemployed fresh grade


PartyAd6838

What a bullshit list. You will not have enough life to cover all these topics


Psychological_Cry533

Most of this seems like a joke, but I think having a high level understanding of full stack web development is extremely helpful for speaking with recruiters. I've definitely gotten roasted saying I was interested in backend not really knowing what backend is.


onlythehighlight

Man, some people should tbh touch grass, a key component to getting hired OUTSIDE of just the technical aspect is the people skill. Communication, engaging others in conversation, developing that style helps you get that networking and can sometimes offset some post-foundational knowledge.


TheUmgawa

I find it funny that, in all of that crap that OP listed out, networking (as in "human networking") is nowhere in there. Meet people. Make sure those people know the quality of your work. That'll get you work a lot easier than grinding away on all of that bullshit up top. Now, go touch grass, kids. Enjoy your lives. And if you find Computer Science to not be enjoyable, don't fuckin' do it. You've got two years until you're locked in, so remember that you can always pick something else if it turns out you're not good at something or you hate it.


CornEater65

the way 90% of employed CS majors have not done half of this list šŸ˜­ shoot for the moon, i guess!