Engineering @
Twitter
Agenda
About me
About Twitter
Growth Engineering @ Twitter
Working @ Twitter
Things I wish I knew 5 years ago
About @PhilYoussef
#AboutTwitt
So what is Twitter?
The social network that is
Constrained
Public
Real Time
Global
Changing News
Changing Politics
Changing TV & Advertising
A dynamic business
#growth
Twitter is rapidly growing
400M+Unique visitors /
month
200M+Active users
2006 2012
400M+Tweets per day
Source: Twitter in...
And the conversations
are growing too
1,000,000,000 Tweets
Source: Twitter internal data
Then: 3 years, 2 months and 1 day...
60%Access Twitter
on a mobile device
40%Mobile quarter
over quarter
growth
Source: Twitter internal data, Q1 2012. Access ...
A conceptual model for growth
UsersUsers Active usersActive usersActive usersActive usersSignupSignup
Active usersActive u...
• Top of Funnel - bring people to Twitter- bring people to Twitter
• Activation - help users understand Twitter- help user...
corecore
newnew casualcasual
resurr.resurr.
%%
%%
%%
%%
%%%%
%%top of funneltop of funnel
inactiveinactive
%%
%%
%%
%%
%%
...
Growth Engineers
Full-stack
• Mobile, Pig, Scala, Java, Ruby, Javascript, HTML
Product sense
Metrics driven
Entrepreneurial
#jointheflock
Engineering @Twitter
We have a diverse stack
• Scala, Java, Ruby, Pig, Javscript, HTML, CSS
• Android, iOS, Web, Distribut...
People
Work with the best and brightest from around the world
Coming from the best schools:
• Canada: McGill, Waterloo
• U...
#Culture
Small Teams
BIG Impact
#HackWeek
@Twoffice
#Perks
#Celebrities
#JoinUs!
Engineering Jobs
New Grad
• Software Engineer - http://t.co/DIY
• Data Scientist - http://t.co/DIYds
Follow instructions t...
#questions
#LessonsLearn
ed
Engineering Interviews
2 phone interviews
4-6 on-site / Skype interviews
• 3-4 for interns
Algorithm questions + live codi...
Interviewing
1. Language
2. Study Material
3. Do it on Paper
4. Time
5. Focus Areas
6. Bread & Butter Algorithms
7. O(N) e...
Lessons
Building a portfolio
• EDBC
• Build portfolio: Code publicly on github, blog
• Internships
• Read: news.ycombinato...
Lessons
Roles in Software engineering
• SWE
• PM
• DS
• EM
• QA/SDET
• Design
• UX
Startups vs Big corporations
It’s the p...
#questions
Twitter recruiting McGill Sept 2013
Twitter recruiting McGill Sept 2013
Twitter recruiting McGill Sept 2013
Twitter recruiting McGill Sept 2013
Twitter recruiting McGill Sept 2013
Upcoming SlideShare
Loading in …5
×

Twitter recruiting McGill Sept 2013

6,123 views

Published on

Twitter recruiting presentation given @ McGill University on 9/26/2013

- About Twitter
- Growth Engineering
- Why work @ Twitter
- Lesson learned in Industry

By @PhilYoussef

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
6,123
On SlideShare
0
From Embeds
0
Number of Embeds
5,679
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Testing. Test. 1.2.3.
  • 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.
  • Twitter recruiting McGill Sept 2013

    1. 1. Engineering @ Twitter
    2. 2. Agenda About me About Twitter Growth Engineering @ Twitter Working @ Twitter Things I wish I knew 5 years ago
    3. 3. About @PhilYoussef
    4. 4. #AboutTwitt
    5. 5. So what is Twitter? The social network that is Constrained Public Real Time Global
    6. 6. Changing News
    7. 7. Changing Politics
    8. 8. Changing TV & Advertising
    9. 9. A dynamic business
    10. 10. #growth
    11. 11. Twitter is rapidly growing 400M+Unique visitors / month 200M+Active users 2006 2012 400M+Tweets per day Source: Twitter internal data
    12. 12. 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
    13. 13. 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
    14. 14. 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!
    15. 15. • 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
    16. 16. corecore newnew casualcasual resurr.resurr. %% %% %% %% %%%% %%top of funneltop of funnel inactiveinactive %% %% %% %% %% %% %% User State Model
    17. 17. Growth Engineers Full-stack • Mobile, Pig, Scala, Java, Ruby, Javascript, HTML Product sense Metrics driven Entrepreneurial
    18. 18. #jointheflock
    19. 19. 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
    20. 20. 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
    21. 21. #Culture
    22. 22. Small Teams BIG Impact
    23. 23. #HackWeek
    24. 24. @Twoffice
    25. 25. #Perks
    26. 26. #Celebrities
    27. 27. #JoinUs!
    28. 28. 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
    29. 29. #questions
    30. 30. #LessonsLearn ed
    31. 31. 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...
    32. 32. 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
    33. 33. 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
    34. 34. Lessons Roles in Software engineering • SWE • PM • DS • EM • QA/SDET • Design • UX Startups vs Big corporations It’s the people that matter
    35. 35. #questions

    ×