#1: Consider Your Major
I’m assuming there must be lots of people who get jobs outside software with CE/IT/EE majors, but due to my exclusive software focus, I unfortunately do not see them. Instead I see lots of people who somewhere along the way realized software is where all the jobs are, and have since been working to make up for their lack of a CS degree. I’ve worked with many great developers who have not had CS degrees - even a few with no degrees at all. If you are committed to the profession, it doesn’t matter much what your degree is after a few years of honing your craft in a good team. But for a new graduate seeking their first job, you’re ability to demonstrate your competence in software, algorithms, and data structures to a potential employer will be a lot easier with a CS degree (or with a lot of practical experience writing software).
#2: Keep Writing Code
It’s surprising how many graduates want to be software developers after starting coding in their sophomore or junior years. If you start writing code in college and hope to get your 10,000 hours before graduation, you’ll need to be writing code 48 hours per week from here until receiving that diploma. If you were not fortunate enough to have started writing code in middle or high school, there is no better time to get started than now. Don’t just rely on school work to stretch your coding skills - find or create a personal project on the side to hone your craft. As a hiring manager, candidates whose only coding experience occurred in a classroom usually don’t make it far in my process.
#3: GitHub is Your Friend
If you have not set up your GitHub account, please do so now. GitHub is your de facto resume for post graduation. Start publishing repositories containing interesting projects, code that might be of interest outside your coursework, or just pick an open source project and contribute back. Hiring managers will be looking at GitHub to get a sense of your programming skills and technical interests.
#4: Find Great Internships
Internships are your chance you get real world experience building software, and get exposure to different types of companies, teams, and industries without having to make a long term commitment. Some schools sufficiently value this experience that they make internships or co-ops a requirement for graduation (e.g. Northeastern, RIT). It takes hustle to find great internships, and thus the quality of your internships says a lot about you as a future engineer. Have a clear plan for what you want to achieve in each internship, and target specific companies that will help you achieve these goals. Don’t limit yourself to companies explicitly looking for internships. Grabbing coffee with potential hiring managers before the rush of intern applicants arrives will give you a clear advantage.
#5: Do Well In Your Major
I can understand if you do not graduate summa cum laude. There are a lot of distractions in college, of which I am sure I fell prey to all of them. But I am less understanding of not doing well in your major. If you want to be a software developer but cannot maintain a high GPA in your CS classes, it doesn’t reflect well on your potential abilities. Remember that hiring a college graduate is the highest risk hire a company can do. To minimize this risk, hiring managers look for indicators that suggest the candidate has the drive and intellect to acquire the necessary skills to be successful in the profession. A high GPA in your major is just one way to demonstrate this to hiring managers.
#6: Engage in the Local Tech Scene
If you are lucky enough to be going to school in a major city like Boston, you have a luxury few others can take advantage of: a vibrant tech scene. Every week in Boston there are hundreds of meetups on different topics, and a steady stream of public events. Take advantage of the resources around you to advance your knowledge, make connections and hone your skills. Hiring managers love to find autodidactic candidates whose natural curiosity is not confined to a classroom.