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

Management for developers

Management for developers

What does the management expect from a senior developer? One of the challenges for developers is to build a good team that will work smoothly and quickly and deliver quality products on time, but it won't always be easy or quick - or possible.

Sasa Sekulic

August 29, 2018
Tweet

More Decks by Sasa Sekulic

Other Decks in Programming

Transcript

  1. ABOUT ME ▸ Mobile lead at Mobimeo (mobility company): https://www.mobimeo.com/

    ▸ ex-ShareTheMeal: https://sharethemeal.org - you can feed a child with just 0.40e ▸ https://www.linkedin.com/in/sasasekulic/ ▸ https://twitter.com/sasa_sekulic
  2. MANAGING YOUR MANAGER MANAGEMENT AND YOU What does the management

    want from you? “WE EXPECTED MORE FROM A SENIOR DEVELOPER”
  3. 1. ABC = ALWAYS BE COMMUNICATING ‣ Agile dailies &

    retrospectives - informing, not communicating! ▸ If there are problems, time box solution search and then escalate - worse than having a problem is hiding having a problem! ▸ Wrong estimate? Notify stakeholders immediately and re- scope the sprint or release MANAGING YOUR MANAGER
  4. 1. ABC = ALWAYS BE COMMUNICATING, CONT’D ‣ Ask questions

    - if something’s not clear, it’s best cleared up sooner rather than later ▸ If you think there might be a better solution, propose it ▸ Somebody missed something? There might be a problem? Say it loud and clear - and offer a possible solution if you have one! ▸ Pick your meetings - ask to be included or excluded MANAGING YOUR MANAGER
  5. 1. ABC = ALWAYS BE COMMUNICATING, CONT’D ‣ Be the

    first to write things down ‣ Remote-first (or at least remote-friendly) ‣ Use asynchronous communication - explain the difference between manager- time and developer-time MANAGING YOUR MANAGER
  6. 2. MENTORING “ANY SUFFICIENTLY ADVANCED TECHNOLOGY IS INDISTINGUISHABLE FROM MAGIC”

    ▸ Explain until things are clear - don’t presume and don’t condescend ▸ Somebody might have a different take on the same thing - try to figure out what it is and why ▸ Key question: “Why do you think that?” MANAGING YOUR MANAGER
  7. 3. AUTHORITY & POWER ‣ Power is a relationship -

    managers give developers trust and they return with expertise ▸ What's your source of authority: domain knowledge? seniority? attention to detail? Recognise it in you and others! ▸ Accept the hierarchy - flat organisation doesn’t scale (it works until it doesn’t) MANAGING YOUR MANAGER
  8. 4. PRODUCT THINKING ‣ Don't like or don't care about

    the product - take a break or take a hike ‣ Always think of the user (be user-friendly) ‣ Always know the context ‣ Designers, POs and PMs think of the happy path - you need to think of the edge cases ‣ QA all the things MANAGING YOUR MANAGER
  9. 5. SYSTEMS THINKING ‣ Add or improve processes - think

    of the future, but have urgency in mind ‣ Reduce friction: to automate or not to automate is the question MANAGING YOUR MANAGER
  10. 6. BAD MANAGEMENT ‣ Bad management or bad manager -

    is accent on hierarchy and or on your performance? ‣ CYA - write all the things! ‣ Learn when to give up MANAGING YOUR MANAGER
  11. MANAGING YOUR MANAGER BEING A LEADER (THAT’S NOT A TITLE)

    If you want the authority, you have to accept the responsibility! ‣ Be consistent - rules are the same for everyone ‣ Most teams have a leader (formal or informal) - which one are you? ‣ Avoid trivial technical arguments - proving your competence is a waste of time
  12. 7. LEADING = TEAM BUILDING ‣ Encourage copying of useful

    ideas ‣ Elaborate on other people’s ideas ‣ Withhold quick criticisms (and make clear you’re criticising the idea and not the person) ‣ When an idea fails, that frees you to test other ideas MANAGING YOUR MANAGER
  13. 7. LEADING = TEAM BUILDING, CONT’D ‣ Ask others for

    feedback on ideas before executing ‣ Solicit opinions directly - if nobody’s volunteering information, pick somebody and ask them directly ‣ Setup processes for soliciting feedback: setup (cross-)team meetings for knowledge sharing ‣ Say “thank you” - and mean it! ‣ Respect others - don’t interrupt them, even if you think you know what they’ll say (unless they’re disrespectful themselves) MANAGING YOUR MANAGER
  14. 7. LEADING = TEAM BUILDING, CONT’D ‣ Always put your

    team first: use “we” not “me” ‣ Protect your team from the management ‣ Have one-on-one meetings if you can ‣ Being a leader means always being ready to help: people are your work ‣ Don’t offer unsolicited help ‣ People are not machines, try to understand them ‣ Most people want to do a good job MANAGING YOUR MANAGER
  15. 7. LEADING = TEAM BUILDING, CONT’D ‣ Know your team:

    learn their good and bad sides ‣ As the most senior person, you should let others choose first ‣ Consult and delegate work to people who care the most ‣ “Trust but verify”: let others know they count on you, and wait for them to ask questions - but also check up on their progress MANAGING YOUR MANAGER
  16. 8. CONFLICT PREVENTION & MITIGATION ‣ Don’t take code reviews

    personally: there might be multiple good ways to solve a problem ‣ Don’t lose your temper: propose, don’t order; remind & ask, don’t accuse ‣ A compromise is better than a Mexican stand-off ‣ Sometimes people just need to learn and feel things themselves MANAGING YOUR MANAGER
  17. 8. CONFLICT PREVENTION & MITIGATION, CONT’D "DON'T ARGUE WITH A

    FOOL, THE BYSTANDERS MIGHT NOT NOTICE THE DIFFERENCE" ‣ Github is not for long discussions - those should be done offline ‣ Try to understand other people’s point of view; if you disagree, show the data ‣ Words have different meanings to different people ‣ Use conciliatory tone MANAGING YOUR MANAGER
  18. 8. CONFLICT PREVENTION & MITIGATION, CONT’D “NOTHING PERSONAL, JUST BUSINESS”

    ‣ Don’t insult people - you might be right, but nobody likes an asshole ‣ If you made a mistake, say you’re sorry - and in the same environment ‣ Remote is good, but personal contact helps prevent problems and diffuse situations much better MANAGING YOUR MANAGER
  19. 8. CONFLICT PREVENTION & MITIGATION, CONT’D ‣ Authority should be

    clearly communicated ‣ Some people think you need to earn the authority and some refuse it altogether ‣ Asserting authority is a double-edged sword - you're damned if you do, you're damned if you don’t ‣ Keep feedback channels open ‣ Sometimes it just won’t work: you should be honest about it and escalate MANAGING YOUR MANAGER
  20. 9. HOW TO IMPROVE ‣ Practice: volunteer or participate ‣

    Observe: watch what people do in meetings ‣ Look for incongruences: are there differences between form and content? Why? ‣ When you learn something new, apply it - and then learn something new again ‣ Your technical skills are better than your personal skills - decide what you want to do in the future and practice accordingly MANAGING YOUR MANAGER
  21. 10. THE MEANING OF LIFE ‣ More developers you talk

    to, more you’ll grow ‣ Thinking of management - are you ok with writing emails and presenting powerpoint all day? MANAGING YOUR MANAGER "TRY AND BE NICE TO PEOPLE, AVOID EATING FAT, READ A GOOD BOOK EVERY NOW AND THEN, GET SOME WALKING IN, AND TRY AND LIVE TOGETHER IN PEACE AND HARMONY WITH PEOPLE OF ALL CREEDS AND NATIONS".
  22. FURTHER READING ‣ Gerald M. Weinberg - Becoming a technical

    leader ‣ Michael Lopp - Managing humans ‣ Jurgen Appelo - Management 3.0: Leading Agile Developers, Developing Agile Leaders MANAGING YOUR MANAGER