Hi Reddit!

I’m a former startup founder who left the for-profit world to launch CodePath.org, a non-profit which helps low income and underrepresented college students all around the US land software engineering jobs in tech. We’re working to develop a sustainable and diverse talent pipeline for the tech industry by offering students free multi-year coursework, mentorship, career prep, technical interview training, and employer networking -- all 100% free of any cost to the student.

About me: I grew up in a low-income household in rural Maine, didn’t know anyone in tech, and didn’t have access to CS classes. I made it to college and started founding companies at age 19; I’m one of the only black, YCombinator alums to have a company valued over $1 bil. But most people like me — POCs, low-income, first-gen students — never even get the opportunity to start tech careers. I believe we can create an industry that’s diverse, accessible, and inclusive by rebuilding CS education.

CodePath runs free courses on topics like Cybersecurity, mobile app development, and technical interviews, both directly on college campuses and virtually. We try to make computer science and software engineering accessible by teaching students how to build things, like apps or websites, instead of focusing just on theory. Recently, our students have developed apps that simulate the night sky on mobile devices, allow roommates to create collaborative task lists, and track the stats of BrawlStar players.

There’s no reason top tech firms should be ¾ male and less than 5% black or Latinx. But, one year after completing a CodePath course, about 81 percent of all CodePath alumni, 92% of black alumni, and 73% of alumni with no previous technical experience had landed tech jobs. Many are at top firms, including Google, Visa, Microsoft, and Apple. So, that’s pretty great.


Comments: 57 • Responses: 15  • Date: 

illogicallove10 karma

Hi Michael! I have two questions.

What's the biggest difference you've seen between the for-profit and non-profit environments?

How do you gain the trust of students, when there are so many people claiming to help people get jobs but are actually just peddling free internships or are just trying to get students on email lists?

Michaelwellison6 karma

For-profit vs non-profit

For-profit and non-profit are both interesting and exciting in different ways. If you have the right team in a nonprofit, you love your life. It can be the perfect marriage between passion, purpose, and career because at the end of the day you can unapologetically be so mission-focused. In our case, keeping promises to our students. The downside is that philanthropy is broken. A lot of great, innovative nonprofits are never funded because wealthy donors are risk-averse and more interested in a "safe bet" vs a transformational one.

For-profit and especially venture-backed is like a sprint where every day you are forced to learn fast, tackle new challenges you would have never imagined, and push your comfort zone. It's an incredible opportunity for personal gowth. The downside is that you are accountable to your investors and there are times when profit gets in the way of purpose or the type of work you truly enjoy.

For both, I think it's about the problem you want to solve and what better fits in your life. You don't have to pursue one or the other. Learn more and see what is the right fit.

Gaining Student Trust

Building trust is about keeping your promises.

If we say our courses are free forever, we can't break the promise. If we say this courses teaches industry-leading cybersecurity courses, we need to be able to back it up. If we run a course series on passing the technical interview, we know what grades correlate to passing the bar at different technology companies. Facebook's former Chief Security Officer (who teaches Cyber at Stanford) co-created and funded the creation of our cybersecurity course. We don't have to go that far to create a course but we did because we want to ensure that students are learning best practices taken from the companies they might want to work at.

I also encourage you to talk with students. Go to linkedin, google CodePath, and there's a good chance students from your school have taken CodePath classes. Don't take it from me. Talk to students you trust and hear what they are saying about our courses and our commitment to you.

Consistent_Claim29507 karma

I am very new to Reddit and I assume I can leave my question here. How did you learn/practice your entrepreneurship from 0? Also, when you have something (for example, $$$) all of a sudden which you could never imagine before, how do you maintain your growth mindset? Thank you!

Michaelwellison6 karma

