Tales from a radically polyglot team
-
Upload
thoughtworks -
Category
Engineering
-
view
3.667 -
download
1
description
Transcript of Tales from a radically polyglot team
RADICALLYPolyglot
TEAM
RYAN LEVICK@itchyankles
OVER ten LANGUAGES
Why?
Software Crisis
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…
…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
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); }
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 ]
Internet
New Problems
Client Teams
Backend Team
OVER ten LANGUAGES
Bash Clojure
C# Go
Haskell Java
JavaScript/Node.js
Objective-C Python Ruby Scala
Trivial
Your Responsibility
1
2
3
4
5
Why?
We have to
We want to
develop quicker
We want the system to
run faster
We want to
be more expressive
We want to
learn
Is this really a good thing ?
Challenges
Deployment Woes
Context Switching
Jack-of-All-Trades !
Master-of-None
Benefits
Value Rigidity
The Fallacy of
General Purpose
The Spread of Ideas
Avoid Group Think
The Best People
The Right Tool
!
for the Job
Happier !
Employees
Your Future
Benefits of Polyglotism
Be Happy
Thank You