Slide 1

Slide 1 text

TECH CULTURE in STARTUPS Kiev, May 2017

Slide 2

Slide 2 text

Alexander Beletsky Ph.D, Software Engineer, Lead Architect at blogfoster GmbH http://beletsky.net https://github.com/alexbeletsky @alexbeletsky

Slide 3

Slide 3 text

Full Stack Development Less specialization, more generalization.

Slide 4

Slide 4 text

Back End REST API’s, Databases, Sockets, AWS, Message Queues etc..

Slide 5

Slide 5 text

Front End JavaScript, ES6, HTML/CSS, React.js / Redux, Webpack etc…

Slide 6

Slide 6 text

Full Stack Culture One Developer One Feature One Release Being able to produce the features, not just a code pieces.

Slide 7

Slide 7 text

Embrace Full Stack It’s cheeper, faster more productive and fun

Slide 8

Slide 8 text

XP Practices How to do right things.

Slide 9

Slide 9 text

Continuous Integration The codebase is in deployable state. Always.

Slide 10

Slide 10 text

master develop branches • No direct commits • Always green • Accepts merges from `develop` branch • Always reflects the current production • No direct commits • Always green • Merges from `feature_branches` branches • Always reflects the current staging env • Anytime could be merged to `master` and deployed • Work happens here • Rebased from `develop` branch • Could be red, but not for a long time • Source for pull requests to `develop` branch • Should take care of breaking changes

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

Code Review & Pair Programming Early problem detection and knowledge sharing.

Slide 14

Slide 14 text

.. just start the discussion

Slide 15

Slide 15 text

The Good Code Review possible if: • Reviewer has better qualification • Reviewer fully understands user story • Reviewer is able to test the story

Slide 16

Slide 16 text

The First Rule of Code Review

Slide 17

Slide 17 text

The First Rule of Code Review &QPņVDGCPCUUJQNG

Slide 18

Slide 18 text

Test Driven Development A program that has not been tested does not work.

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

The Good TDD possible if: • Team has high qualification & experience • Team shares the same technical values and discipline • Team cares about quality of their output

Slide 21

Slide 21 text

from TDD to BDD Behavior driven development is the way of testing, where focus is placed into behavior of whole system, not implementation details of particular function.

Slide 22

Slide 22 text

Works great for REST API testing

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

Embrace XP It’s time-proven, scalable, for predictable results

Slide 25

Slide 25 text

XP Practices, work only for team of responsible professionals..

Slide 26

Slide 26 text

Engineering Processes How to do right things with Agile approach.

Slide 27

Slide 27 text

Product & Sprint Backlogs The overview of what need to be done.

Slide 28

Slide 28 text

Resource Planning Estimate the available resources for a sprint.

Slide 29

Slide 29 text

Planning Poker Estimate each story from a product backlog.

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

Commit to the Plan Everyone have to be confident and commit to the plan.

Slide 32

Slide 32 text

Execute it 2 weeks sprint. Features which are ready immediately deployed.

Slide 33

Slide 33 text

Demo Day & Retrospective Reflect what’s been archived in 2 weeks.

Slide 34

Slide 34 text

Embrace Agile It’s iterative, easy to understand, lightweight

Slide 35

Slide 35 text

Business & Technology We are on the same boat.

Slide 36

Slide 36 text

Clear Business Goals (OKR’s) Objective-Key-Results brings a transparency for a whole company.

Slide 37

Slide 37 text

Regular "all-hands" meetings Because you have to understand what guys from other department do.

Slide 38

Slide 38 text

Regular company based retrospective Based on OKR’s or not, successes and failures all have to be visible.

Slide 39

Slide 39 text

P.S. It has to be fun :)

Slide 40

Slide 40 text

Build the Culture Culture is very important, even for early-days startup. Good culture in tech teams would make you feel being a part of something important, take your job seriously and grow as professional together with company.

Slide 41

Slide 41 text

THANKS,