Honestly, you just have to dive in and get started. There are a lot of motivations behind why people want to start startups but I encourage you to start with a problem that you want to solve, ideally one that you have a lot of knowledge about. Startups are really hard and not likely to succeed, so if you are trying to solve a problem you're really passionate about you increase your chances of learning fast and persisting to make something valuable. For me, it's all about finding ways to level the playing field for people from similar backgrounds. I also get excited about big ideas that have the potential to change the way millions work and live. My first company was a nonprofit where I went into low income communities and just started asking low income high school students how I could help them. Not wanting that nonprofit to die led me to think about scale, growth, raising money, and all the rest. It all started with a passionate desire to make an impact. Your why might be different but the idea is the same. Don't just focus on making money. Focus on finding a problem you want to solve so badly, you can't sleep at night. If your goal is not the money, as is my case, you never have to worry about losing your motivation. My focus is impact and changing the world, not just getting a big payday.

Leno19985 karma

What are typical requirements for said underrepresented students to get help? Minority? Gender? Low GPA? I'm a Mechanical Engineer Native American Male attending an HBCU with 2.90-3.1 GPA [it hasn't been updated yet], do I sound like someone your nonprofit helps? Or is there a specific group of people you guys have a goal for? Thanks!

Michaelwellison5 karma

We have courses that are a fit for non-cs majors to PHd students. Most of our programs are also offered as a layer inside of C.S. programs. Together, this means that we serve all genders, ethnicities, and there is no GPA requirement. When we have a selection process as part of courses, it's to ensure that the course is the right pacing for your current level of experience and knowledge. We would love to work with you! We also believe that students should not be penalized for poor grades. However, if you perform well, we want to ensure you have access to every opportunity.

Michaelwellison4 karma

Also, here's our free student handbook that should prove helpful for exploring how to get. a technical internship, interview, and much more - https://books.codepath.org/student-handbook/

Michaelwellison4 karma

Also! CodePath is currently offering $10K scholarships to student teams (2+ students) at minority-serving institutions who bring one of our courses to their school next semester -- there’s no cost to the course, but the scholarship can be used to cover any of your expenses. Since you go to a HBCU, if you’re interested in a CP course, you might want to look into it! More info here.

deltatwister3 karma

Hi Michael. What do you think about "diversity programs" offered by many tech companies such as google, microsoft, facebook, etc? (These are internship programs that hire almost exclusively stem minorities and women). On one hand, its a great way to get people of different backgrounds in tech, but on the other hand (this is something I have seen first hand) it makes people more dismissive of minorities even more -- saying they only got the job because of their ethnicity, gender, etc. What do you think about these programs that take ethnicity into account for hiring decisions? I am a huge believer that there needs to be more diversity in tech workplaces, but I am not sure this is the way to do it.

Michaelwellison6 karma

Thank you for your question and I emphasize with you. Depending on the quality of the program, company employees could see some programs as lowering the bar. There are certainly diversity programs out there that put students who are underprepared in companies but I will say I'm a huge fan of the diversity programs done the right way. CodePath teaches the education component of Facebook University with is a diversity focused program for sophomores. The idea is that we are providing an early internship (often the first internship) for students who can then earn an offer at the end of the summer to Facebook's junior year internship program. I also want to clarify that employers like Facebook don't take race into account in the selection of these programs and for return offers. They do market the courses to underrepresented populations but they don't actually select based on race. I'm supportive of this as an inclusive strategy for running a training program.

If you think about it, it's a bit ridiculous to expect a student who discovered programming in college, comes from a disadvantaged background, and attends a low ranked C.S. program to be able to compete with MIT students coding since they were 10 years old. Their resume would also never get looked at. A lot of the disparity in experience often comes from disparities in income and privilege which I believe we should not penalize students for. Let's instead create more pathways to proficiency and excellence. A diversity program done right will fill in the gaps like confidence, skills, work experience, and more prior to the competitive internship or entry-level opportunity. At CodePath, we actually measure the number of first gen colleges students from low ranked schools who we get jobs at the most competitive tech companies. Diversity programs done right should deliver diverse, excellent engineers meeting and exceeding current standards. In my opinion, the best way to do this is by adding additional layers of curriculum and support in college CS programs and more early career development opportunities for disadvantaged populations.

