• 1997 Started using BBS (上海热线) and the Internet via 33.6Kbps modem • 1997 Made my first ever HTML web page in Microsoft Frontpage Express 4 Saturday, 17 November 12
• 1997 Started using BBS (上海热线) and the Internet via 33.6Kbps modem • 1997 Made my first ever HTML web page in Microsoft Frontpage Express • 1998 Moved to Australia 4 Saturday, 17 November 12
• 1997 Started using BBS (上海热线) and the Internet via 33.6Kbps modem • 1997 Made my first ever HTML web page in Microsoft Frontpage Express • 1998 Moved to Australia • 2001 Started playing with Perl (雷傲), ASP (动⺴⽹网) and PHP (Discuz!) forum software 4 Saturday, 17 November 12
• 1997 Started using BBS (上海热线) and the Internet via 33.6Kbps modem • 1997 Made my first ever HTML web page in Microsoft Frontpage Express • 1998 Moved to Australia • 2001 Started playing with Perl (雷傲), ASP (动⺴⽹网) and PHP (Discuz!) forum software • 2004 Started learning PHP and JavaScript in TAFE (pre-university bridge) 4 Saturday, 17 November 12
• 1997 Started using BBS (上海热线) and the Internet via 33.6Kbps modem • 1997 Made my first ever HTML web page in Microsoft Frontpage Express • 1998 Moved to Australia • 2001 Started playing with Perl (雷傲), ASP (动⺴⽹网) and PHP (Discuz!) forum software • 2004 Started learning PHP and JavaScript in TAFE (pre-university bridge) • 2006 Started working part-time as a junior developer whilst studying in university 4 Saturday, 17 November 12
• 1997 Started using BBS (上海热线) and the Internet via 33.6Kbps modem • 1997 Made my first ever HTML web page in Microsoft Frontpage Express • 1998 Moved to Australia • 2001 Started playing with Perl (雷傲), ASP (动⺴⽹网) and PHP (Discuz!) forum software • 2004 Started learning PHP and JavaScript in TAFE (pre-university bridge) • 2006 Started working part-time as a junior developer whilst studying in university • 2006 Discovered Ruby and Ruby on Rails, and switched to OS X because of Textmate 4 Saturday, 17 November 12
• 1997 Started using BBS (上海热线) and the Internet via 33.6Kbps modem • 1997 Made my first ever HTML web page in Microsoft Frontpage Express • 1998 Moved to Australia • 2001 Started playing with Perl (雷傲), ASP (动⺴⽹网) and PHP (Discuz!) forum software • 2004 Started learning PHP and JavaScript in TAFE (pre-university bridge) • 2006 Started working part-time as a junior developer whilst studying in university • 2006 Discovered Ruby and Ruby on Rails, and switched to OS X because of Textmate • 2008 Started professionally as a web developer (HTML, CSS, PHP and JavaScript) 4 Saturday, 17 November 12
• 1997 Started using BBS (上海热线) and the Internet via 33.6Kbps modem • 1997 Made my first ever HTML web page in Microsoft Frontpage Express • 1998 Moved to Australia • 2001 Started playing with Perl (雷傲), ASP (动⺴⽹网) and PHP (Discuz!) forum software • 2004 Started learning PHP and JavaScript in TAFE (pre-university bridge) • 2006 Started working part-time as a junior developer whilst studying in university • 2006 Discovered Ruby and Ruby on Rails, and switched to OS X because of Textmate • 2008 Started professionally as a web developer (HTML, CSS, PHP and JavaScript) • 2010 Started programming in Ruby full time (mostly) 4 Saturday, 17 November 12
• 1997 Started using BBS (上海热线) and the Internet via 33.6Kbps modem • 1997 Made my first ever HTML web page in Microsoft Frontpage Express • 1998 Moved to Australia • 2001 Started playing with Perl (雷傲), ASP (动⺴⽹网) and PHP (Discuz!) forum software • 2004 Started learning PHP and JavaScript in TAFE (pre-university bridge) • 2006 Started working part-time as a junior developer whilst studying in university • 2006 Discovered Ruby and Ruby on Rails, and switched to OS X because of Textmate • 2008 Started professionally as a web developer (HTML, CSS, PHP and JavaScript) • 2010 Started programming in Ruby full time (mostly) • 2010 Started contributing to many open source ruby projects, including Ruby on Rails 4 Saturday, 17 November 12
Engine Yard Ryan Bigg Author of Rails 3 in Action, 2011 Ruby Hero Pat Allan Author of Thinking Sphinx, 2009 Ruby Hero Xavier Shay Author of Cane and Enki, works at Square Ben Schwarz Member of W3C’s CSS Working Group Darcy Laycock Author of API Smith, 2011 Ruby Hero Justin French Author of Formtastic Daniel Neighman Author of Warden, works at Square Ben Hoskings Author of Babushka Marcus Crafter Author of Sprinkle Charlie Somerville Author of Slash language, a talented 18 year old! Jack Chen (Chendo) Contributor to iTerm2 Mikel Lindsaar Author of Mail, rails core committer John Barton Cofounder of Goodfil.ms, dev manager of Envato for 3+ years Paul Annesley Built 99designs, works at SitePoint Gareth Townsend Founder of Melbourne Cocoaheads Ivan Vanderbyl Founder of Crashlog Glen Maddern Cofounder of Goodfil.ms Alan Harper Author of Rubyzip James Healy Author of PDF::Reader, maintainer of Prawn Florian Hanke Author of Picky 7 Saturday, 17 November 12
for what you do. 三流程序员提供汗⽔水。 2. You are being paid for what you know. ⼆二流程序员提供脑⼒力。 3. You are being paid for your experience. ⼀一流程序员提供经验。 12 Saturday, 17 November 12
• Maths and algorithm? 算法控 • Money? ⾦金钱控 • Choose where to work wisely • But it probably doesn’t matter (as much) for the first year or two WHERE TO START 14 Saturday, 17 November 12
I use Rails for XYZ?” is not a good question). 模棱两可惹⼈人厌。 • Give context and details (e.g. error stack trace). 提供上下⽂文与出错报告。 • Show that you’ve done your research. 必要的功课先做好。 15 Saturday, 17 November 12
I use Rails for XYZ?” is not a good question). 模棱两可惹⼈人厌。 • Give context and details (e.g. error stack trace). 提供上下⽂文与出错报告。 • Show that you’ve done your research. 必要的功课先做好。 • Respect the answers and comments offered to you. 尊重别⼈人给出的答案和意⻅见。 15 Saturday, 17 November 12
I use Rails for XYZ?” is not a good question). 模棱两可惹⼈人厌。 • Give context and details (e.g. error stack trace). 提供上下⽂文与出错报告。 • Show that you’ve done your research. 必要的功课先做好。 • Respect the answers and comments offered to you. 尊重别⼈人给出的答案和意⻅见。 • Be mindful of how many questions you ask. 短时间内不要提⼤大量的问题。 15 Saturday, 17 November 12
I use Rails for XYZ?” is not a good question). 模棱两可惹⼈人厌。 • Give context and details (e.g. error stack trace). 提供上下⽂文与出错报告。 • Show that you’ve done your research. 必要的功课先做好。 • Respect the answers and comments offered to you. 尊重别⼈人给出的答案和意⻅见。 • Be mindful of how many questions you ask. 短时间内不要提⼤大量的问题。 • Don’t be a Help Vampire! http://slash7.com/2006/12/22/vampires/ 15 Saturday, 17 November 12
on Twitter or Weibo is not cool. 基本道德:不攻击他⼈人。 • Make sure you checked your facts. 事实胜于雄辩。 • Deflect office politics. 规避办公室政治。 16 Saturday, 17 November 12
on Twitter or Weibo is not cool. 基本道德:不攻击他⼈人。 • Make sure you checked your facts. 事实胜于雄辩。 • Deflect office politics. 规避办公室政治。 • Don’t spread pirate links! 不散播盗版链接。 16 Saturday, 17 November 12
on Twitter or Weibo is not cool. 基本道德:不攻击他⼈人。 • Make sure you checked your facts. 事实胜于雄辩。 • Deflect office politics. 规避办公室政治。 • Don’t spread pirate links! 不散播盗版链接。 • Don’t waste energy in endless debates. 不参与⽆无谓的争辩。 Credit: xkcd.com 16 Saturday, 17 November 12
⺫⽬目标定太低,难以进步。 • Aim too high you’ll be depressed. ⺫⽬目标定太⾼高,永追不上。 • So make your goals @variables rather than CONSTANTS. 把⺫⽬目标设为变量,⽽而⾮非常量。 17 Saturday, 17 November 12
total rewrites. 第⼆二系统综合症——避免重写。 • Software engineering is like playing Starcraft - always check your mini-map. 软件⼯工程有如星际争霸——需经常关注迷你地图,以⼤大局为重。 18 Saturday, 17 November 12
total rewrites. 第⼆二系统综合症——避免重写。 • Software engineering is like playing Starcraft - always check your mini-map. 软件⼯工程有如星际争霸——需经常关注迷你地图,以⼤大局为重。 • Experience is as important as talent, if not more important. 经验与天赋同重要。 18 Saturday, 17 November 12
total rewrites. 第⼆二系统综合症——避免重写。 • Software engineering is like playing Starcraft - always check your mini-map. 软件⼯工程有如星际争霸——需经常关注迷你地图,以⼤大局为重。 • Experience is as important as talent, if not more important. 经验与天赋同重要。 • Technical debt is a debt, the longer you wait, the more interests you pay. 技术债务——拖⽋欠越久,偿还越多。 18 Saturday, 17 November 12
total rewrites. 第⼆二系统综合症——避免重写。 • Software engineering is like playing Starcraft - always check your mini-map. 软件⼯工程有如星际争霸——需经常关注迷你地图,以⼤大局为重。 • Experience is as important as talent, if not more important. 经验与天赋同重要。 • Technical debt is a debt, the longer you wait, the more interests you pay. 技术债务——拖⽋欠越久,偿还越多。 • Choose the application architecture wisely. 谨慎选择软件架构。 18 Saturday, 17 November 12
hold user data. ⽤用户帐户系统。 • The profile system will potentially be used standalone. ⽤用户帐户系统未来可能会被独⽴立使⽤用。 • We need plugin-able “modules”. 需可插⼊入式模块系统。 19 Saturday, 17 November 12
hold user data. ⽤用户帐户系统。 • The profile system will potentially be used standalone. ⽤用户帐户系统未来可能会被独⽴立使⽤用。 • We need plugin-able “modules”. 需可插⼊入式模块系统。 • There will potentially be 3rd party modules. 未来可能会有第三⽅方开发的模块。 19 Saturday, 17 November 12
hold user data. ⽤用户帐户系统。 • The profile system will potentially be used standalone. ⽤用户帐户系统未来可能会被独⽴立使⽤用。 • We need plugin-able “modules”. 需可插⼊入式模块系统。 • There will potentially be 3rd party modules. 未来可能会有第三⽅方开发的模块。 • Of course, the development timeline is tight. 开发周期很紧凑。 19 Saturday, 17 November 12
the usefulness of the API layer for 3rd party developers. 不可预知 API 层在未来是否还可有效利⽤用。 • More complexity == more chances to screw up. 系统越复杂,越容易出错。 21 Saturday, 17 November 12
difficult to scale out. 单⼀一系统相对较难向外扩展。 • It is also more difficult to assign tasks. 单⼀一系统相对较难安排团队成员任务。 • It is more likely to have leaky code. 单⼀一系统相对更难有效封装。 23 Saturday, 17 November 12
避免过度⼯工程。 • Good degree of separation of concern. 注重关注点分离。 • Internal interfaces are easier than external APIs: 内部接⼝口相对外部 API 更易开发: ‣ @gateway ||= PlatformModuleGateway.new(args) ‣ mod = module_controller(module_name).new(args) ‣ mod.validate_input ‣ mod.render_view 25 Saturday, 17 November 12
SERVER (Long-polling, Cache, SSL) UNICORN Worker 1 Worker 2 Worker 3 Worker N Request Router Auth Admin Controller Workflow Controler User Data Source (Rails engine modules) Gateway M V C M V C M V C M V C M V C Mailer MySQL Application Server Master Sendmail Active Record ORM UNICORN Worker 1 Worker 2 Worker N Application Server Master Group Manager Roles Manager User Profile Manager Authentication System Permissions Management CRON DFAT Scraper Master Worker Event Machine Country Scraper Regional Scraper Local DB Server Active Record ORM Data Mapper ORM Profile TMP Firewall Firewall UNIX Socket HTTP JSON HTTPS UNIX Socket Client HART Aviation API JSON (SSL) CDC VISA Link 28 Saturday, 17 November 12
SERVER (Long-polling, Cache, SSL) UNICORN Worker 1 Worker 2 Worker 3 Worker N Request Router Auth Admin Controller Workflow Controler User Data Source (Rails engine modules) Gateway M V C M V C M V C M V C M V C Mailer MySQL Application Server Master Sendmail Active Record ORM UNICORN Worker 1 Worker 2 Worker N Application Server Master Group Manager Roles Manager User Profile Manager Authentication System Permissions Management CRON DFAT Scraper Master Worker Event Machine Country Scraper Regional Scraper Local DB Server Active Record ORM Data Mapper ORM Profile TMP Firewall Firewall UNIX Socket HTTP JSON HTTPS UNIX Socket Client HART Aviation API JSON (SSL) CDC VISA Link 28 Saturday, 17 November 12
SERVER (Long-polling, Cache, SSL) UNICORN Worker 1 Worker 2 Worker 3 Worker N Request Router Auth Admin Controller Workflow Controler User Data Source (Rails engine modules) Gateway M V C M V C M V C M V C M V C Mailer MySQL Application Server Master Sendmail Active Record ORM UNICORN Worker 1 Worker 2 Worker N Application Server Master Group Manager Roles Manager User Profile Manager Authentication System Permissions Management CRON DFAT Scraper Master Worker Event Machine Country Scraper Regional Scraper Local DB Server Active Record ORM Data Mapper ORM Profile TMP Firewall Firewall UNIX Socket HTTP JSON HTTPS UNIX Socket Client HART Aviation API JSON (SSL) CDC VISA Link 28 Saturday, 17 November 12
SERVER (Long-polling, Cache, SSL) UNICORN Worker 1 Worker 2 Worker 3 Worker N Request Router Auth Admin Controller Workflow Controler User Data Source (Rails engine modules) Gateway M V C M V C M V C M V C M V C Mailer MySQL Application Server Master Sendmail Active Record ORM UNICORN Worker 1 Worker 2 Worker N Application Server Master Group Manager Roles Manager User Profile Manager Authentication System Permissions Management CRON DFAT Scraper Master Worker Event Machine Country Scraper Regional Scraper Local DB Server Active Record ORM Data Mapper ORM Profile TMP Firewall Firewall UNIX Socket HTTP JSON HTTPS UNIX Socket Client HART Aviation API JSON (SSL) CDC VISA Link 28 Saturday, 17 November 12
SERVER (Long-polling, Cache, SSL) UNICORN Worker 1 Worker 2 Worker 3 Worker N Request Router Auth Admin Controller Workflow Controler User Data Source (Rails engine modules) Gateway M V C M V C M V C M V C M V C Mailer MySQL Application Server Master Sendmail Active Record ORM UNICORN Worker 1 Worker 2 Worker N Application Server Master Group Manager Roles Manager User Profile Manager Authentication System Permissions Management CRON DFAT Scraper Master Worker Event Machine Country Scraper Regional Scraper Local DB Server Active Record ORM Data Mapper ORM Profile TMP Firewall Firewall UNIX Socket HTTP JSON HTTPS UNIX Socket Client HART Aviation API JSON (SSL) CDC VISA Link 28 Saturday, 17 November 12
SERVER (Long-polling, Cache, SSL) UNICORN Worker 1 Worker 2 Worker 3 Worker N Request Router Auth Admin Controller Workflow Controler User Data Source (Rails engine modules) Gateway M V C M V C M V C M V C M V C Mailer MySQL Application Server Master Sendmail Active Record ORM UNICORN Worker 1 Worker 2 Worker N Application Server Master Group Manager Roles Manager User Profile Manager Authentication System Permissions Management CRON DFAT Scraper Master Worker Event Machine Country Scraper Regional Scraper Local DB Server Active Record ORM Data Mapper ORM Profile TMP Firewall Firewall UNIX Socket HTTP JSON HTTPS UNIX Socket Client HART Aviation API JSON (SSL) CDC VISA Link 28 Saturday, 17 November 12
SERVER (Long-polling, Cache, SSL) UNICORN Worker 1 Worker 2 Worker 3 Worker N Request Router Auth Admin Controller Workflow Controler User Data Source (Rails engine modules) Gateway M V C M V C M V C M V C M V C Mailer MySQL Application Server Master Sendmail Active Record ORM UNICORN Worker 1 Worker 2 Worker N Application Server Master Group Manager Roles Manager User Profile Manager Authentication System Permissions Management CRON DFAT Scraper Master Worker Event Machine Country Scraper Regional Scraper Local DB Server Active Record ORM Data Mapper ORM Profile TMP Firewall Firewall UNIX Socket HTTP JSON HTTPS UNIX Socket Client HART Aviation API JSON (SSL) CDC VISA Link 28 Saturday, 17 November 12
SERVER (Long-polling, Cache, SSL) UNICORN Worker 1 Worker 2 Worker 3 Worker N Request Router Auth Admin Controller Workflow Controler User Data Source (Rails engine modules) Gateway M V C M V C M V C M V C M V C Mailer MySQL Application Server Master Sendmail Active Record ORM UNICORN Worker 1 Worker 2 Worker N Application Server Master Group Manager Roles Manager User Profile Manager Authentication System Permissions Management CRON DFAT Scraper Master Worker Event Machine Country Scraper Regional Scraper Local DB Server Active Record ORM Data Mapper ORM Profile TMP Firewall Firewall UNIX Socket HTTP JSON HTTPS UNIX Socket Client HART Aviation API JSON (SSL) CDC VISA Link 28 Saturday, 17 November 12
whatever... • TDD? BDD? Test first, or verify later? • If no one shoe/shirt/hat size can fit all, then why should development processes be any different? 37 Saturday, 17 November 12
whatever... • TDD? BDD? Test first, or verify later? • If no one shoe/shirt/hat size can fit all, then why should development processes be any different? • There will always be people trying to sell you something. 37 Saturday, 17 November 12
whatever... • TDD? BDD? Test first, or verify later? • If no one shoe/shirt/hat size can fit all, then why should development processes be any different? • There will always be people trying to sell you something. • Use whatever works for your team, your project and your culture! 37 Saturday, 17 November 12
as important as writing code. 阅读代码与编写代码同重要。 • Learn from the masters. 向⼤大师们学习。 • Take some, give some - sharing is awesome. 不断收获的同时,别忘了付出。 39 Saturday, 17 November 12
as important as writing code. 阅读代码与编写代码同重要。 • Learn from the masters. 向⼤大师们学习。 • Take some, give some - sharing is awesome. 不断收获的同时,别忘了付出。 • Make things more useful for yourself therefore for others too. 对⾃自⼰己有⽤用的东⻄西,也许对他⼈人也有⽤用。 39 Saturday, 17 November 12
it! 写了有⽤用的好玩意⼉儿?发布吧,勇敢的少年! • Be critisied of your work, and learn from mistakes. 虚⼼心接受意⻅见与批评,由错误中学习。 • Be proud of your work, and be recognised. 为⾃自⼰己的⾟辛苦成果感到⾃自豪。 41 Saturday, 17 November 12
it! 写了有⽤用的好玩意⼉儿?发布吧,勇敢的少年! • Be critisied of your work, and learn from mistakes. 虚⼼心接受意⻅见与批评,由错误中学习。 • Be proud of your work, and be recognised. 为⾃自⼰己的⾟辛苦成果感到⾃自豪。 • Make a little dent in the universe. ⼀一点⼩小⼩小的贡献的话,可以哟〜~ 41 Saturday, 17 November 12
based on configurable duration and limit. RUBY Angel Nest An open source 'clone' of AngelList. RUBY API Taster Visually test your Rails application's API. RUBY AppReset Resets (and if available, seeds) your databases. RUBY Bustle Activities recording and retrieving using a simple Pub/Sub-like interface. RUBY Datamappify Turn ActiveRecord into DataMapper (sort of)! RUBY Haml2Slim Convert Haml templates to Slim templates. RUBY Inherited Resources Views DRY your view files! RUBY Ruby Decorators Ruby method decorators inspired by Python. RUBY Security Guard A collection of useful tools for auditing data. RUBY Slim Bundle A Textmate / Sublime Text bundle for Slim. PHP Authlite A lightweight, flexible Auth module for Kohana. PHP KThrottler Throttle actions based on configurable duration and limit. PHP PHamlP A bridge between Kohana and PHamlP. JAVASCRIPT Endless Scroll Endless / infinite scrolling solution for jQuery. JAVASCRIPT Inline Confirmation Less obtrusive confirmation dialogues. JAVASCRIPT Skinny Coffee Machine A simple state machine with observers. JAVASCRIPT Slideshow Lite A lightweight slideshow plugin for jQuery. 42 Saturday, 17 November 12
exposure for his work with hundreds of HN readers. At least at a glance, it seems like solid and clean Rails / Ruby code ... -- tomkarlo (via Hacker News) 52 Saturday, 17 November 12
deadlines and pressure. 截⽌止期限与压⼒力。 • Like open source work, but with some $$$. 赚点外快。 • Be involved in projects different to those at your day job. 不同的项⺫⽬目体验与经验。 74 Saturday, 17 November 12
deadlines and pressure. 截⽌止期限与压⼒力。 • Like open source work, but with some $$$. 赚点外快。 • Be involved in projects different to those at your day job. 不同的项⺫⽬目体验与经验。 • Communication skills with your clients. 客户沟通经验。 74 Saturday, 17 November 12
deadlines and pressure. 截⽌止期限与压⼒力。 • Like open source work, but with some $$$. 赚点外快。 • Be involved in projects different to those at your day job. 不同的项⺫⽬目体验与经验。 • Communication skills with your clients. 客户沟通经验。 • Communication skills with your remote team members. 远程团队沟通经验。 74 Saturday, 17 November 12
your hours awake at your day job, make it count! • Know what you are looking for. 知道⾃自⼰己想要什么。 • What can you get out of working at the company? 在这家公司⼯工作,能学习到什么? 76 Saturday, 17 November 12
your hours awake at your day job, make it count! • Know what you are looking for. 知道⾃自⼰己想要什么。 • What can you get out of working at the company? 在这家公司⼯工作,能学习到什么? • What did you get out of working at the company? 在这家公司⼯工作,学习到了什么? 76 Saturday, 17 November 12
(part time) • HTML, CSS, PHP and JavaScript! ‣ Small web agency ‣ Mostly static websites ‣ Mostly small clients ‣ Mostly small projects 77 Saturday, 17 November 12
(part time) • HTML, CSS, PHP and JavaScript! • Mostly worked by myself ‣ Small web agency ‣ Mostly static websites ‣ Mostly small clients ‣ Mostly small projects 77 Saturday, 17 November 12
(part time) • HTML, CSS, PHP and JavaScript! • Mostly worked by myself • Learnt a thing or two about SEO ‣ Small web agency ‣ Mostly static websites ‣ Mostly small clients ‣ Mostly small projects 77 Saturday, 17 November 12
(part time) • HTML, CSS, PHP and JavaScript! • Mostly worked by myself • Learnt a thing or two about SEO • I’m not as good as I thought I was ‣ Small web agency ‣ Mostly static websites ‣ Mostly small clients ‣ Mostly small projects 77 Saturday, 17 November 12
job • Mostly PHP and JavaScript ‣ Small agency (print + web) ‣ Small to mid-sized projects ‣ Household name clients ‣ Meetings with clients 78 Saturday, 17 November 12
job • Mostly PHP and JavaScript • Kohana, Zend Framework and Yii ‣ Small agency (print + web) ‣ Small to mid-sized projects ‣ Household name clients ‣ Meetings with clients 78 Saturday, 17 November 12
job • Mostly PHP and JavaScript • Kohana, Zend Framework and Yii • Team environment ‣ Small agency (print + web) ‣ Small to mid-sized projects ‣ Household name clients ‣ Meetings with clients 78 Saturday, 17 November 12
job • Mostly PHP and JavaScript • Kohana, Zend Framework and Yii • Team environment • Learnt things I didn’t know (print) ‣ Small agency (print + web) ‣ Small to mid-sized projects ‣ Household name clients ‣ Meetings with clients 78 Saturday, 17 November 12
developer AND LASTLY, YOUR DAY JOB ‣ Well-known startup ‣ Great platforms and websites ‣ Online education! ‣ High traffic ‣ Ruby shop 79 Saturday, 17 November 12
developer • Learnt heaps from senior devs AND LASTLY, YOUR DAY JOB ‣ Well-known startup ‣ Great platforms and websites ‣ Online education! ‣ High traffic ‣ Ruby shop 79 Saturday, 17 November 12
developer • Learnt heaps from senior devs • Manage stakeholder expectations AND LASTLY, YOUR DAY JOB ‣ Well-known startup ‣ Great platforms and websites ‣ Online education! ‣ High traffic ‣ Ruby shop 79 Saturday, 17 November 12
My first agile environment! • Multiple teams and projects AND LASTLY, YOUR DAY JOB ‣ Well funded startup ($50M+) ‣ Large teams ‣ Multiple projects 80 Saturday, 17 November 12
My first agile environment! • Multiple teams and projects • Made lots of friends :-) AND LASTLY, YOUR DAY JOB ‣ Well funded startup ($50M+) ‣ Large teams ‣ Multiple projects 80 Saturday, 17 November 12
and management • Great industry connections AND LASTLY, YOUR DAY JOB ‣ Well-known company ‣ Respected in the industry ‣ Online education! ‣ High traffic 81 Saturday, 17 November 12
and management • Great industry connections • Online education AND LASTLY, YOUR DAY JOB ‣ Well-known company ‣ Respected in the industry ‣ Online education! ‣ High traffic 81 Saturday, 17 November 12
and management • Great industry connections • Online education • Recognisable brand AND LASTLY, YOUR DAY JOB ‣ Well-known company ‣ Respected in the industry ‣ Online education! ‣ High traffic 81 Saturday, 17 November 12
architect systems AND LASTLY, YOUR DAY JOB ‣ Well-funded startup ‣ Unique industry connections ‣ Early stage ‣ Big opportunities 82 Saturday, 17 November 12
architect systems • Build champion teams AND LASTLY, YOUR DAY JOB ‣ Well-funded startup ‣ Unique industry connections ‣ Early stage ‣ Big opportunities 82 Saturday, 17 November 12
architect systems • Build champion teams • Enterprise products + startup spirits AND LASTLY, YOUR DAY JOB ‣ Well-funded startup ‣ Unique industry connections ‣ Early stage ‣ Big opportunities 82 Saturday, 17 November 12
architect systems • Build champion teams • Enterprise products + startup spirits • Be part of something big (potentially) AND LASTLY, YOUR DAY JOB ‣ Well-funded startup ‣ Unique industry connections ‣ Early stage ‣ Big opportunities 82 Saturday, 17 November 12
developers? • Blog - show me your thoughts! • Twitter/Weibo - show me your passion! • GitHub - show me your code! • LinkedIn - show me your resume! 83 Saturday, 17 November 12
“develop” • Both branches connect to CI (Jenkins + Travis) • Small tweaks and hot-fixes push to deployable branches directly 93 Saturday, 17 November 12
“develop” • Both branches connect to CI (Jenkins + Travis) • Small tweaks and hot-fixes push to deployable branches directly • Disposable feature branches 93 Saturday, 17 November 12
“develop” • Both branches connect to CI (Jenkins + Travis) • Small tweaks and hot-fixes push to deployable branches directly • Disposable feature branches • Pull requests (w/ Travis) 93 Saturday, 17 November 12
“develop” • Both branches connect to CI (Jenkins + Travis) • Small tweaks and hot-fixes push to deployable branches directly • Disposable feature branches • Pull requests (w/ Travis) • Pull requests get reviewed 93 Saturday, 17 November 12
“develop” • Both branches connect to CI (Jenkins + Travis) • Small tweaks and hot-fixes push to deployable branches directly • Disposable feature branches • Pull requests (w/ Travis) • Pull requests get reviewed • Pull requests get merged 93 Saturday, 17 November 12
“develop” • Both branches connect to CI (Jenkins + Travis) • Small tweaks and hot-fixes push to deployable branches directly • Disposable feature branches • Pull requests (w/ Travis) • Pull requests get reviewed • Pull requests get merged • Release and profit! 93 Saturday, 17 November 12
the sloppy code. There was an unexpected house selling emergency last weekend. I was unable to spent enough time on the test. Your Agency is important to me, I value each opportunity you brought and always prepare it seriously. Please accept my sincere apology for missing this valuable job opportunity. -- Candidate who cheats 118 Saturday, 17 November 12
the sloppy code. There was an unexpected house selling emergency last weekend. I was unable to spent enough time on the test. Your Agency is important to me, I value each opportunity you brought and always prepare it seriously. Please accept my sincere apology for missing this valuable job opportunity. -- Candidate who cheats 118 Saturday, 17 November 12
the sloppy code. There was an unexpected house selling emergency last weekend. I was unable to spent enough time on the test. Your Agency is important to me, I value each opportunity you brought and always prepare it seriously. Please accept my sincere apology for missing this valuable job opportunity. -- Candidate who cheats 118 Saturday, 17 November 12
the sloppy code. There was an unexpected house selling emergency last weekend. I was unable to spent enough time on the test. Your Agency is important to me, I value each opportunity you brought and always prepare it seriously. Please accept my sincere apology for missing this valuable job opportunity. -- Candidate who cheats 118 Saturday, 17 November 12
may contain more than one stops, e.g. • Beijing -> Shanghai • Shanghai -> Hongkong • We only want to display the first stop from each trip 135 Saturday, 17 November 12
user’s approval? Nope. • An approval’s user? Nope. • So, it’s not an approval, or a user. • Where’s the indication of “role”? 158 Saturday, 17 November 12