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.

Encontrou sua resposta?