[Rakuten TechConf2014] [A-5] Lessons learned from Ruby

Post on 03-Jul-2015

283 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Rakuten Technology Conference 2014 "Lessons learned from Ruby" (Yukihiro Matsumoto)

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