Twitter recruiting presentation given @ McGill University on 9/26/2013
- About Twitter
- Growth Engineering
- Why work @ Twitter
- Lesson learned in Industry
By @PhilYoussef
15. Twitter is rapidly growing
400M+Unique visitors /
month
200M+Active users
2006 2012
400M+Tweets per day
Source: Twitter internal data
16. And the conversations
are growing too
1,000,000,000 Tweets
Source: Twitter internal data
Then: 3 years, 2 months and 1 day
Now: every ~2 days
17. 60%Access Twitter
on a mobile device
40%Mobile quarter
over quarter
growth
Source: Twitter internal data, Q1 2012. Access Twitter on mobile device means users that have logged in via mobile at least once in a month
Mobile growth powers our
platform
Source: Pandora S1, Twitter, Facebook, Q411 Twitter Internal
data
18. A conceptual model for growth
UsersUsers Active usersActive usersActive usersActive usersSignupSignup
Active usersActive usersActive usersActive users
Active usersActive usersActive usersActive users
Active usersActive usersActive usersActive users
Active usersActive usersActive usersActive users
Easy
right? Wrong!
19. • Top of Funnel - bring people to Twitter- bring people to Twitter
• Activation - help users understand Twitter- help users understand Twitter
• Retention - make them stick around- make them stick around
• Resurrection - bring back inactive users- bring back inactive users
Dig Deeper
24. Engineering @Twitter
We have a diverse stack
• Scala, Java, Ruby, Pig, Javscript, HTML, CSS
• Android, iOS, Web, Distributed services
We use open-source
We give back to open-source
• Bootstrap (web UI framework)
• Storm (distributed realtime computation framework)
• FlockDB (distributed graph database)
• http://github.com/twitter
Innovators Patent Agreement
25. People
Work with the best and brightest from around the world
Coming from the best schools:
• Canada: McGill, Waterloo
• US: Stanford, MIT, Harvard, CMU
• India: IIT Bombay
• China: Tsinghua University
• Many more
Coming from the best companies:
• Google, Amazon, Pixar, Apple, Microsoft, Facebook
33. Engineering Jobs
New Grad
• Software Engineer - http://t.co/DIY
• Data Scientist - http://t.co/DIYds
Follow instructions there to apply
Intern positions opening up in next couple of weeks
36. Engineering Interviews
2 phone interviews
4-6 on-site / Skype interviews
• 3-4 for interns
Algorithm questions + live coding
• More on this in a bit...
37. Interviewing
1. Language
2. Study Material
3. Do it on Paper
4. Time
5. Focus Areas
6. Bread & Butter Algorithms
7. O(N) everything
8. Talk & Approach
Read my article “Hacking the coding interview” at
www.restlessprogrammer.com
38. Lessons
Building a portfolio
• EDBC
• Build portfolio: Code publicly on github, blog
• Internships
• Read: news.ycombinator.com,
reddit.com/r/programming... etc
Immigration
• Personal choice
• If you choose this route, learn the law
• US: San Francisco, Seattle, NYC, Austin
• Canada: Toronto, Calgary, Vancouver
• International: London, Berlin, ShanghaiBeijing
39. Lessons
Roles in Software engineering
• SWE
• PM
• DS
• EM
• QA/SDET
• Design
• UX
Startups vs Big corporations
It’s the people that matter
1- About me --- why should you listen to me? 2- What is Twitter 3- What I do @ Twitter - Growth engineering 4- Why you should work @ Twitter 5- What I wish I knew as a student
1- Graduated McGill EE in 2008 2- Interned @ MSFT as part of McGill Engineering Internship program 3- Joined MS full time in 2008 - Speech recognition: ABU, Windows Phone 4- Groupon in 2011 - Mobile & API development 5- Twitter in 2012 - Crowdsourced Localization, NLP - LD & NER, Machine translation, Web user onboarding, Mobile development (iOS & Android)`
1- Twitter started in 2006 2- Founders: Jack Dorsey[Square], Noah Glass[Twitter coined], Evan Williams[Medium], Biz Stone[Jelly] 3- Started as a microblogging service 4- 140 character limit tied to SMS
1. Only social network that is all of the above 2. FB, Instagram, Snapchat, Google+... etc
1. Start of a new way news gets propagated --- 2009, Hudson river 2. Best platform for real time events --- Arab Spring, 2011 Japan earthquake, World Cup, Olympics, Elections ---
1- Twitter is a great platform for Presidential election, politics 2- Obamas first words after the election were on Twitter 3- The election was billed as the nation's first "social election," 22% of voters telling their friends how they voted 4- See the effects of brevity? They can be powerful
Q: Who watched the last superbowl? 1- Twitter makes a great companion for the TV (Sports, Game of thrones) 2- The tweet that changed advertising 3- Real time advertising is now a thing
Multiple uses1- Real time news2- Social network (Public & Private)3- Second screen for TV 4- Stay connected to interesting people 5- Search becomes the “ collective consciousness of society ”
1- MoPub --- The worlds largest mobile ad server. Google, FB, Twitter in mobile ad space now. 2- Crashlytics --- Powerful, lightweight crash reporting for mobile 1developers 3- Bluefin --- Social TV analytics 4- Vine --- 6 second videos, Launched 9 months ago, recently announced 40M registered users
--- I want to talk a bit about waht it is I do at Twitter - Growth engineering
Q: Who here knows how many users Twitter has? 1- Twitter is a rapidly growing platform. 2- Since we started in 2006 we ’ ve grown to have over 200M active users across the world in 35 langauges (including lolcats and latin). 3- There ’ s a lot of work that went into getting us to this point.
1- Then and now. 2- A lot of engineering went into making this possible from a product and platform perspective. 3- Fail whale example.
1- We ’ ve shifted over time from a mobile (sms) to web to mobile (app) company 2- Twitter was made for mobile. Mobile users engage more, are more active.
Building an application, how do you grow your user base? 1- Users find out about product 2- They signup 3- They become active and tell others WRONG!
1. Growth doesn ’ t happen by itself 2. Conceptual model used at many companies: 2006 FB, 2009 Twitter, 2010-2012 Quora, Dropbox, AirBnb ... 3. top of funnel: SEO, virality, nux flow, logged-out 4. activation: mutual-follows, avatar, bio, download mobile 5. retention: notifications rt/fav/reply, photo activity, email summary 6. resurrection: email summary, events, advertising
1. top of funnel -> new 2. new -> core, casual, inactive 3. core -> core, casual, inactive 4. casual -> core, casual, inactive 5. inactive -> resurrected -> core, casual, inactive 6. Green, yellow, red 7. Statistical analysis for each group to find behaviours 8. 1% Experimentation is key --- examples mobile redirects, nux
1- Full stack 2- Product sense, Have a gut feel for what works and what doesn ’ t 3- Metrics driven, Always use numbers & A/B tests to prove things 4- Entrepreneurial, Many people on the team come from startup. Akash = hi5, Cristian & Micrea = Summify, Myself = Groupon
Q: Who is interested in becoming a software engineer once you graduate? - Few companies in history have launched an impacted 100 ’ s of millions of people - Few companies today are on a path to reach 1B users: Google in 2002, Facebook in 2007
1- video, cheesy recruiting promo
Q: Who here has a github account? 1- Used to be a rails shop, switched to Scala = ~80% performance boost in some cases 2- Scala neat, FP = Avoid state & mutability to allow for parallelism & concurrency. 3- Mobile first 4- Our stack runs deep 5- We use open source projects regularly. All in house stuff gets shipped to github. 6- Patent agreement, can only be used defensively
1- You ’ ll be working an learning from the best 2- University recruiting - Hitting over 20 universities 3- Awesome co-workers from best companies in the industry
1- Open Work Environment 2- Small teams (never bigger than 10) 3- There ’ s a lot to work on, own a big part of the product Growth, revenue, mobile, web, backend services & apis bluefin, mopub, vine
1. 4x a year for 1 week --- 1 full month of hacking 2- 4 days of coding, 1 day of presentations. Best projects present to company. 3- Part of twitter culture. Google = 20% time, Facebook = hackathons 4- Build anything you want; lots of things get shipped. Twitter for mac, nux, compose experience on mobile, mobiel redesigns 5. Twitter University - Acquired maricana for this purpose
1. Great location - Downtown San Francisco. Don ’ t need to go far. 2. Distributed Engineering: SF, NYC, Boston, Seattle, London, Vancouver
1- Free food - Breakfast, lunch, dinner with new menu every day, executive chef 2- Snacks & beer --- every snack imaginable, usually ~16 different beers available, kegs on every floor. 3- Health - Free gym membership, massages, yoga, acupuncture, cross-fit 4- R&R --- Game rooms, board games, consoles, improv lessons
1- One of the best perks --- celebrities stopping by 2- My fav: Christopher Hadfield, Patrick Steward, Snoop Dog 3- Others; Charlie Murphy, Ludacris, PM of England and russia, Russell Brand, WillIAM.. etc. Almost every week. 4- Also get to see exclusive screenings for movies, meet the cast
1- SWE entry level - Generalist position 2- DS - Hadoop, R, Terabytes of data 3- Follow instructions to apply, I ’ ll also take CVs at the end 4- Internship positions coming soon. Just had 25 waterloo students start a couple of weeks ago.
1- Any questions so far about Twitter, Growth, or Engineering at the company? 2- Next = Things I wish I knew
test
Q: How many of you have done technical interviews for SWE roles?
1. Language --- First, pick the language you are most comfortable with and stick with it 2. Study Material --- Cracking the coding interview which neatly divides problems between discrete domains (get a physical copy off amazon). We'll also be looking at the Berkely cs riddles forum and codercharts.com as backups. 3. Paper --- From here on out we will only be coding on paper since this mirrors the interview environment best. 4. Time --- Every day, you should aim to get 4-5 interview questions completed. Need to treat this like you ’ re studing 5. Focus Areas --- In "cracking the coding interview", questions are divided between different categories which require specific approaches we'll want to master. The most important types of problems to master are(in order): 1. Primary: Trees & Graphs, Recursion & Dynamic Programming, Arrays & Strings, Sorting & Search, Stacks & Queues, OO Design, Linked Lists, Bit Manipulation, 2. Domain Specific (depends on job): Math & Prob, Scalability & Memory, Testing, Databases, Threads & Locks 6. Bread & Butter Algorithms --- The following algorithms are useful to know in an interview, but you might not use day-to-day: Breadth-first search, Depth-first search, Dynamic Programming, Binary tree traversal, Merge Sort(asked a lot for some reason), Djikstra's algorithm, Tail recursion, Threading & concurrency patterns. o I've seen that the first 4 algorithms in the list apply to a disproportionate amount of interview questions (~1/3). 7. O(N) Everything --- Understand Big-O notation and how to apply it to any algorithm you write. Time and space complexity analysis is always asked as part of the coding interview. For every coding problem you solve, you should learn to subconsciously apply this when evaluating the optimal approach. 8. Talk&Approach --- Never, ever jump straight into a question. Think of exactly what clarifying questions you would want to ask had this been an in person interview. Explicitly call out edge cases as you're coding. Once you finish writing code, you're not actually done; verbally go through the code you wrote and confirm it does what it should. Catching bugs in your code without being told is a plus. . Your ability to verbally communicate your thought process during the interview will be a huge asset. Practice talking to yourself while coding (maybe using the inside voice if you're shy).
1- Approach your career as if you ’ re an art student trying to build a portfolio Q: How many of you have a github account? 2- Immigration is a complex topic Q: How many of you plan on finding a job outside of Montrela when you graduate? Outside of Canada?
1- I would have loved to know the different roles involved in engineering software 2- ++ startups: Small, touch more of the stack, closer to metal, higher risk 3- ++ Large companies: More resources, less risk, good support 4- Final lesson: It ’ s the people that matter. Relationships you form are what will get you jobs.