A presentation at SpreadIT in in Gliwice, Poland by Paweł Lewtak
t e r m I T
p r o j e c t s I T
p r o j e c t s I T
p r o j e c t s I T
p r o j e c t s I T
p r o j e c t s I T
p r o j e c t s I T
p r o j e c t s I T
p r o j e c t s @ p a w e l _ l e w t a k
P a w e ł
L e w t a k P a w e ł
L e w t a k P a w e ł
L e w t a k P a w e ł
L e w t a k P a w e ł
L e w t a k P a w e ł
L e w t a k P a w e ł
L e w t a k P a w e ł
L e w t a k D e v e l o p e r
@
G O G . c o m @ p a w e l _ l e w t a k
0 .
D i s l a i m e r 0 .
D i s l a i m e r 0 .
D i s l a i m e r 0 .
D i s l a i m e r 0 .
D i s l a i m e r 0 .
D i s l a i m e r 0 .
D i s l a i m e r 0 .
D i s l a i m e r
1 .
A n a l y s i s 1 .
A n a l y s i s 1 .
A n a l y s i s 1 .
A n a l y s i s 1 .
A n a l y s i s 1 .
A n a l y s i s 1 .
A n a l y s i s 1 .
A n a l y s i s
W h a t
t o
b u i l d ? W h a t
t o
b u i l d ? W h a t
t o
b u i l d ? W h a t
t o
b u i l d ? W h a t
t o
b u i l d ? W h a t
t o
b u i l d ? W h a t
t o
b u i l d ? W h a t
t o
b u i l d ?
W h a t
p r o b l e m
t o
s o l v e ? W h a t
p r o b l e m
t o
s o l v e ? W h a t
p r o b l e m
t o
s o l v e ? W h a t
p r o b l e m
t o
s o l v e ? W h a t
p r o b l e m
t o
s o l v e ? W h a t
p r o b l e m
t o
s o l v e ? W h a t
p r o b l e m
t o
s o l v e ? W h a t
p r o b l e m
t o
s o l v e ?
T h e
r o o t
o f
a l l
e v i l
i n
p r o g r a m m i n g
i s m i s u n d e r s t a n d i n g
o f
t h e
p r o b l e m .
A s k
r i g h t q u e s t i o n s
t o
r i g h t
p e o p l e
b e f o r e
f i r s t
l i n e
o f c o d e . M a r i u s z
G i l S o u r c e :
h t t p s : / / t w i t t e r . c o m / m a r i u s z g i l / s t a t u s / 8 9 7 0 0 6 2 5 8 7 7 0 9 0 3 0 4 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / m a r i u s z g i l / s t a t u s / 8 9 7 0 0 6 2 5 8 7 7 0 9 0 3 0 4 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / m a r i u s z g i l / s t a t u s / 8 9 7 0 0 6 2 5 8 7 7 0 9 0 3 0 4 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / m a r i u s z g i l / s t a t u s / 8 9 7 0 0 6 2 5 8 7 7 0 9 0 3 0 4 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / m a r i u s z g i l / s t a t u s / 8 9 7 0 0 6 2 5 8 7 7 0 9 0 3 0 4 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / m a r i u s z g i l / s t a t u s / 8 9 7 0 0 6 2 5 8 7 7 0 9 0 3 0 4 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / m a r i u s z g i l / s t a t u s / 8 9 7 0 0 6 2 5 8 7 7 0 9 0 3 0 4 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / m a r i u s z g i l / s t a t u s / 8 9 7 0 0 6 2 5 8 7 7 0 9 0 3 0 4 0
T e c h
p e o p l e
m u s t
s p e a k
t h e
l a n g u a g e
o f B u s i n e s s
p e o p l e ,
n o t
v i c e
v e r s a . S t e f a n
P r i e b s c h S o u r c e :
h t t p s : / / t w i t t e r . c o m / b a e h r 1 7 / s t a t u s / 9 1 3 3 4 8 0 9 9 7 9 5 5 3 7 9 2 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / b a e h r 1 7 / s t a t u s / 9 1 3 3 4 8 0 9 9 7 9 5 5 3 7 9 2 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / b a e h r 1 7 / s t a t u s / 9 1 3 3 4 8 0 9 9 7 9 5 5 3 7 9 2 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / b a e h r 1 7 / s t a t u s / 9 1 3 3 4 8 0 9 9 7 9 5 5 3 7 9 2 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / b a e h r 1 7 / s t a t u s / 9 1 3 3 4 8 0 9 9 7 9 5 5 3 7 9 2 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / b a e h r 1 7 / s t a t u s / 9 1 3 3 4 8 0 9 9 7 9 5 5 3 7 9 2 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / b a e h r 1 7 / s t a t u s / 9 1 3 3 4 8 0 9 9 7 9 5 5 3 7 9 2 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / b a e h r 1 7 / s t a t u s / 9 1 3 3 4 8 0 9 9 7 9 5 5 3 7 9 2 0
D o m a i n
D r i v e n
D e s i g n D o m a i n
D r i v e n
D e s i g n D o m a i n
D r i v e n
D e s i g n D o m a i n
D r i v e n
D e s i g n D o m a i n
D r i v e n
D e s i g n D o m a i n
D r i v e n
D e s i g n D o m a i n
D r i v e n
D e s i g n D o m a i n
D r i v e n
D e s i g n
E v e n t
S t o r m i n g E v e n t
S t o r m i n g E v e n t
S t o r m i n g E v e n t
S t o r m i n g E v e n t
S t o r m i n g E v e n t
S t o r m i n g E v e n t
S t o r m i n g E v e n t
S t o r m i n g
W a t e r f a l l
v s
A g i l e W a t e r f a l l
v s
A g i l e W a t e r f a l l
v s
A g i l e W a t e r f a l l
v s
A g i l e W a t e r f a l l
v s
A g i l e W a t e r f a l l
v s
A g i l e W a t e r f a l l
v s
A g i l e W a t e r f a l l
v s
A g i l e
T h e
O n l y
T h i n g
T h a t
I s
C o n s t a n t
I s
C h a n g e H e r a c l i t u s
2 .
A r c h i t e c t u r e 2 .
A r c h i t e c t u r e 2 .
A r c h i t e c t u r e 2 .
A r c h i t e c t u r e 2 .
A r c h i t e c t u r e 2 .
A r c h i t e c t u r e 2 .
A r c h i t e c t u r e 2 .
A r c h i t e c t u r e
M o n o l i t h
v s
M i c r o s e r v i c e M o n o l i t h
v s
M i c r o s e r v i c e M o n o l i t h
v s
M i c r o s e r v i c e M o n o l i t h
v s
M i c r o s e r v i c e M o n o l i t h
v s
M i c r o s e r v i c e M o n o l i t h
v s
M i c r o s e r v i c e M o n o l i t h
v s
M i c r o s e r v i c e M o n o l i t h
v s
M i c r o s e r v i c e
y o u
s h o u l d n ' t
s t a r t
a
n e w
p r o j e c t
w i t h m i c r o s e r v i c e s M a r t i n
F o w l e r S o u r c e :
h t t p s : / / w w w . m a r t i n f o w l e r . c o m / b l i k i / M o n o l i t h F i r s t . h t m l S o u r c e :
h t t p s : / / w w w . m a r t i n f o w l e r . c o m / b l i k i / M o n o l i t h F i r s t . h t m l S o u r c e :
h t t p s : / / w w w . m a r t i n f o w l e r . c o m / b l i k i / M o n o l i t h F i r s t . h t m l S o u r c e :
h t t p s : / / w w w . m a r t i n f o w l e r . c o m / b l i k i / M o n o l i t h F i r s t . h t m l S o u r c e :
h t t p s : / / w w w . m a r t i n f o w l e r . c o m / b l i k i / M o n o l i t h F i r s t . h t m l S o u r c e :
h t t p s : / / w w w . m a r t i n f o w l e r . c o m / b l i k i / M o n o l i t h F i r s t . h t m l S o u r c e :
h t t p s : / / w w w . m a r t i n f o w l e r . c o m / b l i k i / M o n o l i t h F i r s t . h t m l S o u r c e :
h t t p s : / / w w w . m a r t i n f o w l e r . c o m / b l i k i / M o n o l i t h F i r s t . h t m l
S e r v i c e
O r i e n t e d S e r v i c e
O r i e n t e d S e r v i c e
O r i e n t e d S e r v i c e
O r i e n t e d S e r v i c e
O r i e n t e d S e r v i c e
O r i e n t e d S e r v i c e
O r i e n t e d S e r v i c e
O r i e n t e d A r c h i t e c t u r e A r c h i t e c t u r e A r c h i t e c t u r e A r c h i t e c t u r e A r c h i t e c t u r e A r c h i t e c t u r e A r c h i t e c t u r e A r c h i t e c t u r e
C l e a n
a r c h i t e c t u r e C l e a n
a r c h i t e c t u r e C l e a n
a r c h i t e c t u r e C l e a n
a r c h i t e c t u r e C l e a n
a r c h i t e c t u r e C l e a n
a r c h i t e c t u r e C l e a n
a r c h i t e c t u r e C l e a n
a r c h i t e c t u r e
Y o u ' r e
n o t
u n i q u e Y o u ' r e
n o t
u n i q u e Y o u ' r e
n o t
u n i q u e Y o u ' r e
n o t
u n i q u e Y o u ' r e
n o t
u n i q u e Y o u ' r e
n o t
u n i q u e Y o u ' r e
n o t
u n i q u e Y o u ' r e
n o t
u n i q u e
m i c r o s e r v i c e s m i c r o s e r v i c e s m i c r o s e r v i c e s m i c r o s e r v i c e s m i c r o s e r v i c e s m i c r o s e r v i c e s m i c r o s e r v i c e s m i c r o s e r v i c e s s e r v e r l e s s s e r v e r l e s s s e r v e r l e s s s e r v e r l e s s s e r v e r l e s s s e r v e r l e s s s e r v e r l e s s s e r v e r l e s s a r t i f i c i a l
i n t e l l i g e n c e a r t i f i c i a l
i n t e l l i g e n c e a r t i f i c i a l
i n t e l l i g e n c e a r t i f i c i a l
i n t e l l i g e n c e a r t i f i c i a l
i n t e l l i g e n c e a r t i f i c i a l
i n t e l l i g e n c e a r t i f i c i a l
i n t e l l i g e n c e a r t i f i c i a l
i n t e l l i g e n c e m a c h i n e
l e a r n i n g m a c h i n e
l e a r n i n g m a c h i n e
l e a r n i n g m a c h i n e
l e a r n i n g m a c h i n e
l e a r n i n g m a c h i n e
l e a r n i n g m a c h i n e
l e a r n i n g m a c h i n e
l e a r n i n g b l o c k c h a i n b l o c k c h a i n b l o c k c h a i n b l o c k c h a i n b l o c k c h a i n b l o c k c h a i n b l o c k c h a i n b l o c k c h a i n n o s q l n o s q l n o s q l n o s q l n o s q l n o s q l n o s q l n o s q l v i r t u a l / a u g m e n t e d
r e a l i t y v i r t u a l / a u g m e n t e d
r e a l i t y v i r t u a l / a u g m e n t e d
r e a l i t y v i r t u a l / a u g m e n t e d
r e a l i t y v i r t u a l / a u g m e n t e d
r e a l i t y v i r t u a l / a u g m e n t e d
r e a l i t y v i r t u a l / a u g m e n t e d
r e a l i t y v i r t u a l / a u g m e n t e d
r e a l i t y i n t e r n e t
o f
t h i n g s i n t e r n e t
o f
t h i n g s i n t e r n e t
o f
t h i n g s i n t e r n e t
o f
t h i n g s i n t e r n e t
o f
t h i n g s i n t e r n e t
o f
t h i n g s i n t e r n e t
o f
t h i n g s i n t e r n e t
o f
t h i n g s c l o u d
c o m p u t i n g c l o u d
c o m p u t i n g c l o u d
c o m p u t i n g c l o u d
c o m p u t i n g c l o u d
c o m p u t i n g c l o u d
c o m p u t i n g c l o u d
c o m p u t i n g c l o u d
c o m p u t i n g d e e p
l e a r n i n g d e e p
l e a r n i n g d e e p
l e a r n i n g d e e p
l e a r n i n g d e e p
l e a r n i n g d e e p
l e a r n i n g d e e p
l e a r n i n g d e e p
l e a r n i n g q u a n t u m
c o m p u t i n g q u a n t u m
c o m p u t i n g q u a n t u m
c o m p u t i n g q u a n t u m
c o m p u t i n g q u a n t u m
c o m p u t i n g q u a n t u m
c o m p u t i n g q u a n t u m
c o m p u t i n g q u a n t u m
c o m p u t i n g
F a s h i o n a b l e
s o f t w a r e
c a r r i e s
r i s k .
C o n s i d e r t h e
b u s i n e s s
c o n t e x t
a n d
t a k e
r i s k s
w h e n
i t m a k e s
y o u r
b u s i n e s s
d i f f e r e n t . J o n
T o p p e r S o u r c e :
h t t p s : / / t w i t t e r . c o m / m i s s _ j w o / s t a t u s / 9 0 5 7 5 3 2 8 7 3 2 8 1 3 7 2 1 6 S o u r c e :
h t t p s : / / t w i t t e r . c o m / m i s s _ j w o / s t a t u s / 9 0 5 7 5 3 2 8 7 3 2 8 1 3 7 2 1 6 S o u r c e :
h t t p s : / / t w i t t e r . c o m / m i s s _ j w o / s t a t u s / 9 0 5 7 5 3 2 8 7 3 2 8 1 3 7 2 1 6 S o u r c e :
h t t p s : / / t w i t t e r . c o m / m i s s _ j w o / s t a t u s / 9 0 5 7 5 3 2 8 7 3 2 8 1 3 7 2 1 6 S o u r c e :
h t t p s : / / t w i t t e r . c o m / m i s s _ j w o / s t a t u s / 9 0 5 7 5 3 2 8 7 3 2 8 1 3 7 2 1 6 S o u r c e :
h t t p s : / / t w i t t e r . c o m / m i s s _ j w o / s t a t u s / 9 0 5 7 5 3 2 8 7 3 2 8 1 3 7 2 1 6 S o u r c e :
h t t p s : / / t w i t t e r . c o m / m i s s _ j w o / s t a t u s / 9 0 5 7 5 3 2 8 7 3 2 8 1 3 7 2 1 6 S o u r c e :
h t t p s : / / t w i t t e r . c o m / m i s s _ j w o / s t a t u s / 9 0 5 7 5 3 2 8 7 3 2 8 1 3 7 2 1 6
3 .
T e s t s 3 .
T e s t s 3 .
T e s t s 3 .
T e s t s 3 .
T e s t s 3 .
T e s t s 3 .
T e s t s 3 .
T e s t s
T e s t
D r i v e n
D e s i g n T e s t
D r i v e n
D e s i g n T e s t
D r i v e n
D e s i g n T e s t
D r i v e n
D e s i g n T e s t
D r i v e n
D e s i g n T e s t
D r i v e n
D e s i g n T e s t
D r i v e n
D e s i g n T e s t
D r i v e n
D e s i g n
B e h a v i o u r
D r i v e n B e h a v i o u r
D r i v e n B e h a v i o u r
D r i v e n B e h a v i o u r
D r i v e n B e h a v i o u r
D r i v e n B e h a v i o u r
D r i v e n B e h a v i o u r
D r i v e n B e h a v i o u r
D r i v e n D e v e l o p m e n t D e v e l o p m e n t D e v e l o p m e n t D e v e l o p m e n t D e v e l o p m e n t D e v e l o p m e n t D e v e l o p m e n t D e v e l o p m e n t
I f
i t ’ s
h a r d
t o
w r i t e
a
t e s t ,
i t ’ s
a
s i g n a l
t h a t
y o u h a v e
a
d e s i g n
p r o b l e m ,
n o t
a
t e s t i n g
p r o b l e m . K e n t
B e c k S o u r c e :
S o u r c e :
S o u r c e :
S o u r c e :
S o u r c e :
S o u r c e :
S o u r c e :
S o u r c e :
E x t r e m e
P r o g r a m m i n g
E x p l a i n e d E x t r e m e
P r o g r a m m i n g
E x p l a i n e d E x t r e m e
P r o g r a m m i n g
E x p l a i n e d E x t r e m e
P r o g r a m m i n g
E x p l a i n e d E x t r e m e
P r o g r a m m i n g
E x p l a i n e d E x t r e m e
P r o g r a m m i n g
E x p l a i n e d E x t r e m e
P r o g r a m m i n g
E x p l a i n e d E x t r e m e
P r o g r a m m i n g
E x p l a i n e d
b y
K e n t
B e c k
b y
K e n t
B e c k
b y
K e n t
B e c k
b y
K e n t
B e c k
b y
K e n t
B e c k
b y
K e n t
B e c k
b y
K e n t
B e c k
b y
K e n t
B e c k
4 .
C o d e
r e v i e w 4 .
C o d e
r e v i e w 4 .
C o d e
r e v i e w 4 .
C o d e
r e v i e w 4 .
C o d e
r e v i e w 4 .
C o d e
r e v i e w 4 .
C o d e
r e v i e w 4 .
C o d e
r e v i e w
5 .
C o n t i n o u s
. . . 5 .
C o n t i n o u s
. . . 5 .
C o n t i n o u s
. . . 5 .
C o n t i n o u s
. . . 5 .
C o n t i n o u s
. . . 5 .
C o n t i n o u s
. . . 5 .
C o n t i n o u s
. . . 5 .
C o n t i n o u s
. . .
C o n t i n o u s C o n t i n o u s C o n t i n o u s C o n t i n o u s C o n t i n o u s C o n t i n o u s C o n t i n o u s C o n t i n o u s i n t e g r a t i o n i n t e g r a t i o n i n t e g r a t i o n i n t e g r a t i o n i n t e g r a t i o n i n t e g r a t i o n i n t e g r a t i o n i n t e g r a t i o n
C o n t i n o u s C o n t i n o u s C o n t i n o u s C o n t i n o u s C o n t i n o u s C o n t i n o u s C o n t i n o u s C o n t i n o u s d e p l o y m e n t d e p l o y m e n t d e p l o y m e n t d e p l o y m e n t d e p l o y m e n t d e p l o y m e n t d e p l o y m e n t d e p l o y m e n t
6 .
M o n i t o r i n g 6 .
M o n i t o r i n g 6 .
M o n i t o r i n g 6 .
M o n i t o r i n g 6 .
M o n i t o r i n g 6 .
M o n i t o r i n g 6 .
M o n i t o r i n g 6 .
M o n i t o r i n g
S e r v e r s ,
s e r v i c e s ,
e t c . S e r v e r s ,
s e r v i c e s ,
e t c . S e r v e r s ,
s e r v i c e s ,
e t c . S e r v e r s ,
s e r v i c e s ,
e t c . S e r v e r s ,
s e r v i c e s ,
e t c . S e r v e r s ,
s e r v i c e s ,
e t c . S e r v e r s ,
s e r v i c e s ,
e t c . S e r v e r s ,
s e r v i c e s ,
e t c .
7 .
M e t r i c s 7 .
M e t r i c s 7 .
M e t r i c s 7 .
M e t r i c s 7 .
M e t r i c s 7 .
M e t r i c s 7 .
M e t r i c s 7 .
M e t r i c s
B u s i n e s s
M e t r i c s B u s i n e s s
M e t r i c s B u s i n e s s
M e t r i c s B u s i n e s s
M e t r i c s B u s i n e s s
M e t r i c s B u s i n e s s
M e t r i c s B u s i n e s s
M e t r i c s B u s i n e s s
M e t r i c s
8 .
A u t o m a t i o n 8 .
A u t o m a t i o n 8 .
A u t o m a t i o n 8 .
A u t o m a t i o n 8 .
A u t o m a t i o n 8 .
A u t o m a t i o n 8 .
A u t o m a t i o n 8 .
A u t o m a t i o n
I f
i t
m o v e s ,
a u t o m a t e
i t ! I f
i t
m o v e s ,
a u t o m a t e
i t ! I f
i t
m o v e s ,
a u t o m a t e
i t ! I f
i t
m o v e s ,
a u t o m a t e
i t ! I f
i t
m o v e s ,
a u t o m a t e
i t ! I f
i t
m o v e s ,
a u t o m a t e
i t ! I f
i t
m o v e s ,
a u t o m a t e
i t ! I f
i t
m o v e s ,
a u t o m a t e
i t !
9 .
D o c u m e n t a t i o n 9 .
D o c u m e n t a t i o n 9 .
D o c u m e n t a t i o n 9 .
D o c u m e n t a t i o n 9 .
D o c u m e n t a t i o n 9 .
D o c u m e n t a t i o n 9 .
D o c u m e n t a t i o n 9 .
D o c u m e n t a t i o n
S t a r t
w i t h
R E A D M E S t a r t
w i t h
R E A D M E S t a r t
w i t h
R E A D M E S t a r t
w i t h
R E A D M E S t a r t
w i t h
R E A D M E S t a r t
w i t h
R E A D M E S t a r t
w i t h
R E A D M E S t a r t
w i t h
R E A D M E
1 0 .
C o m m u n i c a t i o n 1 0 .
C o m m u n i c a t i o n 1 0 .
C o m m u n i c a t i o n 1 0 .
C o m m u n i c a t i o n 1 0 .
C o m m u n i c a t i o n 1 0 .
C o m m u n i c a t i o n 1 0 .
C o m m u n i c a t i o n 1 0 .
C o m m u n i c a t i o n
I t ' s
n o t
a
s o f t
s k i l l I t ' s
n o t
a
s o f t
s k i l l I t ' s
n o t
a
s o f t
s k i l l I t ' s
n o t
a
s o f t
s k i l l I t ' s
n o t
a
s o f t
s k i l l I t ' s
n o t
a
s o f t
s k i l l I t ' s
n o t
a
s o f t
s k i l l I t ' s
n o t
a
s o f t
s k i l l
I t ' s
c o r e
s k i l l ! I t ' s
c o r e
s k i l l ! I t ' s
c o r e
s k i l l ! I t ' s
c o r e
s k i l l ! I t ' s
c o r e
s k i l l ! I t ' s
c o r e
s k i l l ! I t ' s
c o r e
s k i l l ! I t ' s
c o r e
s k i l l !
I
w i s h
t h e
u n d e r s t a n d i n g
w e r e
m o r e w i d e s p r e a d
t h a t
w e
p l a t e a u
i n
c o d i n g
c a r e e r ,
i t
i s
a l l
a b o u t
c o m m u n i c a t i o n a f t e r
t h a t . D e n t o n
G e n t r y S o u r c e :
h t t p s : / / t w i t t e r . c o m / d g e n t r y / s t a t u s / 9 0 6 7 5 8 8 0 9 6 7 8 2 5 4 0 8 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / d g e n t r y / s t a t u s / 9 0 6 7 5 8 8 0 9 6 7 8 2 5 4 0 8 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / d g e n t r y / s t a t u s / 9 0 6 7 5 8 8 0 9 6 7 8 2 5 4 0 8 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / d g e n t r y / s t a t u s / 9 0 6 7 5 8 8 0 9 6 7 8 2 5 4 0 8 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / d g e n t r y / s t a t u s / 9 0 6 7 5 8 8 0 9 6 7 8 2 5 4 0 8 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / d g e n t r y / s t a t u s / 9 0 6 7 5 8 8 0 9 6 7 8 2 5 4 0 8 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / d g e n t r y / s t a t u s / 9 0 6 7 5 8 8 0 9 6 7 8 2 5 4 0 8 0 S o u r c e :
h t t p s : / / t w i t t e r . c o m / d g e n t r y / s t a t u s / 9 0 6 7 5 8 8 0 9 6 7 8 2 5 4 0 8 0
T h a n k
y o u ! T h a n k
y o u ! T h a n k
y o u ! T h a n k
y o u ! T h a n k
y o u ! T h a n k
y o u ! T h a n k
y o u ! T h a n k
y o u ! @ p a w e l _ l e w t a k
@ p a w e l _ l e w t a k
Możesz zacząć nowy projekt, kompletnie od zera zamiast utrzymywać stary kod? Szczęściar(a/z)! Chciałbym podzielić się swoim doświadczeniem i opowiedzieć, jak z punktu widzenia programisty powinien wyglądać dobrze poprowadzony projekt. Na potrzeby tej prezentacji załóżmy jedno wymaganie odnośnie dobrego projektu: kilka lat po wdrożeniu i utrzymywywaniu aplikacji, nowo dołączająca osoba nie ma ochoty uciec z krzykiem. Opowiem o tym, jak wygląda przeprowadzenie projektu od analizy do wdrożenia, z całą masą rzeczy o których trzeba pamiętać po drodze. Odpowiem na pytanie "co każdy projekt powinien mieć? Jak powinien funkcjonować". Wytłumaczę które rzeczy da się nadrobić, a wprowadzenie których na zbyt późnym etapie będzie bardzo kosztowne. Przy odrobinie szczęścia, wiedza wyniesiona z tej prezentacji pozwoli uniknąć tzw. kodu "legacy".
Here’s what was said about this presentation on social media.
☑️ Achievement unlocked: poprowadź wykład na sali gdzie byłeś setki razy jako student. Gratulacje dla całej ekipy @SpreadITpl za udaną konferencję i dzięki za zaproszenie!
— Paweł Lewtak (@pawel_lewtak) November 18, 2017
Frekwencja dopisała 🙆♂️ #spreaditpl pic.twitter.com/Yk7D2hz7C8
— Marcin Gajda (@marcingajda91) November 18, 2017