- Acclimating to College
- Find Your Group
- Learn Discipline
- Take Care of Yourself
- Any Experience Possible
- Teaching Assistant...
- Personal Projects
- Research / Freshme...
- Any Opportunity
- Be Introspective
- Before the Grind
- After the Grind
- Get Experience
- Career Fair
- Apply... everywhere!
- TA/Peer Tutor/Research
- Becoming a Competi...
- Strong Resume
- Learn the Fundamentals
- Personal Projects
- Prepare for Junior...
- Juniors and Seniors
- Job Grind
- Pay it Forward
The purpose of this guide is to give you actionable steps based on your current school year.
This guide is very high-level. We highly recommend you go to CSC events to get more practical advice.
As a freshman you should have two goals: acclimating yourself to college and getting any experience possible.
Adjusting to college is easier said than done. Below are some basics we recommend:
We recommend you join new clubs, try new things, and immerse yourself in the college experience until you have a trustworthy and reliable group of friends around you. College isn't easy and having a support system around you is going to be key to your success.
If you're struggling to meet new people, don't give up! Keep joining new clubs and finding ways to participate on campus. Eventually you'll have a breakthrough!
College will be a vastly different experience than high school as now it is your perogative to make sure you succeed in your endeavors. Try to make sure that in addition to new social and extracurricular obligations you find time to study and do well in your classes and other academic/professional commitments.
Discipline will be very important once you start applying to internships in the future as the interview process will end up being very intense and you'll have to be able to balance it alongside all your other responsibilities.
Be kind to yourself as you go through college. You'll be encountering a lot of new experiences and for all the highs that you will have, there will also be lows.
At the end of the school year (and generally) it pays to be introspective and retrospective. Make sure you are happy with your current situation. Here are a few questions you can ask yourself:
- Do you like the people you are around?
- Do you like your major/what you are studying?
- Do you like Pitt?
Be truthful in answering these questions and you'll be greatly helping your future self.
If you're a freshman/beginner to CS, the truth is you probably do not have much coding/professional experience, making it super hard to stand out as a candidate. Be scrappy and try to get any experience possible. Here are a couple of options:
If you do pretty well in your classes then you should apply to be a Teaching Assistant or Peer Tutor. Pitt CS never has enough of either which means getting the position will be non-competitive and you will get the opportunity to be paid to teach CS!
Applications usually open up mid Fall or Spring semester, but you can also ask your current CS professors to remind you.
It hurts when companies won't hire you for entry level technical experience because you don't have any technical experience. In these scenarios, the best way to show off your technical skills is by doing personal projects.
Learn a new language, go to hackathons, or help solve a current problem you have using code! Once you complete a personal project, you then can put it on your resume and talk to companies about it. Though it may be intimidating in the beginning, it also is a lot of fun!
Freshmen in the past have gotten research positions and internships but it isn't easy. The best way to maximize your chances for an internships is to apply to all the freshmen programs and hope one of them sticks.
Research is similarly tough since it often involves domain knowledge that most freshmen don't have. We recommend you get to know your current CS professors and the research they are currently conducting. Ask if they are looking to hire/mentor a freshman, or if they know any professor who is.
Whether it's volunteering at a local school or a club leadership position, we recommend you try to take advantage of any opportunity that is thrown your way as each opportunity is a chance to grow your network and get any semblance of technical experience. You never know what might happen!
Sophomore year is a busy time. Your objectives are to get experience (either an internship or something else), to start turning yourself into a competitive candidate, and to be introspective.
Before you even start applying and interviewing, you have to be introspective. The interview cycle is time-consuming and often compared to a 3 credit class. Will you be able to handle that on top of your school schedule?
It also is a vicious cycle - you will get rejected and fail. Are you ready to be told you're not good enough? Do you have a group of friends or family that you can rely on?
Finally, it might not even be worth your time. The effort needed to get a top company offer versus a less competitive company (ones you see at the career fairs, etc.) are substantially different. Getting top company offers will be much more laborious.
List the reasons to why you want to work at a top company. Do those reasons warrant going through the internship grind?
Your internship grind normally ends when you accept an offer or give up. Take some time off and try to reflect on the experience.
Since you are a sophomore you will likely have another internship grind cycle coming up your junior year. How can you learn from this past experience?
What went well? What didn't go well? What should you do differently next time? What should you look out for in the future?
Asking these retrospective questions will give you a competitive edge going into the next year.
As a sophomore, companies will start seriously considering you for internships, take advantage of that!
If you're like most sophomores, you probably don't have internship experience yet. Your best bet for getting an internship is to go to Pitt's career fair. Companies at the fair literally pay Pitt to recruit students like you!
We have an extensive guide on going to the career fair, so be sure to read it to learn the basics! Here's a quick run-down:
- Practice your elevator pitch
- Talk to as many companies as possible
- Follow up with the companies you met!
People who want top job offers usually end up applying to every position they find. If you're successful at the career fair and don't want to work at a top company yet, then you don't need to try as hard, but it is a very insightful experience regardless!
From 2020-present, CSC runs the internet's most popular internship job board. Try to apply to as many companies there as possible. People often apply to several hundred postings!
If you don't think you have enough technical experience try to be a TA or Peer Tutor. Now that you've taken more CS courses and know more professors, research should also become more attainable.
Now that you have a very serious chance of getting internships, you'll want to make sure your ahead of the curve. Learn what a competitive candidate looks like and then try to be one.
We have a comprehensive resume guide that will help make your resume stand out. Here's the basics:
- Use online builders like flowcv.io to easily make a beautiful resume
- Don't sell yourself short: include your personal projects, non-relevant work (eg. camp counselor, retail, bussing tables), and awards!
- Try to write strong bullets: focus on the impact of your work not the actual day-to-day activities.
CSC has a #resume-review channel where people often get feedback on their resume from. If you have any concerns, be sure to include yours there!
Make sure you know and understand the fundamentals of how CS students get jobs. It boils down to three parts:
- Having a strong resume
- Applying to a lot of places
- Passing interviews
Here are a few things you should try to understand:
- The difference between a technical and behavioral interview?
- What is Big N and FAANG? How do they interview candidates?
- What is LeetCode? How do you study LeetCode?
- How have people I know gotten internships? What did they do to succeed?
CSC gives a talk on this exact topic every semester so be sure to go to that!
If you struggle to get interviews, keep building personal projects! Personal projects are a great for conversation during interviews, will let you display your technical experience without having work experience, and you'll get to learn a lot of cool things.
Whether it's a new language or a website, go online and learn! The world is your oyster.
Your junior year will be the most important year for getting internships. To maximize success then, we highly recommend sophomores spend time preparing for the upcoming grind.
To pass interviews at top tech companies you need to be able to pass technical interviews. The questions you’ll get in those are usually carbon copies from problems found on LeetCode.com. Students typically need to study between 50-150 problems.
On forums like Reddit, you’ll see people who have done 300+ problems, but honestly that is way overblown. If you did 300 Leetcode problems and are still struggling to pass interviews then you probably didn’t study those 300 problems effectively.
We created a 12-week Leetcode study plan (with 3 bonus weeks!) that we highly recommend. The problems are logically ordered for beginners and will make you extremely well equipped for any technical interview.
We already mentioned resumes and we’ll say it again. Regardless of how much you study or how hard you try, if you don’t have a resume that is well formatted and effectively represents yourself, companies and recruiters will not give you the respect that you deserve.
Get resume feedback from your CS peers and adapt. You’ll probably iterate several versions before finally settling on a great one.
As a junior or senior you have one goal: get a job.
It’s officially show time. Starting in the fall, all the work you’ve put in over the past few years will be put to the test.
Apply apply apply. The only way to maximize your chance of an offer is to apply to as many job postings as possible. Disregard asks for specific languages or requirements, if it looks like a position of interest then send an application.
Go to the career fair, to company events, and network like crazy. Make sure you are making the most of all your opportunities.
If you have past internships or experience, you can be pickier and have more of a filter when it comes to applying but regardless you don’t stop grinding until you accept the job offer.
Once you accept your offer, you can finally chill. Years of working last minute on projects, grinding LeetCode problems, and stress have finally culminated to your newly accepted job. We really don’t have any advice other than chill and do whatever you want to do.
It is inevitable that others have helped you along your journey, be sure to thank them for their help. Now it’s your turn to pay it forward and help the next generation of CS students succeed.
Become a club leader/officer, mentor underclassmen through CSC, or even write/edit wiki guides like these!
Whatever you do, be sure to leverage your wealth of experience and knowledge for the better.