How to use ____ and not to kill each other

Topalov Alex 2016

Part 1. What this all is about?

Survival of the fittest

Or collaboration around same goal?

Part 2. Why should I care?

How deep is your stack?

 

How deep is your stack?

 

  • Rails

How deep is your stack?

 

  • Rails
  • Ruby

How deep is your stack?

 

  • Rails
  • Ruby
  • MySQL

How deep is your stack?

 

  • Rails
  • Ruby
  • MySQL
  • PostgreSQL

How deep is your stack?

 

  • Rails
  • Ruby
  • MySQL
  • PostgreSQL
  • Redis

How deep is your stack?

 

  • Rails
  • Ruby
  • MySQL
  • PostgreSQL
  • Redis
  • Memcache

How deep is your stack?

 

  • Rails
  • Ruby
  • MySQL
  • PostgreSQL
  • Redis
  • Memcache
  • MongoDB

How deep is your stack?

 

  • Rails
  • Ruby
  • MySQL
  • PostgreSQL
  • Redis
  • Memcache
  • MongoDB -> :(

How deep is your stack?

 

  • Rails
  • Ruby
  • MySQL
  • PostgreSQL
  • Redis
  • Memcache
  • MongoDB -> :(
  • Javascript

How deep is your stack?

 

  • Rails
  • Ruby
  • MySQL
  • PostgreSQL
  • Redis
  • Memcache
  • MongoDB -> :(
  • Javascript
  • Jquery

How deep is your stack?

 

  • Rails
  • Ruby
  • MySQL
  • PostgreSQL
  • Redis
  • Memcache
  • MongoDB -> :(
  • Javascript
  • Jquery
  • . . .

How deep is your stack?

 

  • Rails
  • Ruby
  • MySQL
  • PostgreSQL
  • Redis
  • Memcache
  • MongoDB -> :(
  • Javascript
  • Jquery
  • Ember
  • Angular
  • React
  • HTTP/HTTPS
  • Ansible
  • Chef
  • Bash
  • *nix
  • macOs
  • Network
  • Elasticsearch/Sphinx
  • OOP
  • Functional Programming
  • Bower
  • NPM
  • Puma/Passanger
  • Apache/Nginix

We prefer to work with good people because skill is achievable but being a good person is a challange

Part 3. How it looks in a field

1. Type X

2. Type Y

3. Mythical Type Z. Leadership

Types of management:

Type X. Totalitarian

Pros:

  • Only one source of problems -> you
  • Being bottleneck. 
  • You could blame team if something goes wrong. PROFIT!

 

Cons:

  • What did you hire them for?
  • If development is a form of art, how orders affect it?
  • Where to expect new ideas?
  • high stressful work environment
  • Bottleneck syndrome

Type Y. Soft

Pros:

  • Team members are very laid back and relaxed.

 

Cons:

  • Expectations are rarely meet. 
  • Top management complaints.
  • Project owner keep adding features in current sprint.
  • Process could went weird ways.
  • Law of Triviality.

Type Z. Balanced.

Pros:

  • Team is collaborating around same goal.
  • Goals are easy to set and manage.

 

Cons:

  • Organize seamless development process. 
  • Collective/Collaborative responsibility.
  • Team building, internal communication(Law of Triviality).

Part 4. Collaboration

How we could setup collaborative environment

  • Code Review
  • Code Review
  • Open issue on a controversy decision

How we could setup collaborative environment

  • Code Review.
  • Open issue on a controversy decision.
  • Don't afraid asking questions.

How we could setup collaborative environment

  • Code Review.
  • Open issue on a controversy decision.
  • Don't afraid asking questions.
  • Always understand and remind main goal 
  • ​Have a reasonable pool of tasks that anyone could pick up according to their preference not someones order.

How we could setup collaborative environment

  • Code Review.
  • Open issue on a controversy decision.
  • Don't afraid asking questions.
  • Always understand and remind main goal 
  • Have a reasonable pool of tasks that anyone could pick up according to their preference not someones order.
  • If something against your principles inform team about that. Be flexible and understand your true motives

How we could setup collaborative environment

  • Code Review.
  • Open issue on a controversy decision.
  • Don't afraid asking questions.
  • Always understand and remind main goal 
  • Have a reasonable pool of tasks that anyone could pick up according to their preference not someones order.
  • If something against your principles inform team about that. Be flexible and understand your true motives.
  • If you see something - say something.

How we could setup collaborative environment

Part 5. Resolving conflicts

How we should resolve conflicts

1. Remove own judgements:

  • Deadlines

How we should resolve conflicts

1. Remove own judgements:

  • Deadlines
  • Other tasks in a sprint

How we should resolve conflicts

1. Remove own judgements:

  • Deadlines
  • Other tasks in a sprint
  • Personal issues/mood

How we should resolve conflicts

1. Remove own judgements:

  • Deadlines
  • Other tasks in a sprint
  • Personal issues/mood
  • Partially old experience

How we should resolve conflicts

1. Remove own judgements:

  • Deadlines
  • Other tasks in a sprint
  • Personal issues/mood
  • Partially old experience
  • Personal principles

How we should resolve conflicts

1. Remove own judgements:

  • Deadlines
  • Other tasks in a sprint
  • Personal issues/mood
  • Partially old experience
  • Personal principles

2. Appreciate(not understand) what other people believe in.

How we should resolve conflicts

1. Remove own judgements:

  • Deadlines
  • Other tasks in a sprint
  • Personal issues/mood
  • Partially old experience
  • Personal principles

2. Appreciate(not understand) what other people believe in.

  • Noone are ideal and noone are able to abstract completely 

How we should resolve conflicts

1. Remove own judgements:

  • Deadlines
  • Other tasks in a sprint
  • Personal issues/mood
  • Partially old experience
  • Personal principles

2. Appreciate(not understand) what other people believe in.

  • Noone are ideal and noone are able to abstract completely 
  • We all humans and make mistakes. Move on with that.

It is better to conquer yourself than to win a thousand battles. Then the victory is yours. It cannot be taken from you, not by angels or by demons, heaven or hell.

teamraiser

By Alex Topalov