✋ Hey! This guide is primarily designed for current first-years and second years! Much of the information shared in this guide is based on anecdotal experiences from members and alumni of our community, which we’ve found to be effective for most folks within our network.
If you have suggestions, comments, or ideas for improvements, please feel free to make a PR on the Emerging Coders Website Repo.
In a saturated computer science market, getting started early in your career can give you a significant advantage, setting you up for valuable experiences and opening doors to more opportunities in the future. At Northwestern, underclassmen have access to a variety of resources and programs to build skills, connect with peers and professionals, and explore their interests in the tech industry.
Campus-Based Opportunities
Northwestern IEEE: IEEE NU supports aspiring engineers with workshops, hackathons, and hands-on projects, fostering technical growth, teamwork, and innovation. It emphasizes collaboration, real-world applications, and making a positive impact through engineering.
Peer Mentorship Programs: These programs connect you with mentors in fields related to your interests, enabling you to seek guidance, receive constructive feedback, and navigate both academic and professional challenges effectively.
Research Opportunities: Northwestern’s Office of Undergraduate Research provides endless opportunities for students to participate in faculty-led projects or design their own research initiatives, offering a robust foundation for future academic or professional pursuits.
Conference Opportunities
Conferences help with networking with professionals, recruiters, and provide access to several internship opportunities. Notable conferences include:
Tapia Conference: Focused on supporting marginalized groups in technology.
Microsoft Explore Program: Opens in September. A 12-week program focusing on engineering fundamentals and team projects.
Amazon Propel: Opens in August. A mentorship-driven program exploring careers at Amazon.
Uber Star Program: Opens in September. A 12-week summer internship providing engineering experience.
Duolingo Thrive: Opens in September. Focused on software engineering experience and mentorship.
Getting Started
Guides or steps to obtain the internships and training programs above begin with building a strong foundation in programming and technical skills. Here’s a step-by-step approach:
Learn Programming to a Comfortable Level:Begin by mastering at least one programming language commonly used in technical interviews, such as Python, C++, or Java. At Northwestern, this can be achieved by taking courses like CS 150, CS 211, and CS 111. While self-studying is an option, these structured courses provide a comprehensive and guided approach. Focus on writing clean, efficient code and understanding foundational programming concepts thoroughly.
Master Foundational Data Structures and Algorithms:A solid grasp of data structures and algorithms is critical for technical interviews. As an underclassman, focus on the following foundational topics to gain a significant edge:
Big-O Analysis
Lists
Stacks and Queues
Trees and Graphs
Sets and Hashes/Maps
Strings
Courses like CS 214 are especially helpful for mastering these areas.
Practice Problem-Solving Skills:Understanding concepts is one thing; applying them to solve problems effectively is another. Use platforms like LeetCode, HackerRank, or CodeSignal to practice problem-solving. Start with easy problems, then gradually tackle medium and hard problems to build confidence. Additionally, familiarize yourself with common interview question types and practice articulating your solutions through mock interviews. Learning to communicate your thought process is as important as solving the problem.
Leverage Resources for Interview Preparation:Take advantage of Northwestern’s career services, Emerging Coders workshops, and mentorship programs to prepare for interviews. Attend events offering mock interviews or technical prep sessions to build confidence and improve your skills.