페이지

2012년 10월 20일 토요일

Ben & Fitz, Team Geek


이책은 정말 시간가는줄 모르고 흥미있게 읽었다. 개발자라면 모두가 읽어야 하는 필독서 라고 감히 권하고 싶다. 특히 필자들이 직접 겪은 에피소드들의 얘기가 좋았다. 팍팍 와 닿는다.

가히 소프트웨어를 혼자 개발하는 시대는 갔다. 모든 훌륭한 소프트웨어는 팀단위로 이루어기에 좋은 팀을 만드는 것이 프로젝트 성공의 key이다. 유능한 리더는 있을지 몰라도 혼자서 모든 것을 만드는 천재 개발자의 얘기는 미신에 불과하다.

좋은 팀을 만들고 싶고, 좋은 리더가 되고 싶고, 많은 사람들이 사용하는 great software를 만들고 싶다면 꼭 팀플레이를 잘하는 팀원이 되어야 한다. 팀플레이를 잘 할 수 있게 하는 지침서 되겠다.

Team Geek

The Myth of the Genius Programmer

  • genious myth
    • Linus's real achievement was to lead these people and coordinate their work; Linux is the shining result of their collective labor. p3
  • hiding is considered harmful
    • could be reinventing wheels
    • bus factor. p7
    • hard to fail eary/fast/often
  • sw development is a team sport
  • HRT(humility, respect, trust)
  • handling criticism
    • u r not ur code. don't equate your self-worth with ur code quality. p17
    • when giving feedback, do not make him feel stupid. make the question about You. p17
  • the key to learing from your failures is to document your failures. postmortems. p19
  • leave time for learing

Building an Awesome Team Culture

  • include as few people as necessary in synchronous communication(like meetings) and to go for a broader audience in asynchronous communication(like email). p34
  • mission statement helps your team confront differences and come to an agreement.
잘 정리된 mission statement는 다른 생각을 가진 사람들과 일을 할때 결론에 도달하게끔 도와준다. 우리가 하고자 하는 것이 무엇인지 항상 잊지 않게 만듦과 동시에 의견 충돌시 guidance가 될 수도 있다.

Every Boat Needs a Captain

  • You never intended to become a leader. but somehow it happened anyway. p54
  • @deprecated manager
  • traditional managers worry about how to get things done, while leaders forge the way. p56
  • quantifying mgmt work is difficult. makint team te be happy and productive is a big measure of your job. p58
  • anti patterns
    • hire pushovers
    • ignore low performers
      • hope is not a strategy. p61
    • ignore human issues
    • be everyone's friend
    • compromise hiring bar
    • treat ur team like children
  • leadership patterns
    • lose the ego
      • cultivate collective team ego and identity
      • driving the team to consensus and helping to set the direction, the details are decided by members
      • do not try
        • to get everything to right
        • to know everything
      • apoligize when u make mistakes; absolutely u will
    • be a zen master
      • mediating ur reactions and maintaining calm is important. p68
      • if someone asks u for advice, asking questions
    • be a catalyst
      • build consensus
      • In many cases, knowing the right person is more valuable than knowing the right answer. p71
      • make them feel safe and secure so that they can take greater risks; risk is fascinating thing
    • be a teacher and a mentor
    • set clear goals
    • be honest
      • jumping in front of train. pick and choose the ones u want to stop. p76
    • track happiness
      • is there anyting you need ?
      • tracking their careers; get promoted, learn something new, launch something important, and work with smart people
      • give opportunities to improve themselves
    • Tips and Tricks
      • Delegate
      • seek to replace yourself
      • know when to make waves
      • shield ur team from chaos
        • outside ur team is world of chaos and uncertainty
      • let your team know when they're doing well
  • intrinsic versus extrinsic motivation
    • Dan claims you can increase intrinsic motivation by giving people three things: autonomy, mastery, purpose. p83
    • An engineer's skills are like the blade of knife: you may spend thousands of dollars to find engineers with sharpest skills, but if you use that knife for years without sharpening it, you will wind up with a dull knife that is inefficient, and useless

Dealing With Poisonous People

  • the hardest part of SW development is people. p85
  • It's behaviors you want to filter out, not individuials. it's naive to think of individuals as purely good or bad.
  • Identifying the threat
    • not respecting other people's time; ask something with any homework
    • ego; incapable of accepting a consensus decision
    • perfectionism can be lead to paralysis
  • Repelling the poison
    • redirect the energy of perfectionists
    • don't feed the trolls
    • don't get overly emotional; choose your battles carefully and keep calm
    • look for facts in the bile
    • focus on the long term

The Art of Organizational Manipulation

The ideal: how a team ought to function within a company

  • ur life under an ideal manager
    • pursue extra responsibility
    • take risks
    • act like an adult
    • question things
    • your manager is not clarvoyant

The reality: when ur env is an obstacle to ur success

  • bad manager traits
    • fear of failure
    • want to be inserted into every interaction u have with people
    • hoarding information
  • office politician; looking impactful than actually being impactful
  • bad organization

Manipulating your organization

  • forgiveness than permission
  • If you can't take the Path, maek the path
    • adopting open source tools
    • persuade management
    • It's impossible simply to stop a bad habit; u need to replace it with a good one.
  • Learn to manage upward
    • selling yourself
    • underpromise and overdeliver whenever possible
    • offensive work vs defensive work
  • luck and favor economy
    • earn credits, it will pay enormous dividens.
  • get promoted to a position of safety
    • the higher you can get, the more control you'll have over your destiny
  • seek powerful friends
    • connectors, old-timers
  • how to ask a busy executive for anything … via email
    • three bullets and a call to action

Plan B-get out

  • be prepared and know ur options

Users Are People, Too

  • margeting
    • perception is nine-tenth of the law
  • pay attention to first impressions
  • under promise and over deliver
  • focus on the user, and all else will follow
  • speed is a feature
  • don't be all things; too many options are bad
  • hiding compexity
    • ITunes's mp3 mgmt
    • Google's search box
    • abstractions will eventually leak; e.g. browser 404 error
      • provide APIs
  • create trust and delight
    • trust is your most sacred resource; see Netflix case
    • delight; Google's April Fools day