Se você ainda conhece pouco sobre planos de desenvolvimento, comece lendo esse, esse e esse artigos. Depois volte aqui para falarmos dos desafios específicos de desenvolvedores de software :)
Agora que você já tem a base necessária para criar excelentes PDIs, vamos ao que interessa!
É muito fácil construir planos de desenvolvimento para developers que foquem apenas nos aspectos técnicos de novas tecnologias. Com certeza, ao pensar no PDI de um liderado, vêm à cabeça áreas de desenvolvimento como:
Aprender mais sobre Ruby-on-Rails
Aprender o básico sobre Amazon AWS e como implementar uma aplicação simples
Mais difícil, no entanto, é desenvolver os comportamentos subjacentes dos liderados, que muitas vezes podem soar "subjetivos" ou "confusos" para engenheiros, cientistas e analistas. Para isso, resolvemos fazer esse post com alguns comportamentos que podem servir de inspiração para a criação de PDIs.
Áreas de Desenvolvimento
Abaixo, listamos algumas possíveis áreas de desenvolvimento que são soft skills relevantes para a realidade de desenvolvedores de software:
Antecipar necessidades dos clientes
Focar em velocidade e fluência de código
Tomar decisões sólidas
Contribuir com visão técnica para a evolução do produto
Se esforçar para fazer o possível e o impossível
Entender a visão holística
Desenhar soluções/escrever código limpo e elegante
Produzir pouca dívida técnica
Entregar código seguro e escalável
Buscar virar referência técnica em sua área de atuação
Diagnosticar bugs complexos com eficiência
Ser bem versado em todas as componentes do stack
Contribuir em áreas diferentes do seu foco primário
Cada área de desenvolvimento, como vimos nos artigos anteriores, deve conter um plano de ação o mais específico possível que diga o Que, Quando, Como e Onde das ações a serem tomadas pelo dono do PDI para atingir o desenvolvimento desejado. Assim, experiências, participações em projetos, leituras, cursos, workshops e mentorias devem ser previstos no plano de maneira específica.
Tarefas de Desenvolvimento
Separamos as tarefas de desenvolvimento em 3 grandes categorias sob inspiração do modelo 70/20/10 de desenvolvimento organizacional. Os números não devem ser seguidos à risca, mas as proporções fazem todo o sentido: abuse de tarefas baseadas em experiências on-the-job, pois elas são as mais eficientes e praticamente não têm custo. Agora chega de teoria, e vamos às idéias de tarefas, primeiro na categoria Experiências:
Nível Básico
Act as a developer on at least one project
Act as a backup construction lead on at least one project
Act as a backup design lead on at least one project
Develop unit or module level test cases for a project
Write one or more designs
Participate in the release process of a project
Perform personal planning and tracking on a project
Participate in a code review
Participate in a design review
Participate in an informal review
Participate in an inspection
Review a project's documentation including the quality plan, test plans, test cases, project plans, schedules, and work breakdown structures
Nível Intermediário
Create at least six different production modules with automated unit tests
Create a test design for a subsystem
Lead collaborative construction efforts
Lead a performance profiling / tuning effort
Act as a construction lead on at least one major project
Act as backup quality lead on at least one project
Act as backup planning and tracking lead on at least one project
Participate in a test focused role on a project
Participate in the elicitation and specification of requirements
Participate in the creation of a project charter and project plan
Participate in the creation of a project estimate
Participate in the creation of a use case specification
Participate in the review of a test plan and test cases, requirements specifications, and project plans
Nível Avançado
Act as design lead on at least one major project
Write two or more designs on a major project
Sugestões de Leitura
Agora vamos à algumas leituras que se encaixam na categoria de "Treinamento" e que podem também servir de guia para o desenvolvimento do dono do PDI nas áreas discutidas:
Code Complete, 2nd Edition, Steve McConnell
Programming Pearls, 2nd Edition, Jon Bentley
Refactoring, Martin Fowler
Applying UML & Patterns, Craig Larman
The Art of Testing, Glenford Myers
Conceptual Blockbusting, James Adams
Software Creativity, Robert Glass
Mastering the Requirements Process, Robertson and Robertson
User Stories Applied, Mike Cohn
Writing Efficient Programs, John Bentley
Writing Solid Code, Steve Maquire
Software Implementation, Michael Marcotty
More Programming Pearls, John Bentley
Testing Object-Oriented Systems, Robert Binder
Rapid Development, Steve McConnell
Design Patterns, Erich Gamma et all
Object Oriented Software Construction, Bertrand Meyer
Object Oriented Analysis and Design, Grady Booch
Software Architecture in Practice, Bass et all
Balancing Agility with Discipline, Boehm and Turner
Importante: evite estabelecer a leitura de livros inteiros como tarefa de desenvolvimento - o tamanho do desafio pode desencorajar o dono do PDI. Em vez de livros inteiros, escolha capítulos relevantes que possam ser lidos em algumas horas, e estabeleça reuniões rápidas para discutir o tema e "formalizar" aprendizados.
O que achou do artigo? Deixe seu feedback abaixo 👇