[Rakuten TechConf2014] [A-5] Lessons learned from Ruby
Post on 03-Jul-2015
283 Views
Preview:
DESCRIPTION
Transcript
Lessons learned form Ruby Powered by Rabbit 2.1.2
Lessons learned form Ruby
楽天技術研究所ネットワーク応用通信研究所
RubyアソシエーションHeroku
まつもとゆきひろYukihiro "Matz" Matsumoto
@yukihiro_matz
Lessons learned form Ruby Powered by Rabbit 2.1.2
1993
Lessons learned form Ruby Powered by Rabbit 2.1.2
Crash of Bubble economy in Japan
Lessons learned form Ruby Powered by Rabbit 2.1.2
Project Cancel
Lessons learned form Ruby Powered by Rabbit 2.1.2
Skunk works
Lessons learned form Ruby Powered by Rabbit 2.1.2
Lesson 1
Lessons learned form Ruby Powered by Rabbit 2.1.2
Don't ask for permission,beg for forgiveness
Lessons learned form Ruby Powered by Rabbit 2.1.2
Permission
Lessons learned form Ruby Powered by Rabbit 2.1.2
You can permit only when you understand
Lessons learned form Ruby Powered by Rabbit 2.1.2
Limit of asking permission
Lessons learned form Ruby Powered by Rabbit 2.1.2
Persuasion
Lessons learned form Ruby Powered by Rabbit 2.1.2
Compromise
Lessons learned form Ruby Powered by Rabbit 2.1.2
Hinders innovation
Lessons learned form Ruby Powered by Rabbit 2.1.2
The Innovator's Dilemma
Lessons learned form Ruby Powered by Rabbit 2.1.2
Innovation
Lessons learned form Ruby Powered by Rabbit 2.1.2
You need freedom to innovate
Lessons learned form Ruby Powered by Rabbit 2.1.2
Lesson 2
Lessons learned form Ruby Powered by Rabbit 2.1.2
Don't value ideas
Lessons learned form Ruby Powered by Rabbit 2.1.2
Idea matters in innovation
Lessons learned form Ruby Powered by Rabbit 2.1.2
Or not
Lessons learned form Ruby Powered by Rabbit 2.1.2
Ruby
Lessons learned form Ruby Powered by Rabbit 2.1.2
Object-oriented scripting language
Lessons learned form Ruby Powered by Rabbit 2.1.2
Everyone can think of
Lessons learned form Ruby Powered by Rabbit 2.1.2
Perl, Python,...
Lessons learned form Ruby Powered by Rabbit 2.1.2
It only takes a minute to make up an idea
Lessons learned form Ruby Powered by Rabbit 2.1.2
It takes months or years to implement
Lessons learned form Ruby Powered by Rabbit 2.1.2
Mere idea matters not
Lessons learned form Ruby Powered by Rabbit 2.1.2
Adding ideas can ruin the product
Lessons learned form Ruby Powered by Rabbit 2.1.2
Mere ideas have no value
Lessons learned form Ruby Powered by Rabbit 2.1.2
Ideas without implementations have no value
Lessons learned form Ruby Powered by Rabbit 2.1.2
Details matter
Lessons learned form Ruby Powered by Rabbit 2.1.2
Working implementations matter
Lessons learned form Ruby Powered by Rabbit 2.1.2
Community matters
Lessons learned form Ruby Powered by Rabbit 2.1.2
Philosophy matters
Lessons learned form Ruby Powered by Rabbit 2.1.2
Lesson 3
Lessons learned form Ruby Powered by Rabbit 2.1.2
Never give up
Lessons learned form Ruby Powered by Rabbit 2.1.2
Software Lifespan
Lessons learned form Ruby Powered by Rabbit 2.1.2
Apps: 2+ years
Lessons learned form Ruby Powered by Rabbit 2.1.2
Services: 5+ years
Lessons learned form Ruby Powered by Rabbit 2.1.2
Frameworks: 10+ years
Lessons learned form Ruby Powered by Rabbit 2.1.2
Languages: 20+ years
Lessons learned form Ruby Powered by Rabbit 2.1.2
Some software live long
Lessons learned form Ruby Powered by Rabbit 2.1.2
Have higher viewpoint
Lessons learned form Ruby Powered by Rabbit 2.1.2
Adopt changing situation
Lessons learned form Ruby Powered by Rabbit 2.1.2
Application domains
Lessons learned form Ruby Powered by Rabbit 2.1.2
Scripting → Web
Lessons learned form Ruby Powered by Rabbit 2.1.2
Sysadmin
Research computing
Embedded programming
Lessons learned form Ruby Powered by Rabbit 2.1.2
Changing platforms
Lessons learned form Ruby Powered by Rabbit 2.1.2
Multi-core
Cloud
Lessons learned form Ruby Powered by Rabbit 2.1.2
Tooling
Lessons learned form Ruby Powered by Rabbit 2.1.2
RubyGems
Ruby on Rails
New Relic
Code Climate
Lessons learned form Ruby Powered by Rabbit 2.1.2
Ruby did not have CPAN
Lessons learned form Ruby Powered by Rabbit 2.1.2
Ruby has RubyGems
Lessons learned form Ruby Powered by Rabbit 2.1.2
Ruby was slow
Lessons learned form Ruby Powered by Rabbit 2.1.2
Ruby is faster
Lessons learned form Ruby Powered by Rabbit 2.1.2
We always meet complaints
Lessons learned form Ruby Powered by Rabbit 2.1.2
Complaints are good
Lessons learned form Ruby Powered by Rabbit 2.1.2
Most people just leave without complaints
Lessons learned form Ruby Powered by Rabbit 2.1.2
Complaints tell us where to improve
Lessons learned form Ruby Powered by Rabbit 2.1.2
They indicate you have room to improve
Lessons learned form Ruby Powered by Rabbit 2.1.2
Don't give up
Lessons learned form Ruby Powered by Rabbit 2.1.2
Cheer up
Lessons learned form Ruby Powered by Rabbit 2.1.2
Move forward bit by bit
Lessons learned form Ruby Powered by Rabbit 2.1.2
You will win gradually
Lessons learned form Ruby Powered by Rabbit 2.1.2
Lesson 4
Lessons learned form Ruby Powered by Rabbit 2.1.2
Mind the power of OSS
Lessons learned form Ruby Powered by Rabbit 2.1.2
Open Source Software
Lessons learned form Ruby Powered by Rabbit 2.1.2
Free Software
Lessons learned form Ruby Powered by Rabbit 2.1.2
Libre Software
Lessons learned form Ruby Powered by Rabbit 2.1.2
FLOSS
Lessons learned form Ruby Powered by Rabbit 2.1.2
Free/Libre/OpenSource Software
Lessons learned form Ruby Powered by Rabbit 2.1.2
Richard Stallman
Lessons learned form Ruby Powered by Rabbit 2.1.2
Lessons learned form Ruby Powered by Rabbit 2.1.2
Stallman is my hero
Lessons learned form Ruby Powered by Rabbit 2.1.2
Lessons learned form Ruby Powered by Rabbit 2.1.2
He changed the world
Lessons learned form Ruby Powered by Rabbit 2.1.2
The Internet is driven by FLOSS
Lessons learned form Ruby Powered by Rabbit 2.1.2
Linux
Lessons learned form Ruby Powered by Rabbit 2.1.2
Apache
Lessons learned form Ruby Powered by Rabbit 2.1.2
Ruby, PHP, Python, Perl
Lessons learned form Ruby Powered by Rabbit 2.1.2
MySQL, PostgreSQL
Lessons learned form Ruby Powered by Rabbit 2.1.2
OpenOffice, LibreOffice
Lessons learned form Ruby Powered by Rabbit 2.1.2
DNS, OpenSSL
Lessons learned form Ruby Powered by Rabbit 2.1.2
Firefox, Chromium
Lessons learned form Ruby Powered by Rabbit 2.1.2
1998
Lessons learned form Ruby Powered by Rabbit 2.1.2
The term "OSS" was created
Lessons learned form Ruby Powered by Rabbit 2.1.2
Rephrasing free software
Lessons learned form Ruby Powered by Rabbit 2.1.2
Software Freedom
Lessons learned form Ruby Powered by Rabbit 2.1.2
Freedom to execute1.
Freedom to study2.
Freedom to modify3.
Freedom to redistribute4.
Lessons learned form Ruby Powered by Rabbit 2.1.2
Engineers' paradise
Lessons learned form Ruby Powered by Rabbit 2.1.2
Engineers' instinct
Lessons learned form Ruby Powered by Rabbit 2.1.2
You can be better with freedom
Lessons learned form Ruby Powered by Rabbit 2.1.2
The power of secrecy
Lessons learned form Ruby Powered by Rabbit 2.1.2
The infomation has nature to spread
Lessons learned form Ruby Powered by Rabbit 2.1.2
The power of disclosure
Lessons learned form Ruby Powered by Rabbit 2.1.2
The new business model
Lessons learned form Ruby Powered by Rabbit 2.1.2
Implicit alliance
Lessons learned form Ruby Powered by Rabbit 2.1.2
If you can't stop it
Lessons learned form Ruby Powered by Rabbit 2.1.2
You must join in
Lessons learned form Ruby Powered by Rabbit 2.1.2
And you can't stop it
Lessons learned form Ruby Powered by Rabbit 2.1.2
No choice
Lessons learned form Ruby Powered by Rabbit 2.1.2
Thanks RMS!
Lessons learned form Ruby Powered by Rabbit 2.1.2
Software development has changed
Lessons learned form Ruby Powered by Rabbit 2.1.2
Internet based development
Lessons learned form Ruby Powered by Rabbit 2.1.2
Decentralized development
Lessons learned form Ruby Powered by Rabbit 2.1.2
Social Coding
Lessons learned form Ruby Powered by Rabbit 2.1.2
Github
Lessons learned form Ruby Powered by Rabbit 2.1.2
Lesson 5
Lessons learned form Ruby Powered by Rabbit 2.1.2
Mind the community
Lessons learned form Ruby Powered by Rabbit 2.1.2
Community
Lessons learned form Ruby Powered by Rabbit 2.1.2
OSS community
Lessons learned form Ruby Powered by Rabbit 2.1.2
Made by spontaneous volunteers
Lessons learned form Ruby Powered by Rabbit 2.1.2
Mostly driven by techical interest
Lessons learned form Ruby Powered by Rabbit 2.1.2
Or maybe by career pressure
Lessons learned form Ruby Powered by Rabbit 2.1.2
Most successful OSS has atractive community
Lessons learned form Ruby Powered by Rabbit 2.1.2
Technologically, Philosophically
Lessons learned form Ruby Powered by Rabbit 2.1.2
OSS communities are like sharks
Lessons learned form Ruby Powered by Rabbit 2.1.2
Must move forward, or die.
Lessons learned form Ruby Powered by Rabbit 2.1.2
Need continuous progress
Lessons learned form Ruby Powered by Rabbit 2.1.2
To entertain/atract members
Lessons learned form Ruby Powered by Rabbit 2.1.2
If we stop progressing
Lessons learned form Ruby Powered by Rabbit 2.1.2
The community will lose interest
Lessons learned form Ruby Powered by Rabbit 2.1.2
They will go away
Lessons learned form Ruby Powered by Rabbit 2.1.2
And start more interesting things
Lessons learned form Ruby Powered by Rabbit 2.1.2
Moving forward over stability
Lessons learned form Ruby Powered by Rabbit 2.1.2
Progress over cost
Lessons learned form Ruby Powered by Rabbit 2.1.2
Even in the enterprise
Lessons learned form Ruby Powered by Rabbit 2.1.2
Lesson 6
Lessons learned form Ruby Powered by Rabbit 2.1.2
Amateurism
Lessons learned form Ruby Powered by Rabbit 2.1.2
Don't ask for permission,beg for forgiveness
Don't value ideas
Never give up
Mind the power of OSS
Mind the community
Lessons learned form Ruby Powered by Rabbit 2.1.2
Software development has changed
Lessons learned form Ruby Powered by Rabbit 2.1.2
Hard to forecast
Lessons learned form Ruby Powered by Rabbit 2.1.2
Hard to estimate
Lessons learned form Ruby Powered by Rabbit 2.1.2
Need to be flexible
Lessons learned form Ruby Powered by Rabbit 2.1.2
Keep moving forward
Lessons learned form Ruby Powered by Rabbit 2.1.2
Adopt the situation
Lessons learned form Ruby Powered by Rabbit 2.1.2
Amateurism
Lessons learned form Ruby Powered by Rabbit 2.1.2
In software development
Lessons learned form Ruby Powered by Rabbit 2.1.2
Great amateurs surpass ordinary professionals
Lessons learned form Ruby Powered by Rabbit 2.1.2
Software made by amateurs
Lessons learned form Ruby Powered by Rabbit 2.1.2
Be amateurs
Lessons learned form Ruby Powered by Rabbit 2.1.2
Summary
Lessons learned form Ruby Powered by Rabbit 2.1.2
From Ruby experience, I learned those lessons
Lessons learned form Ruby Powered by Rabbit 2.1.2
Don't ask for permission,beg for forgiveness
Don't value ideas
Never give up
Mind the power of OSS
Mind the community
Lessons learned form Ruby Powered by Rabbit 2.1.2
Be great amateurs
Lessons learned form Ruby Powered by Rabbit 2.1.2
Driven by technological interest
Lessons learned form Ruby Powered by Rabbit 2.1.2
Create great software
Lessons learned form Ruby Powered by Rabbit 2.1.2
To create great future
Lessons learned form Ruby Powered by Rabbit 2.1.2
Thank you!
top related