1 / 28

producing programmers and programmer teams

Introduction. About MeBlah blah blahYadda yadda. Introduction. Goals of this presentationProductivity and EfficiencyHappiness and Joy. Overview. Specialization and ImprovementProductionFinishing Games. Specialization/Improvement. Types of Programmers and Technical LeadersProgrammer Growth and Career Paths.

Gabriel
Download Presentation

producing programmers and programmer teams

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. Producing Programmers and Programmer Teams Steve Taylor Wahoo Studios

    3. Introduction Goals of this presentation Productivity and Efficiency Happiness and Joy

    4. Overview Specialization and Improvement Production Finishing Games

    5. Specialization/Improvement Types of Programmers and Technical Leaders Programmer Growth and Career Paths

    6. Types of Programmers Coder Lead Programmer Key Programmer Junior Programmer Programmer Management

    7. Coder Typical programmer who loves writing code Any large team should consist primarily of coders

    8. Lead Programmer Experienced programmer Takes on responsibility for quality and schedule More Later…

    9. Key Programmer Experienced programmer Key for specific technologies, performance, and risk areas Can’t spend valuable time managing

    10. Junior Programmer Relatively new programmer Has enthusiasm and new ideas But requires hand-holding Keep number small

    11. Company Management Technical Director Technical Officers

    12. Focus on Lead Programmers Technical Directors

    13. Lead Programmers Strong communicators, good managers More critical for larger projects Technical enough to direct architecture, but not necessarily best coder on team Must be willing to spend significant amounts of time managing

    14. Lead Prog. Responsibilities Designing and directing architecture Assigning programmer tasks Designing data path for content Writing technical documents Contributing to a test plan Acquiring resources for team Working with other leads on technical direction and quality of the game

    15. Lead Responsibilities (cont.) Reviewing work done and helping solve problems Getting the game approved (by publisher / hardware manufacturer) Writing Code

    16. Lead Programmers Summary Can’t be afraid to manage while others code My Horror Story

    17. Technical Directors Critical for larger multi-project companies Support programming staff of entire company or large subgroup

    18. T.D. Responsibilities Hiring and firing programmers Researching and evaluating new technology (e.g. middleware), and solutions to big problems Evaluating code and programmer performance Helping to allocate programmers between various company teams and projects

    19. T.D. Responsibilities (cont.) Arranging Training Facilitating the exchange of technology and ideas between teams Acquiring programmer resources Equipment Tools Books, magazines, other reference Otherwise assisting all types of programmers to grow and perform

    20. Technical Director Summary A resource for programmers Success Story

    21. Growth and Career Paths Why do we care? New Programmers Passion Code generation Older Programmers Some stay technical and look for key or senior technical role Some look for management role Pete Story

    22. Production Tracking Programmers Directing and Communicating Helping Leads Helping Coders Data Paths Organizing Large Teams

    23. Tracking Programmers Evaluation is essential for growth and team effectiveness Lead programmers and technical directors should regularly evaluate Code reviews can be touchy Matt Story Annual Reviews Ask for programmer’s goals Overall feedback and evaluation Post-mortem of game and milestone

    24. Directing and Communicating Leads should give tasks that are Meaningful Clear Well-documented Evaluated later Some programmers are self-motivated Some need checking up It is the lead’s job to learn which

    25. Directing and Communicating Consider these options Mailing lists Internal newsgroups Internal web pages

    26. Meetings Programming teams should meet regularly Review progress Keep in mind goals, long-term vision More important toward end of project Exactly when programmers complain They want to duck heads and code Keep meetings as short as possible (e.g. every day for 5 minutes) Story of Grumpy N64 Meetings

    27. Helping Leads How can managers support lead programmers? Help them focus on leading Watch for signs that lead isn’t paying attention to lead duties Review schedules Review risks Lend a hand with planning, documentation, scheduling Help with the technical review stage

    28. Helping Programmers How can managers support programmers? Provide research, reference materials, training, and equipment Recognize their achievements Help find solutions to technical problems, complaints, work environment, etc. Help them see long-term goals and future at company

    29. Data Paths Integrating any non-code assets Art Audio Design Levels Custom solution, 3rd party, or mixed

    30. Data Paths (cont.) Establishing and maintaining data path is responsibility of lead programmer Also involved Tech director Programmers Tools programmers Non-technical leads Critical responsibility of technical team

    31. Data Paths (cont.) In modern projects, must be planned for in advance Decisions here affect character of entire company Personal experiences

    32. Organizing Large Teams Large teams are more common today Multi-sku projects Shared technology/engines Tools teams and game teams Things to remember: Install capable lead over each sub-team Establish clear final authority for decisions Encourage communication between groups Schedule time in advance for testing / integration and for overall management of more people

    33. Finishing Games Meeting Milestones Surviving Crunch Modes Passing Final Approval

    34. Meeting Milestones Make sure dates and requirements are clearly posted and understood Review requirements before upcoming milestones Plan for major risks in advance Resolve dependencies in advance Arrange for QA to evaluate project Make sure programming team has QA feedback Document status for publisher Personal experience: Smoothest submissions were internally tested

    35. Surviving Crunch Mode Management needs to show up Support the team with meals, breaks, etc. Fight entering crunch mode too early Crunch mode will almost always happen But it doesn’t have to be at the first sign of delay – it will come soon enough

    36. Passing Final Approval Emotional support and encouragement Help maintain the long-term vision Help track down solutions Praise successes Give them a rest when they’re done

    37. Passing Final Approval (cont.) There is always documentation Find it Review it Make sure they understand it and have copies Check for regular updates from web site, developer relations manager, etc. Consider assigning someone to master this data Pre-Submit!

    38. Summary Letting Leads Lead, Coders Code Resources GDC Books & Articles On management in general On effective meetings On effective software production Online Resources

    39. Q&A Producing Programmers and Programmer Teams Steve Taylor Wahoo Studios stay@wahoo.com

More Related