Learning Silicon Valley Culture

533 views

Published on

Learning Silicon Valley Culture - That is Good For Your Research.

Computer Science Research Seminar at the University of Tsukuba - May 26, 2017

Published in: Science
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
533
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Learning Silicon Valley Culture

  1. 1. T R E A S U R E D A T A Learning Silicon Valley Culture - That is Good For Your Research Taro L. Saito - GitHub:@xerial Ph.D., Software Engineer at Treasure Data, Inc. Computer Science Research Seminar University of Tsukuba - June 12, 2017 1
  2. 2. Differences Between Academia and Industry • Academia • It’s all about you. • Be prepared for some non-exciting works • Industry • It’s all about teams and the company. • You need to make your customers happy • Not the place for insisting on the use of your technical innovation in the product • Reference • Alon Halevy. What I With I Knew When I Finished My Ph.D. SIGMOD Ph.D Symposium 2016 2
  3. 3. Silicon Valley • San Francisco, Bay Area • Intel • Google • Apple • Facebook • HP • Twitter • Linked-in • Adobe • Netflix • … • Stanford, UC Berkeley, etc. • A lot of IT Companies • https://en.wikipedia.org/wiki/List_of_companies_based_in_the_San_Francisco_Bay_Area 3
  4. 4. 7 Best Practices • Best practices I found after moving from Academia to Industry • 1. Create an MVP • 2. Define Metrics to Measure Your Success • 3. Use Technologies • 4. Learn From Experiences • 5. Share Your Ideas • 6. Look Outside CS • 7. Never Stop Writing Code 4
  5. 5. 1. Create An MVP (Minimal Viable Product) • What Makes A Great Product Manager • https://hackernoon.com/what-makes-a-great-product-manager-3c1d03b90356 • Source: http://sparksolutions.co/2015/12/mvp-dilemma-fat-vs-lean-lovable-vs-laughable/ 5
  6. 6. MVP Strategy found in Academia • UC Berkeley is also following MVP strategy • Create a prototype system • Demonstrate your vision in an earlier phase • Induce collaboration between teams • Define target applications in advance • Involving other research area • Educational Impact • Enhances student’s system building skills • Communication between students • Reference: • How to Build a Bad Research Center. David A Patterson (counter examples) 6
  7. 7. 2. Define Metrics To Measure Your Success • KPI • Key Performance Indicator • KPIs for SaaS Company • Adoption of the service, new features, etc. • User Score (Managing customer journey) • KPIs for Subscription Business: • MRR: Monthly recurring revenue • Lead Generation • Customer Acquisition Cost • Gross Margin • Churn Rate The SaaS Startup Founder’s G •  The SaaS Startup Founder’s Guide. • https://startups.salesforce.com/article/The-SaaS-Startup-Founder-s-Guide 7
  8. 8. Measuring Service KPIs: Presto Usage at Treasure Data (2017) Processing 15 Trillion Rows / Day 
 (= 173 Million Rows / sec.) 150,000~ Queries / Day 1,500~ Users • We are collecting every single query log since the beginning of the Presto service • KPIs are defined based on these query usage stats (e.g, usage summary, SLOs, etc.) • Log collection is a must have for measuring user activities • For more details, see https://www.slideshare.net/taroleo/presto-at-treasure-data8
  9. 9. 3. Use Technologies • Google Calendar • Scheduling a meeting without asking members • No need to waist your time for arranging member schedules • 1-on-1 • Every 1 or 2 weeks • Online Meeting Tools • Zoom • Google Hangouts 9
  10. 10. 10
  11. 11. Slack: On-line Chat 11
  12. 12. Monitoring Service State • fluent -> DataDog 12
  13. 13. Managing Tasks • Example: JIRA Workflow in Treasure Data • Backlog • Priority: P1 (Critical) -> P2 (Must Have) -> P3 (Good to Have) -> … • Epic • Major goals • Development Stages • DEVELOP -> REVIEW -> MERGE -> TEST -> DEPLOY -> Done • Customer Success • Support request -> Initial response (Support Team) • Engineering Triage -> Prioritization -> Investigation • Bug fix, providing workaround, etc. 13
  14. 14. Understand What Technologies Can’t Do • Serendipity (= great innovation or findings) • Ideas for this often come from informal conversations. • Pros and Cons of Remote Team Working • Fast code review cycle • Slack • Enable quick communication but not good for polishing ideas • Cannot overcome timezone differences • Communication through Wiki or JIRA • Good for later use and sharing the knowledge • But it distracts creation mind (to some extent) • Need to intentionally create opportunities for serendipity • Having business trips to gather team members • “Serendipity favors prepared minds” 14
  15. 15. 4. Learn from Experiences • People change jobs quickly in SV • After several years • Brings experiences from other companies • e.g., Increasing Revenue from $1M -> $10M, and $10M -> $100M • Different types of experiences are necessary • In SV, you can find people with such experiences • We can also learn from investor’s experiences • A. Ross and J. Lemkin: From Impossible To Inevitable: How Hyper-Growth Companies Create Predictable Revenue 15
  16. 16. Why can people move so quickly? • They have CVs on the Web • Linked-In • Accelerating job changes in US • Homepage, etc. • I’ve got many job requests • After quitting academia 16
  17. 17. GitHub • Your CV as an engineer • It tells your • Programming language preference • Coding experience • Collaboration skills 
 in open-source projects • issue tickets • etc. 17
  18. 18. Learn From Teacher’s Experiences • If you find a lecture is boring, you’ve saved your time. • Knowing some specific field is boring (or interesting) requires a long research • At least need to read 10 ~ 100 research papers to have a bird-eye view or a good perspective from the shoulders of giants. • Even if you don’t fully understand the material …. • Course material is a concentrated form of knowledges • You can study them later if they become necessary • If you know where the knowledge is. 18
  19. 19. 5: Share Your Ideas • Design Notes • Spend your 2 hours for writing ideas before starting a project • Application to academia: Survey • If you read a research paper, write an 1-paragraph summary • Sharing this with other researcher/students is good • Even private notes are useful for the future yourself • It helps you to quickly remind the core ideas of the paper 19
  20. 20. Design Notes • Share ‘Why’ • State ‘What’ • And list ‘How’ • Use just 2 hours • Writing design notes should not
 distract creation mind • Find related work • Alternatives and why not? • No need to be perfect • Think about MVP 20
  21. 21. Never Do Research Alone • Ask your supervisors • Ask friends • Ask other researchers • You will definitely need Ph.D. to get answers from e-mail • But many researchers love enthusiastic young researchers even if he/she has no Ph.D • e.g,. Jim Gray was kind enough to answer my questions on transaction processing when I was a Ph.D student • Finding research budgets from industries • Stanford Affiliate Program • https://corporate.stanford.edu/affiliate_programs.html • Starting from $150k ~ $500k/year or more for membership • You cannot attract such investments if you are doing research alone 21
  22. 22. 6: Look Outside CS • Business requires CS skills • Marketing, Sales, Economics, etc • e.g., Real database usages can be found in industry • Treasure Data is the No.1 Presto user in the world and have more than 200 millions of query logs • Biology • Genome sequencing produces unprecedented amount of data • Need to collect various fields of knowledge to understand biological functions • Demanding Big-Data technologies • Lacking CS scientists and engineers 22
  23. 23. Genome Sciences are Data Sciences 23
  24. 24. Impact of Research • Test of time awards • Impact of work can be found 10-year or more later • e.g., Two Decades of Recommender Systems at amazon.com • https://www.computer.org/csdl/mags/ic/2017/03/mic2017030012.html • Impact Factor? • If you think it’s important, you should immediately leave the CS community, whose journals only have 2 ~ 3 IFs even for the top conferences. • Biological journals can have 10 ~ 30 (Nature) impact factor!! • Good sign to know the impact of research soon • If your research results are used by non-research community 24
  25. 25. 7: Never Stop Writing Code • Coding is your only tool to make things happen (as CS students) • Demoing or prototyping • For running code in production, 24/7 system, you need to learn more: • Learn from open source codes (as you read scientific papers) • How to operate distributed systems • Cloud system • Monitoring • Debugging • Working together with other engineers • How to share and delegate knowledges • Example: • Using Scala in Production at Treasure Data https://www.slideshare.net/taroleo/scala-at-treasure-data • There is no “too late” in writing code: • You can start coding at any moment. New technologies are always there 25
  26. 26. Summary • 7 Best Practices • 1. Create an MVP • To minimize the risks • 2. Define Metrics to Measure Your Success • Without measuring, you cannot evaluate your achievement • 3. Use Technologies • To effectively work with other people • 4. Learn From Experiences • To achieve goals quickly • 5. Share Your Ideas • Never do research alone • 6. Look Outside CS • Good applications of CS can be found outside CS • 7. Never Stop Writing Code • Turn your research into reality 26
  27. 27. Learn More About Engineering Cultures • Netflix Culture • https://www.slideshare.net/reed2001/culture-1798664 • Spotify Engineering Culture • https://labs.spotify.com/2014/03/27/spotify-engineering-culture-part-1/ • You need to create your own culture that fits your team 27
  28. 28. T R E A S U R E D A T A 28

×