Majoring in Computer Science: What I Wish Someone Had Told Me Sooner
Lorin Achey
AI/ML for Robot/AV Perception | PhD Student | Lifelong learner with a "can-do" attitude and a passion for the outdoors
There is so much to be excited about in Computer Science! So much so, that it can be overwhelming for a new CS major to take in. While there is a lot of buzz, excitement, and energy in this field, there's a serious lack of advice for students entering the industry. If you're a student, someone coming back to the workforce, and/or making a career change, you might need some specialized advice, advice I wish someone had given me a heck of a lot sooner. But let me give you some background first and share what inspired me to write about this topic in the first place.
I thought, like many students, that I would go to college and get my degree in Computer Science, and so long as I kept my grades up and stayed involved on campus, I wouldn't have any trouble finding internships along the way. I mean, the "tech shortage" is a big deal, right? Not exactly. After ~70 applications for summer 2019 internships, 15 rejections, 2 interviews, and 53 ghostings, I realized I didn't understand this tech shortage at all. I had been told that all I needed to do was excel in my classes, learn the concepts and good programming practices, and if I did all that, there would no shortage of opportunities for me to sharpen my skills and build a relationship with a company during an internship. But that's not what was happening.
In hindsight, I was naive, and so were my peers, colleagues, and professors. The truth is there's no shortage of software developers. Every job you apply to, has hundreds of other applicants, all of whom may be just as qualified as you are. Having a great understanding of data structures, algorithms, and other CS curriculum fundamentals is awesome, but it's not going to get you an internship interview. If you're relying on your coursework alone to get you an interview, you're going to be disappointed.
What makes this so discouraging as a student, is that you're in the process of figuring out what and where you want to be. You don't necessarily know exactly what field of CS you want to go into and you can't learn everything about every topic in a few months. You're looking for the opportunity to try things. You're hungry for a challenge. You're ready for a chance at a field you've never been exposed to! But your passion, determination, and curiosity, aren't what companies can see from your resume. You don't meet the "Preferred Qualifications" listed in the job description, and that means you can't stand out from the hundreds of other students vying for the position.
So you decide you're going to learn something new, something edgy to get into this industry. You sit down at your computer and start Googling. You're feeling the rush of excitement and discovery! You're feeling that confidence boost from doing something on your own! But the longer you keep at it, the more that sinking feeling in your gut starts to whittle away at the excitement. Hours later, you're no closer to finishing a project or understanding a topic. In fact, you've introduced 16 new topics and concepts you'd never heard of, spent hours following one link after another, and now you're too frustrated to keep sitting there trying to figure out where you went wrong. You're annoyed at yourself for not being able to figure out how to complete the project you had in mind, and now on top of feeling frustrated, you're bummed that you don't have a cool project to show off the next time you're talking to a recruiter. Sound familiar?
Don't worry. You're not alone. If you're making a career change into the technology and computer science fields, or struggling to get through your intro level computing courses, don't panic. Be patient with yourself. Many of the students who are getting internships right away already had programming courses in high school or technical college that helped them learn fundamentals and build simple Android, iOS, and web applications that they can show off on their resumes. While you are learning fundamentals and struggling through your homework assignments, they were honing their skills by fixing up old applications and starting new ones. They have a foundation that has prepared them with vocabulary and concepts you haven't seen yet. They have experienced more than you have. No one told me this, and because my high school didn't offer CS courses, I had no idea that my classmates had prior experience. I thought they were just innately talented and better at learning.
If you're watching students around you excel while you are struggling with the material, you need to remind yourself of one thing. Lack of experience is the only thing separating you from these students. You have the talent, the smarts, and the motivation. You will get there. It's simply a lack of experience in the field that's separating you. And trust me, you can close that skills gap very quickly!
The way I see it, you've got two options. Fall into the trap of being depressed about being "behind" your peers and frustrated at the way companies choose their candidates, or you can do what I did, and completely rethink your strategy. Rethinking your strategy is tough. Where are you going to start? How are you going to do it? I've got some ideas to help you get started. It's a big undertaking, but if you've read this far, your head is in the right place and you are ready for the challenge.
If you have:
- Applied to a ton of internships and gotten no response (or few responses)
- Just started as a Computer Science major in college
- Transferred into the Computer Science program at your current school
- Decided to make a career change to Computer Science
- Found yourself longing for a new opportunity but can't seem to gain any traction
This series is for you.
In my next article, I'll be talking about how to make yourself competitive without going insane. I'll share some simple ways to build your resume and portfolio, and start developing a name for yourself. You can now read the next piece in the series! Check out Making Yourself Competitive for Internships in Computer Science.
Product Manager @ Hulu
5 年Great write-up. I agree with you that coursework and good grades simply aren’t enough anymore. Looking forward to the next article!
Engineering @ Undue and Architecture @ Harvard
5 年Paragraph 5 really reminds me of myself. It was so easy to start a project but ending was such a problem especially when I got frustrated in between like you stated. One of the things that have helped me so far is having an accountability partner. I'm thankful for that and been able to get more work done. And yes we are not alone!? Thanks for sharing! Can't wait to learn and be inspired more by you. Happy New Year @Lorin!
Systems Safety Engineer | Podcast Host | Aviation Week Network 20 Twenties | Brooke Owens Fellow
5 年Thank you for your honesty! I am so excited to read this series.
Viraj Nimmagadda
Product Manager, Technical @ Microsoft | Azure Compute | Cloud Infrastructure | Previously Meta
5 年100% relatable! What makes many computer science and engineering jobs unique is that the applicant has to be more proactive with her search instead of just following the coursework and getting good grades. Looking forward to the next article!