Consistent_Claim29503 karma

Hi Michael, I believe it is very important to select the people around you. When you first started as a nobody, how did you expand your professional network of "good people"?

Michaelwellison6 karma

Honestly, there were two parts to this.

  1. In every startup, and as soon as I got into college, I would try to connect with people that were smarter than me and were so talented, it would make me feel inadequate. This meant trying to work with students who were naturally amazing public speakers, the students on campus who were entrepreneurial, the students that though school was easy. I also didn't limit this to students. When I'd meet a new professional, investor, successful entrepreneur, I'd always treat them as a friend who I might work with one day. To my surprise, people who were much older and more experienced were often open to not just mentoring me but collaborating with me.
  2. I also had a lot of hacks. The most important was to try to add value with every interaction. I realized that I had one very important asset that many of the people I wanted to work with did not. I had time. I would try to guess what would be valuable to busy professionals and try to help them out even without their permission. Being willing to do anything and everything and focusing on understanding what was valuable to them created numerous opportunities. For example, when I was 20, I was serving on a task force managed by Goldman Sachs to help young black men in NYC because I was the only one who had time to do the logistics and I was aggressive about trying to help.

catsfanuk872 karma

Every story like this has "that one lucky decision/break" that enabled it. Now, I'm a proponent of the thought that luck = opportunity + preparation, and that it's not just happenstance, but what would you say was your one moment?

Michaelwellison3 karma

Thank you for asking! I'd like to add that luck also requires intense, sometimes irrational persistence. Working hard will make you lucky many times but you will also be unlucky and experience a lot of failure and rejection. You have to keep going and give yourself as many shots on goal as possible. I'd say that the luckiest thing to happen to me came via my second for-profit. I met my founding team on a $10 Chinatown bus from Boston to NY. We got into Y combinator a few months later and once you get into a prestigious program like that, you've crossed the trust gap with investors. Before I met the very talented founding team, I needed to develop the skills, mindset, and experience to be a good fit as a founding team member and we worked hard to get into YC but I was just a bus ride away from that never happening. That company that grew out of a 4 hour bus ride is now valued at $1.5 Billion.

theycallmeswift2 karma

Hey, Michael! Thanks for doing this AMA, really big fan of what you're doing with CodePath.

With an ongoing pandemic and recession this is an especially difficult time to break into the industry. Many companies are experiencing hiring freezes on junior talent, there are lots of experienced engineers back on the job market after layoffs, and on-campus recruiting isn't really feasible in most locations. What advice do you have for aspiring software engineers who are launching their careers right now?

Michaelwellison4 karma

Thank you for your question.

Find your unfair advantage to get a job. Find what you can do differently that will stand out. Here are some quick suggestions:

  • Build connections and a project portfolio via open-source github contributions if your resume and existing project portfolio is inadequate.
  • Start a side project and launch an app related to the area of technology you want to go into. You'll learn a lot and have something you can show and link to when you apply for jobs.
  • Learn specializations. Instead of pursuing a general software engineering role, can you invest in very high demand specializations like cybersecurity, cloud infrastructure, or mobile? Even better if you can show your knowledge by building something. Companies will have hiring freezes in some areas but the hottest technology shortages continue to have very high need.
  • Reach out to engineers for informational interviews about what they do and see if some of the informational interviews could results in them giving feedback on projects your working on, connections into companies, or ideas around who is hiring. This idea would work even better if you reach out to eng managers because they will potentially have enough power to open up an internship directly for you.
  • Though a lot of companies are not focused on junior talent, there is an increased emphasis on developing early career pipelines. Most major tech companies have programs to increase diversity and build onramps for the next generation. You can search and identify companies who have these programs.
  • Create an internship! Know the role you want to have and try to be as specific as possible about the type and size of company. Reach out to people at the company to build relationships, especially outside of HR. When I was a college freshman, I created a club that created internships for students at companies that didn't offer internships. Companies are made of people. If you don't take no for an answer there is always a way to get in the door and make something happen for yourself.

