Between 60-80% of underserved students that major in CS today do not successfully make their way to success within the software industry. Many drop out their Sophomore year, and even those that make it to Senior year often are significantly underprepared and underemployed after graduating.
Students in college that embark on the path to software engineering roles in tech, especially those from underrepresented and underserved groups, often face many of the following challenges outlined below:
- Lack an understanding of software engineering as a career and how this differs from Computer Science, and what software roles are actually like, causing them to believe things like “I need to be good at math”, or “the tech path isn’t for me”
- Lack a belief that they can personally get access to successful roles in the tech industry themselves
- Lack of confidence in their own abilities and this self-doubt causes students to fall off the path into tech (Impostor Syndrome)
- Lack of access to good role models and mentors in tech that are relatable and that believe they can succeed
- Lack a strong support system along the path into the tech industry which helps them tackle challenges as they arise
- Lack of a feeling of belonging and acceptance in their peer groups, as well as at tech events, hackathons, or in other social circles
- Lack the confidence, and are underprepared for “talking while they code” and are not taught how to follow the techniques to pass tough technical interviews
- Lack of access to the kinds of networks that provides access to great opportunities and critical insights into the tech industry
- Lack of guidance and knowledge on how to start building out their portfolios and develop skills outside of the classroom
These are all challenging problems. Our mission is to build support systems and programs that help lift as many underserved students as possible over these multitudes of barriers.
To understand our approach, let's identify the “ideal student journey” over 8 “milestones”. We can think of this as a broad student funnel combining “confidence impact objectives” and “career milestones”:
- Student Impact Objective: Confidence and belief that software engineering and the tech industry is an achievable and desirable career that is worth pursuing and that is a place that they belong (I belong, this is for me, and I understand where the pathway leads)
- Student Impact Objective: Confidence and enthusiasm in taking specific actionable steps towards engaging in a technical career path (I am excited to begin taking the steps to be ready for a successful career in tech)
- Career Milestone: Participation in early paid work opportunities (I got a chance to work on code & learn and get paid over the summer)
- Student Impact Objective: Confidence in technical problem solving and interviewing (I feel confident when I get into a technical interview)
- Student Impact Objective: Confidence in building products in real-world tech stacks (I feel confident in at least one practical technical skill, and I have built some cool things I am proud of)
- Career Milestone: Participation in 1-2 technical internships while in college (I received multiple technical interning offers and I am really excited for this summer!)
- Student Impact Objective: Confidence in developing their communication, leadership, and developing mastery through service (I feel confident in my technical communication skills, and have taken steps towards helping other students and/or intend to pursue future positions of leadership)
- Career Milestone: Full-time role in a competitive technical role within 6 months of graduation (I received multiple great full-time offers soon after graduating and I am really excited to get started!)
We believe that underserved students require systems that help them grow in the following ways in order to consistently ensure their path to success within software engineering:
- Inspire - Provide students a clear understanding of software engineering as a career, and the specific steps needed to be successful
- Think - Robust techniques and foundations for how to fundamentally solve problems as an engineer, implement algorithms, and analyze complexity in code
- Build - Access to hands-on opportunities to build fully functional applications that they can show their friends and add to their portfolio
- Career - Guides, resources and direct 1:1 mentorship and coaching through resume and LinkedIn preparation, and the entire internship search process
Any approach giving students the best possible chance at success in the software engineering field must combine all of these aspects over multiple years of a student’s development to offer a holistic approach.
There are four different major categories of our CodePath.org university programs that provide all of these above elements:
- Inspire Workshop Series - These are entry-level courses for freshmen and sophomores in STEM that provide an introductory foundation to product and coding that should be accessible to anyone but targeted to those who have encountered programming before in one way or another.
- Software Fundamentals Series - This is a three-part series focused on providing an in-depth foundation to make sure students are prepared for the rigorous technical interviews associated with top tech companies including data structures, algorithms, problem-solving, and behavioral interview segments. We provide a three-part series to provide students confidence and readiness for even the toughest interviews.
- Special Topics Courses - Empowering students with the skills and confidence to be high-performing software engineers contributing meaningfully to real-world projects after they join a company. This focuses on specific technical areas such as mobile development, cybersecurity, etc.
- Career Center - Working directly with students to secure internships and full-time roles by providing resume review feedback and guides, clear instructions on how to apply for technical internships, virtual career fairs, and other events dedicated to helping them find opportunities.
There are five key aspects of maximizing their probability of success:
- Setup for success. A polished resume, LinkedIn profile, and a technical app portfolio that offers them the best possible chance to get a phone screen
- Network and relationships. Taking steps to strengthen their network and have touchpoints with other students on this path and software engineers in the industry
- Internship search. A clear understanding of and support for running a robust internship search and employing necessary strategies that help them get access to phone screens
- Interview readiness. The necessary preparation, techniques, and confidence to pass technical interviews at various difficulty levels once they receive interviews.
- Domain-specific confidence. Some practical knowledge and experience in at least one tech stack in order to be prepared and confident in their internships
You can see our programs outlined below:
It’s important to note that every student’s path might be different but we encourage and work with students to complete as many of the following as possible while in school for 4-years:
- Complete 1-3 of our software fundamentals course sequence
- Complete 1+ special topics courses
- Participate in 1-2 virtual career fairs
- Work in 1-2 technical internships
- Help as a TechFellow on at least one course they completed
To read more about the student journey and our framework for mastery, check out the Student Journey page.
📖 Source: Codepath's Holistic Path Forward