Transcript
Page 1: Tales from a radically polyglot team

RADICALLYPolyglot

TEAM

Page 2: Tales from a radically polyglot team

RYAN LEVICK@itchyankles

Page 3: Tales from a radically polyglot team
Page 4: Tales from a radically polyglot team

OVER ten LANGUAGES

Page 5: Tales from a radically polyglot team
Page 6: Tales from a radically polyglot team
Page 7: Tales from a radically polyglot team
Page 8: Tales from a radically polyglot team
Page 9: Tales from a radically polyglot team
Page 10: Tales from a radically polyglot team

Why?

Page 11: Tales from a radically polyglot team

Software Crisis

Page 12: Tales from a radically polyglot team

The major cause of the software crisis is that the machines have become several

orders of magnitude more powerful! To put it quite bluntly: as long as there

were no machines, programming was no problem at all…

Page 13: Tales from a radically polyglot team

…When we had a few weak computers, programming became a mild problem, and now we have gigantic computers,

programming has become an equally

gigantic problem.

Edsger W. Dijkstra

Page 14: Tales from a radically polyglot team
Page 15: Tales from a radically polyglot team

void quick_sort (int *a, int n) { if (n < 2) return; int p = a[n / 2]; int *l = a; int *r = a + n - 1; while (l <= r) { if (*l < p) { l++; } else if (*r > p) { r--; } else { int t = *l; *l = *r; *r = t; l++; r--; } } quick_sort(a, r - a + 1); quick_sort(l, a + n - l); }

Page 16: Tales from a radically polyglot team

qsort :: Ord a => [a] -> [a] qsort [] = [] qsort (x:xs) = qsort less ++ [x] ++ qsort greater where less = [ y | y <- xs, y < x ] greater = [ y | y <- xs, y >= x ]

Page 17: Tales from a radically polyglot team

Internet

Page 18: Tales from a radically polyglot team
Page 19: Tales from a radically polyglot team
Page 20: Tales from a radically polyglot team

New Problems

Page 21: Tales from a radically polyglot team
Page 22: Tales from a radically polyglot team
Page 23: Tales from a radically polyglot team
Page 24: Tales from a radically polyglot team
Page 25: Tales from a radically polyglot team

Client Teams

Page 26: Tales from a radically polyglot team

Backend Team

Page 27: Tales from a radically polyglot team

OVER ten LANGUAGES

Page 28: Tales from a radically polyglot team

Bash Clojure

C# Go

Haskell Java

JavaScript/Node.js

Objective-C Python Ruby Scala

Page 29: Tales from a radically polyglot team

Trivial

Page 30: Tales from a radically polyglot team

Your Responsibility

Page 31: Tales from a radically polyglot team

1

2

3

4

5

Page 32: Tales from a radically polyglot team

Why?

Page 33: Tales from a radically polyglot team

We have to

Page 34: Tales from a radically polyglot team
Page 35: Tales from a radically polyglot team

We want to

develop quicker

Page 36: Tales from a radically polyglot team
Page 37: Tales from a radically polyglot team

We want the system to

run faster

Page 38: Tales from a radically polyglot team
Page 39: Tales from a radically polyglot team

We want to

be more expressive

Page 40: Tales from a radically polyglot team
Page 41: Tales from a radically polyglot team

We want to

learn

Page 42: Tales from a radically polyglot team
Page 43: Tales from a radically polyglot team
Page 44: Tales from a radically polyglot team

Is this really a good thing ?

Page 45: Tales from a radically polyglot team

Challenges

Page 46: Tales from a radically polyglot team

Deployment Woes

Page 47: Tales from a radically polyglot team

Context Switching

Page 48: Tales from a radically polyglot team

Jack-of-All-Trades !

Master-of-None

Page 49: Tales from a radically polyglot team

Benefits

Page 50: Tales from a radically polyglot team
Page 51: Tales from a radically polyglot team

Value Rigidity

Page 52: Tales from a radically polyglot team

The Fallacy of

General Purpose

Page 53: Tales from a radically polyglot team

The Spread of Ideas

Page 54: Tales from a radically polyglot team

Avoid Group Think

Page 55: Tales from a radically polyglot team
Page 56: Tales from a radically polyglot team

The Best People

Page 57: Tales from a radically polyglot team

The Right Tool

!

for the Job

Page 58: Tales from a radically polyglot team

Happier !

Employees

Page 59: Tales from a radically polyglot team
Page 60: Tales from a radically polyglot team

Your Future

Page 61: Tales from a radically polyglot team

Benefits of Polyglotism

Page 62: Tales from a radically polyglot team

Be Happy

Page 63: Tales from a radically polyglot team

Thank You


Top Related