macroxela1 karma

How do you bridge the gap between people with programming experience and people who actually have solid pedagogical techniques? As a CS educator, it's hard to find people who are both good programmers and know how to effectively teach using good pedagogy. Either they tend to be great teachers but don't have a solid foundation in CS or have years of experience programming but don't have good teaching strategies. Plus industry tends to poach people who have both instead of supporting them in the education field. How would you support CS education programs?

Michaelwellison1 karma

Great Question!!! Obviously, the answer is complicated, but I think it begins by changing what we ask of educators.

Right now, we’re asking CS faculty to handle the general responsibilities of being professors—pedagogy, curriculum design, research—while also preparing students to enter an industry that changes significantly every year. Then, throw a severe faculty shortage, growing class sizes, and pressure from administration and industry to grow CS capacity on there. A professor who finished school years or decades ago cannot be expected to publish research, teach courses, and also keep up with iOS development, which did not even exist as a specialty until 13 years ago.

I think the vast majority of professors have the capacity to both teach the programming skills students need and to adopt strong pedagogical techniques, but they need better support. All professors who run CodePath’s courses, for example, get a detailed curriculum, video lectures, grading, projects, etc., which gives them time to focus on building student relationships and engaging their class. We’re also super explicit about our pedagogical theory and essential steps to student engagement — and a lot of professors just never get this training, they spend years learning their discipline but are never taught how to teach.

We think this model can be scaled across many different disciplines. When professors have access to quality curricula and instructional support in areas outside their expertise, they can focus on teaching the subjects they know well. This model also expands professor capacity, which can help reduce class sizes.

And industry for sure bears responsibility here. They’re facing a severe talent shortage; they cannot afford to deplete the CS faculty supply even further. They should be focused on lending their expertise to curriculum development, incentivizing their employees to help teach + mentor aspiring engineers, and funding ed opportunities.

We also believe that certain engineering practices are best learned in the context of an internship, which is why we are so aggressive about getting students their first every technical work experience and convincing employers to create more pre-junior year internship programs.

Colreddit901 karma

Where do you believe you got your ambition from?

Michaelwellison3 karma

Initially, I wasn't very ambitious. I just didn't want to be poor anymore and I wanted to feel more comfortable and confident with people. I made a resolution with myself in high school that I would pursue experiences that would expand my comfort zone, even if they scared me. Once I got to college, I felt like I had already become successful just to have made it that far and wanted to give back. It started small. Walk into a local community, ask how I can help, see if I could convince others to help. I always just kept my eye on the next milestone at the intersection of making the world a little better and trying to personally become more successful.

My ambition has really grown since I realized that it really is possible to change the system and the world if you don't give up. You can work hard to understand the problem and the solution. You can develop the skills to convince people to work with you and support you. My greatest source of inspiration and excitement comes from convincing an executive at a major tech company to care more about disadvantaged communities or changing the experience at a school to better support students. The farther you go, the farther you realize you can go.

-Acta-Non-Verba-1 karma

What have you found to be the biggest obstacle for under-represented groups to get tech careers?

Michaelwellison5 karma

We are invisible. We don't have a seat at the table, heck we're not even in the room. The hardest part for me was trying to figure out how I could convince people of wealth and influence to trust me. I knew that if they believed and trusted me, then if I asked them for a million dollars or more, they'd give it to me. Unfortunately, trust is all about networks. Did you go to the same school as me? Are you from the same neighborhood? To overcome that, you have to be aggressive, understand how people are sizing you up, and how you can differentiate or build trust within the first 10 seconds of the conversation.

