Skip to content

tvvignesh/amazing-team-handbook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

Handbook for Amazing Teams

This repository defines how an amazing team works. This is meant to be a transparent set of guidelines and we are open to constructive criticism and suggestions on the same.

(This handbook will undergo regular iterations)

Important Notes - General

  1. No Spoonfeeding. Google what you have to, and learn by yourself. Help others in need, but not until you have an evidence that they have tried to solve the problem.

  2. We are completely outcome based. Nothing else matters. Come whenever you want, Go whenever you want as long as you are able to complete the given work on/before time.

  3. Have a brain of yourself. We don't believe in just doing what is being asked of you. You should initiate discussions, pitch in ideas, and drive all the processes without having to rely on someone else doing it for you.

  4. Don't worry about hierarchy. Talk to whoever you want, whenever you need to and about whatever you want to.

  5. Don't work for increments, promotions or appraisals. Those are just the results for the work you do. So, just focus on the work and leave the rest to the management.

  6. If you are unhappy, let the concerned colleagues know so that we can help you rather than keeping it all to yourself. If you don't want to work on something, say it and hopefully we will have a solution for that.

  7. Have no EGO. Be open to criticism and feedback.

Important Notes - Technical

  1. Don't invent standards, try to follow well accepted standards in the community unless it is really required to deviate. And if it is, justify why such deviations are needed.

  2. Don't re-invent the wheel (unless really needed). Try to use already available libraries, tools, code snippets (ofcourse only after understanding what it does). Write code by yourself only when really needed.

  3. Make everything modular. Whatever you write, make it modular or compenentize it so that you can re-use it elsewhere or move it around without having to worry about breaking what you already have.

  4. Lint, Document and Test everything and make sure the code is well understood by anyone seeing it.

  5. Version control all changes made everyday and make sure that you don't loose anything along the way and you can always go back even if you do.

  6. Use Open Source as much as possible. And while choosing a library/technology make sure that you choose something with a good community around, has a vision for sustainable development, and works well for your use case.

  7. Automate as much as possible. If you are doing repetitive tasks over and over again, automate it and it will help you save time over the long run.

  8. Keep security in mind when you develop. If you compromise on security just for the sake of saving time, you will face dire consequences later.

Interesting References

  1. https://github.com/expede/awesome-culture
  2. https://github.com/hkdobrev/awesome-handbooks
  3. https://github.com/jyguyomarch/awesome-productivity
  4. https://github.com/jesselpalmer/awesome-engineering-managers-handbook
  5. https://github.com/joho/awesome-code-review
  6. https://rework.withgoogle.com/
  7. https://www.allthingsdistributed.com/2006/11/working_backwards.html
  8. https://www.amazon.jobs/en/principles

About

A handbook which gives guidelines to be followed to create an amazing team at your organization

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published