+ All Categories
Home > Documents > CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack...

CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack...

Date post: 08-Jun-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
54
CS50 for MBAs Recruiting Software Engineers
Transcript
Page 1: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

CS50 for MBAsRecruiting Software Engineers

Page 2: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

A Look Back• Computational Thinking • Programming Languages • Algorithms, Data Structures • Internet Technologies • Web Design • Cloud Computing • Privacy, Security • Database Design • Web Programming • Mobile Strategies

Page 3: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

Recurring Themes

• Tradeoffs

• Abstraction

Page 4: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

This TimeRecruiting Software Engineers

Page 5: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

• Conceptual overview of technical roles in software development

• Best practices for finding and hiring great technical engineers

Page 6: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

–Dustin Moskovitz, Co-Founder of Asana & Co-Founder of Facebook

“Time I spend recruiting”

45%

ycombinator.com

Page 7: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

• The best way to get started is to focus on getting your first technical hire or co-founder

Page 8: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

• Full-Stack Engineer • Front-End Engineer • Back-End Engineer • iOS Engineer • Android Engineer • DevOps Engineer • Database Administrator • Cloud Computing Engineer • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer • UI Designer • VR Developer • …

Page 9: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

airbnb.com

Page 10: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

airbnb.com

Page 11: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

airbnb.com

Page 12: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

airbnb.com

Page 13: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

airbnb.com

🤔

Page 14: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

• Bash • C • C++ • C# • Clojure • Erlang • F# • Go • Haskell • Java • JavaScript • Objective-C

• OCaml • PHP • Python • R • Ruby • Scala • Scheme • SQL • Swift • …

Page 15: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

June 2, 2014

techcrunch.com

Page 16: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

April 18, 2017

techcrunch.com

Page 17: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

• ability to learn fast is critical

• strong generalist engineers

• culture fit just as important as current skills

Page 18: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

Full-Stack EngineerDesigner

Page 19: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

Full-Stack Engineer

Front-End Engineer

Back-EndEngineer

Designer

UX Designer UI Designer

Page 20: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

Full-Stack Engineer

Front-End Engineer

Back-EndEngineer

Designer

UX Designer UI Designer

Page 21: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

appfutura.com

Page 22: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

Full-Stack Engineer

Front-End Engineer

Back-EndEngineer

Designer

UX Designer UI Designer

Page 23: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

facebook.design

Page 24: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

Full-Stack Engineer

Front-End Engineer

Back-EndEngineer

Designer

UX Designer UI Designer

Page 25: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

• “Writes code that runs on the client.”

• HTML, CSS, JavaScript

• Can use frameworks like Bootstrap, Foundation

Page 26: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer
Page 27: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

Full-Stack Engineer

Front-End Engineer

Back-EndEngineer

Designer

UX Designer UI Designer

Page 28: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

• “Writes code that runs on the server.”

• Python, Ruby, JavaScript (+Node js), Java, PHP, SQL

• Django, Ruby on Rails

• APIs

• Databases

• Servers

Page 29: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

{ Payments API }

Page 30: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

Full-Stack Engineer

Front-End Engineer

Back-EndEngineer

Designer

UX Designer UI Designer

Page 31: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

Full-Stack Engineer

Front-End Engineer

Back-EndEngineer

Designer

UX Designer UI Designer

Product Manager

Page 32: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

• What features should we build?

• Customer feedback

• Business logic

Page 33: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

slack.com

Page 34: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

Full-Stack Engineer

Front-End Engineer

Back-EndEngineer

Designer

UX Designer UI Designer

Product Manager

Page 35: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

• What about other roles, like iOS Engineers, Android Engineers, Data Scientists?

• Do I need to hire all these roles to get started?

Page 36: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

1999

buffer.com

Page 37: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

2004

buffer.com

Page 38: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

2005

buffer.com

Page 39: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

2008

thehustle.co

Page 40: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

2010

thehustle.co

Page 41: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

• Where do I want my customers to interact with my product? (web app, native iOS, native Android, hybrid app)

• How much time & effort is needed to build the product in each platform? (web < native)

• What technical people do I have in my team? What are they comfortable with?

• Is there existing software or infrastructure I can pay for to get started?

Page 42: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

quora.com

Page 43: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

Infrastructure as a service (IAAS) e.g. Amazon Web Services

Platform as a service (PAAS) e.g. Heroku

Software as a service (PAAS) e.g. Gmail

Page 44: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

• Full-stack, front end, back end, designers, mobile native

• Strong generalist engineers

• Focus on getting the first hires / technical co-founder

• Get started with the resources available

• Use existing software and infrastructure as needed

Page 45: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

• Conceptual overview of technical roles in software development

• How to find and hire great technical engineers

Page 46: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

• Sourcing

• Personal networks of people who’ve already worked with you (#1 strategy by far)

• angel.co, indeed.com, monster.com, …. (be prepared to go through a lot of noise)

• When asking for introductions, write emails that are easy to forward

• Go to events where technical people hang out (hackathons, developer conferences, meetups)

Page 47: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

• Attention

• Company is solving an interesting (and hard!) problem

• Having people say good things about you (press or word of mouth)

• Tech talks with cool demos

Page 48: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

• Do your homework! Don’t spam.

Page 49: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

@dhh on Twitter

Page 50: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

• Remote is an option

• People willing to relocate

• Freelance versus full-time

Page 51: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

• Spend more time on it • Audition for roles • Hire people you like • Have a set of cultural values • Don’t compromise • Be generous (equity over comp) • Always be recruiting • Fire fast • Don’t hire if you don’t need to

samaltman.com

Page 52: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

• Full-time

• Referrals from your network! ***

• angel.co **

• indeed.com *

• monster.com *

• Freelance

• toptal.com **

• upwork.com *

• Harvard

• Email Prof. David Malan

• HSA Dev

• Computer science mailing lists

• Attend technical events

Sourcing Resources

Page 53: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

Suggested Reading• http://blog.samaltman.com/how-to-hire

• https://www.quora.com/What-are-the-best-methods-for-recruiting-software-engineers-today

• https://www.quora.com/Why-did-Stripe-choose-to-use-Ruby-for-its-backend-language

• https://blog.bufferapp.com/the-humble-beginnings-of-google-tumblr-youtube-and-more-and-what-they-can-teach-us-about-starting-small

• https://thehustle.co/proof-that-your-favorite-startup-started-out-awful

• https://labs.spotify.com/2014/03/27/spotify-engineering-culture-part-1/

• https://labs.spotify.com/2014/03/27/spotify-engineering-culture-part-2/

Page 54: CS50 for MBAscdn.cs50.net/2017/mba/seminars/recruiting_software...hire or co-founder • Full-Stack ... • QA Engineer • Data Scientist • Machine Learning Engineer • UX Designer

Recruiting Software EngineersChristian Saravia

[email protected]


Recommended