pika_chuuu1 karma

did you have a mentor? i'm also a POC in computing but i find that mentorship is more of a liberal arts thing, at least in the spaces i've been a part of.

Michaelwellison1 karma

I didn't but I did have a lot of sponsors and champions and the closest thing to mentors I had ended up being my co-founders and collaborators. Sponsors are people who will write you checks or put their name on the line to open up a new job or opportunity. Champions are people who publicly sing your praises to influence others. I focused a lot of networking on building friendships, treating people more senior than me as collaborators, and trying to add as much value as possible. When you add value to people, people tend to want to help you and reciprocate. In engineering, I love the idea of finding more experienced engineers you can collaborate with. One of my co-founders, Nathan Esquenazi, found collaborators via the open-source community when he was still in high school. He learned a tremendous amount by working on projects with others which led to his first startup at 14. There are definitely a lot of people who want to help. CodePath has hundreds of professional engineer mentors that we match students to every semester. You would also be surprised how willing people will be to want to help you if you reach out cold via Linkedin, twitter, or another medium.

Lola_Maraschino1 karma

Hi Micheal

Thank you, what you are doing is truly incredible.

My questions are:

Who is your biggest influence, the person you look up to?

Why are you compelled to give back when so many other billionaires hoard?

And finally what has been the greatest outcome of all this hard work for you personally?

Thank you again, the world is a better place because of you.

Michaelwellison1 karma

Thank you for the question!

There have been so many. Lori-Ann Ramsay was my first ever cofounder. She was charismatic, graduated high school at 14, and an amazing public speaker. At the time, she was the smartest, most impressive person I could find and I wanted to learn everything I could from her. One of the big reasons we started that non-profit is because I wanted to learn how I could be as confident as she was.

When I started the first nonprofit, I met Earl Phalen who graduated top of his class at Harvard Law and founded a national nonprofit, the Bell Foundation. I didn't interact with him that much but every interaction was profoundly influential. He showed me that there was a way to run a nonprofit with a business mindset to poise it for scale, impact, and system change. He also showed me what's it's like to really commit, work hard, and how to think of my time in terms of high leverage and low leverage activities.

I didn't want to live the same life as the people that inspire me. I've always thought of it as carving out my own path and seeing if I can take the best qualities from people who inspire me.

Why do I want to give back?

I feel very lucky to be where I am and I want to make sure I do everything I can to pay it forward to make sure young people from similar backgrounds reach their full potential. It gives me immeasurable joy to see young people working hard and achieving their dreams. If I can help a little to enable someone to go further, faster, I'm excited to do it.

I also think about the world I want to live in by 2050. I want to see the pace of technical innovation accelerate. I want to live in a world with less income inequality. I want a more intelligent and informed citizenry. Focusing on making the education system better makes my life and my community and my country and the world better over the long term.

The greatest outcome of this work has been the feeling of genuinely improving the world and improving people's lives. A lot of people pursue wealth without impact and can feel empty after they've reached their goal. I can't remember the last time I felt I didn't have a purpose for my life and something I was striving for.

Consistent_Claim29501 karma

What defines a good collaborator in the tech industry from your perspective? Thank you!

Michaelwellison1 karma

  • One of my co-founders and our CLO, Nathan, actually wrote a piece about this last year! He’s great, would recommend https://www.bloomberg.com/opinion/articles/2020-01-07/coding-is-collaborative-and-stem-education-should-be-too
  • Collaboration is one of the most important, but least valued, skills in the industry. Professional engineers have to work on teams, and collaborate with tons of other teams, but tech still has this weird need to romanticize individualism, like you don’t deserve credit unless you’ve invented something alone in your garage.
  • Good collaborators bring out the best in their colleagues. They go into code reviews with a supportive but constructive attitude, willing to do what they can to produce a better product without worrying about taking credit. They make sure colleagues feel comfortable asking questions or seeking input.