Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Tech Culture in Startups

Tech Culture in Startups

Alex Beletsky is Lead Architect blogfoster GmbH, meeting fast growing Ukranian startup Preply.com to share some insights on building high quality and productive tech culture, based on full stack development, XP practices, Agile and fun.

Alexander Beletsky

May 19, 2017
Tweet

More Decks by Alexander Beletsky

Other Decks in Programming

Transcript

  1. TECH CULTURE in
    STARTUPS
    Kiev, May 2017

    View Slide

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

    View Slide

  3. Full Stack
    Development
    Less specialization, more generalization.

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  8. XP Practices
    How to do right things.

    View Slide

  9. Continuous
    Integration
    The codebase is in deployable state. Always.

    View Slide

  10. 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

    View Slide

  11. View Slide

  12. View Slide

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

    View Slide

  14. .. just start the discussion

    View Slide

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

    View Slide

  16. The First Rule
    of Code Review

    View Slide

  17. The First Rule
    of Code Review
    &QPņVDGCPCUUJQNG

    View Slide

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

    View Slide

  19. View Slide

  20. 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

    View Slide

  21. 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.

    View Slide

  22. Works great
    for REST API testing

    View Slide

  23. View Slide

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

    View Slide

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

    View Slide

  26. Engineering
    Processes
    How to do right things with Agile approach.

    View Slide

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

    View Slide

  28. Resource Planning
    Estimate the available resources for a sprint.

    View Slide

  29. Planning Poker
    Estimate each story from a product backlog.

    View Slide

  30. View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  35. Business &
    Technology
    We are on the same boat.

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  39. P.S.
    It has to be fun :)

    View Slide

  40. 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.

    View Slide

  41. THANKS,

    View Slide