Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

Life at Twitter + Career Advice for Students

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Cargando en…3
×

Eche un vistazo a continuación

1 de 51 Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

A los espectadores también les gustó (17)

Anuncio

Similares a Life at Twitter + Career Advice for Students (20)

Más de Chris Aniszczyk (20)

Anuncio

Más reciente (20)

Life at Twitter + Career Advice for Students

  1. 1. #TwitterDev Life at Twitter and some career advice Chris Aniszczyk (@cra)
  2. 2. Development at Twitter intro tools practices open source
  3. 3. Howdy, I’m @cra!
  4. 4. https://twitter.com/TwitterEng • ~1800 Engineers • 50% of the company is engineers • From Datacenter to Kernel to JVM to Mobile to Frontend (etc) • Engineering Offices • SF, Seattle, Boulder, NYC, London, Tokyo Twitter Engineering
  5. 5. LOL 1800 Engineers for Tweets? (Inspired by @shit_hn_says: I can just build Twitter clone over the weekend)
  6. 6. Twitter is global, open and real-time
  7. 7. Twitter, Inc. | Confidential
  8. 8. Why is Twitter actually hard?
  9. 9. HackPrinceton - November 14-16, 2014@TwitterAds | Confidential 300M+ 500M+ 80% Active users Tweets / Day of users are mobile users 2006 2015
  10. 10. 500,000,000 Tweets/Day 3,500,000,000 Tweets/Week
  11. 11. ~6000 Tweets/Second (steady state)
  12. 12. Miyazaki 2011 25,088 TPS (NYE 2013: 33,338 TPS) バルス! (“Death to Twitter”)
  13. 13. Miyazaki 2013 25,088 TPS 143,199 TPS https://blog.twitter.com/2013/new-tweets-per-second-record-and-how バルス! (“Death to Twitter”)
  14. 14. Twitter is simple on the surface Complexity lies beneath…
  15. 15. Profiles / Gizmoduck Who to Follow / S&R Trends / S&R Home timeline / TLS PTw / Ads Expanded media / Cards Contact import / Growth Compose / Tweetypie Translation / i18n DMs / Social Discover / S&R
  16. 16. Development at Twitter intro tools practices open source
  17. 17. VERSION CONTROL Git (GitHub for Open Source) Monorepo for back-end services
  18. 18. ISSUES / TICKETING Atlassian JIRA
  19. 19. CHAT Hipchat
  20. 20. CHAT BOTS Hubot
  21. 21. DOCUMENTATION Confluence / Docbird
  22. 22. CODE REVIEWS Gerrit ReviewBoard
  23. 23. VIDEO CONFERENCING Bluejeans / Google Hangouts
  24. 24. Language Frameworks • scalaTest, junit (JVM) • jasmine, qunit (JavaScript) • webdriver, unity (Integration) • UIAutomation / Robotium (mobile) • rspec, test/unit (Ruby) TESTING TOOLS
  25. 25. Development at Twitter intro tools practices open source
  26. 26. TWITTER UNIVERSITY A culture of learning!
  27. 27. CONTINUOUS INTEGRATION Jenkins and Mesos Clusters
  28. 28. DOG FOOD go/iosnightly go/androidbeta go/preflight
  29. 29. PREFLIGHT TESTING Every employee tests first (slow rollout to users 1% etc)
  30. 30. #HACKWEEK (Fix-It Weeks) Every quarter
  31. 31. DEMO HOUR (#Treephy) Every 2 weeks, demo progress
  32. 32. OBSERVE ALL THE THINGS http://github.com/twitter/zipkin
  33. 33. • timed launching, feature flags, access, kill switch DECIDER (FEATURING FLAGS) if (request.isDeciderAvailable(“my_feature_name”)) { // do this } else { // do that } go/decider
  34. 34. • experiments, A/B tests DDG (EXPERIMENTATION) import com.twitter.web.util.abdecider.experiments.MyExperiment MyExperiment.getExperimentBucketName(request) match { case Some(“control”) => ... case Some(“expand_images”) => ... case Some(“expand_videos”) => ... } go/ddg
  35. 35. RUNBOOKS Guides on running services
  36. 36. SELF SERVICE SERVICES Apache Mesos / Aurora
  37. 37. Development at Twitter intro tools practices open source
  38. 38. Twitter Runs on Open Source
  39. 39. SCM / ISSUES / WIKI GitHub (Git) https://github.com/twitter
  40. 40. CONTINOUS INTEGRATION Travis CI https://travis-ci.org/twitter
  41. 41. CODE COVERAGE Coveralls (aggregation) https://coveralls.io/r/twitter
  42. 42. STATIC ANALYSIS Code Climate* https://codeclimate.com
  43. 43. CAREER ADVICE: 7 TIPS
  44. 44. Find newbie-friendly* open source projects… Contribute to them! *https://www.google-melange.com/gsoc/homepage/google/gsoc2015
  45. 45. Find a mentor early at work and outside of it (You will learn, save time and opportunities will find you) https://fedoraproject.org/wiki/Mentors
  46. 46. Don’t specialize early in your career Technology changes like crazy, stay curious and learn new things (Twitter was a RoR shop and moved to the JVM)
  47. 47. Not networking? you’re NOT WORKING! Go to meetups: http://capitalfactory.com/learn/events/ Speak at events/conferences: https://lanyrd.com (I know this may be hard for some CS students)
  48. 48. Control your public image*, you are a brand (Brand yourself for the career you want, not the job you have now) Get on Github: https://github.com Get on LinkedIn: https://linkedin.com Get on Twitter: https://twitter.com Get on IRC (or Slack): irc://irc.freenode.net Get on Stackoverflow: https://stackoverflow.com *http://www.businessinsider.com/twitter-fired-2011-5
  49. 49. Interview every year, practice makes perfect This will also help sharpen skills and establish your worth (Read Cracking the Coding Interview: http://www.careercup.com/book)
  50. 50. Learn negotiation skills, get multiple offers Don’t sell yourself short, times are good these days See Glassdoor for salaries: https://glassdoor.com
  51. 51. Q&A #ThankYou zx@twitter.com (@cra) We’re always hiring (jobs.twitter.com) t.co/UTAustin and t.co/AustinIntern

×