Skip to content

Latest commit

 

History

History
549 lines (354 loc) · 23.5 KB

brainner.md

File metadata and controls

549 lines (354 loc) · 23.5 KB

Perfil Brainner

É um brainner ou quer saber mais sobre a gente?

Aqui, a transparência é um dos nossos pilares e compartilhamos com você tudo o que você precisa e tem curiosidade de saber. O Perfil Brainner deverá ser o início da sua experiência conosco. Ele é o nosso guia de avaliação, de relacionamento e de todos os processos internos.

Já te adiantamos que trabalhamos com:

  • Auto-avaliação periódica
  • Plano de desenvolvimento individualizado
  • Apoio para feedbacks individualizados
  • Promoção interna e remuneração

Para começar

O perfil do time que queremos é dividido em alguns pilares, que nós chamamos de competências:

  1. Competências Técnicas: aptidão para aplicar os meios disponíveis, visando atingir os objetivos propostos para cada função.
  2. Competências Gerais: existência de características pessoais compatíveis com a cultura da brainn.

É importante dizer também que:

  • Poucas pessoas terão o nível máximo (X3) em todas as competências, pois cada um segue um caminho de especialização diferente
  • Os níveis tem correlação direta com a metodologia de trabalho da brainn e poderão ser úteis em outras empresas que utilizam a filosofia ágil
  • As nossas categorias não devem ser confundidas com a classificação de júnior, pleno e sênior do mercado

X1

Entende o que precisa ser feito, enxerga as dores do cliente e como implementar a solução do início ao fim, eventualmente com apoio da equipe e de outros brainners. Consegue conversar com todos os stakeholders e está por dentro de todos os assuntos relacionados ao projeto. Percebe que ainda há muito a aprender e dedica horas do seu tempo livre para estudar e aprimorar o seu conhecimento. Sabe que pode contar com alguém mais experiente do time para sanar suas dúvidas em todo o processo.

  • Domina o suficiente para entregar o que é necessário
  • Está sempre estudando para aprender mais
  • Não toma decisões precipitadas

X2

É capaz de implementar a solução em sua plenitude, do início ao fim, e de forma eficaz. Faz certo a coisa certa. Ajuda o colega do time X1 e repassa o conhecimento aos demais membros do time. Consegue se auto-gerenciar sem a necessidade de um gerente para dizer o que deve ser feito.

  • Identifica possíveis problemas e age para evitá-los
  • Não espera que alguém diga o que deve ser feito
  • Auxilia um X1 e compartilha conhecimento com toda a equipe

X3

Pode ser um especialista ou um generalista. Acumula muita experiência e aplica boas práticas de produto, design e/ou desenvolvimento, assim como os princípios e técnicas.

Seu objetivo é produzir soluções de maior qualidade, considerando requisitos funcionais, não-funcionais e de negócios. Consegue analisar o projeto por completo e se preocupa, também, com a estratégia e o valor que será entregue ao cliente.

Alguém que entende cada fase do ciclo de vida de desenvolvimento de software, capaz de trabalhar nos mais variados contextos técnicos (por ex., como um desenvolvedor, consegue atuar como front-end, back-end, mobile, devops e infra-estrutura de servidores).

Um X3 consegue liderar um time e apesar de ter uma bagagem técnica superior em relação aos demais membros da equipe, não utiliza isso como um status de superioridade. Ele está sempre aprendendo e, ao mesmo tempo, ensinando. No aspecto interpessoal, serve de inspiração para o time.

  • É a referência do projeto
  • Responsável por guiar o time a fazer a coisa certa

Competências Técnicas

Reflete a vivência em diferentes tipos de projetos, os erros cometidos e o aprendizado obtido pela prática do trabalho durante a carreira e/ ou trajetória. As competências são cumulativas e medidas numa escala sequencial (N1, N2 e N3)

Obs: o brainner pode preferir ser um especialista (e.g., N3 em algumas poucas competências) ou um generalista (e.g., N2 em várias competências). Isso é conversado e definido de acordo com os interesses pessoais no Plano de Desenvolvimento Individual (PDI), incentivado pela brainn.

Product Management

Análise de Saúde

N1

  • Entendo a importância dos indicadores de saúde do projeto (time, cliente e usuários), incentivando a sua extração, publicação e discussão pelos times
  • Defendo a harmonização da cultura ágil e da metodologia da brainn, evitando a criação de silos de boas práticas
  • Blindo o time de discussões e estresses do dia-a-dia, aguardando o momento correto para compartilhar as questões
  • Proponho melhorias para a metodologia da empresa, partindo da base existente, e contribuindo para o repositório interno (e.g., pull-request no GitHub ou discussão nas reuniões sobre o tema)

N2

  • Intermedeio times de forma satisfatória, garantindo que os papéis e as cerimônias ágeis sejam cumpridos, apoiando o papel do "scrum master"
  • Analiso os indicadores objetivos e subjetivos de saúde do projeto de forma suficiente e proponho melhorias
  • Promovo uma discussão constante sobre melhorias do fluxo de trabalho do meu time, que é a base para uma melhor produtividade para todos
  • Pesquiso e negocio com decision makers do projeto, a contratação de ferramentas adicionais para o time quando necessário
  • Tento solucionar conflitos dentro do time e/ou com os stakeholders

N3

  • Negocio melhorias na forma do time trabalhar com os demais stakeholders para elevar a saúde do projeto
  • Aplico ferramentas avançadas para obtenção de feedbacks menos óbvios de saúde do projeto, sugerindo melhorias pragmáticas
  • Incentivo a colaboração na empresa, identificando potenciais sinergias entre os times para que se ajudem
  • Identifico e documento as boas práticas criadas pelo time, sugerindo melhorias para a metodologia da brainn

Gestão de Projeto

N1

  • Negocio assertivamente as entregas de funcionalidades com o cliente, protegendo o time do fechamento de escopo
  • Resolvo situações de bloqueio de pessoas do meu time e proponho novas tarefas já priorizadas quando há ociosidade de alguém no time

N2

  • Educo o time, cliente e stakeholders sobre o método ágil e a importância do escopo aberto, convencendo-os sobre os benefícios gerados
  • Organizo os recursos antecipadamente e forneço as informações certas na hora certa, aumentando a velocidade do time
  • Documento os cases de sucesso do projeto para ser utilizado pelo time comercial da brainn

N3

  • Convenço por meio de dados reais a necessidade de novos recursos (pessoas, ferramentas, melhorias de workflow, etc.), reduzindo os gargalos identificados no fluxo de trabalho do time
  • Apresento os cases de sucesso dos meus times para o público interno e externo da empresa

Backlog do Produto

N1

  • Documento estórias com base no formato do livro USM do Jeff Patton
  • Mantenho o backlog do produto atualizado e em sincronia com as prioridades da release
  • Mantenho o backlog da sprint sempre atualizado e utilizando as convenções necessárias do time e da empresa para descrição dos épicos, estórias e tasks
  • Utilizo as funcionalidades mais importantes das ferramentas de gestão do backlog do produto e do backlog das sprints

N2

  • Realizo dinâmicas de USM ao longo das sprints, reduzindo o tempo das cerimônias de planning
  • Sei quando utilizar e como configurar para o meu time as funcionalidades avançadas da ferramenta de gestão do backlog do produto e do backlog das sprints
  • Sei que nenhuma ferramenta de gestão de backlog é perfeita e, por isso, resolvo eventuais fraquezas com convenções internas do time (fluxo de movimentação dos cards, cores de labels, etc.)

N3

  • Documento perfis dos usuários do produto de acordo com a convenção de personas e mapa de empatia
  • Faço esboços dos wireframes para as estórias da próxima sprint, reduzindo o tempo de entendimento do time de design

Eficácia do Produto

N1

  • Elaboro e mantenho atualizada a documentação dos fluxos para cada client side do produto (users' flows)
  • Documento de forma básica os perfis dos usuários do produto, sendo apoiado pelo designer do time
  • Entendo os objetivos principais do produto e o valor que pretendemos entregar, defendendo a priorização do backlog do produto de acordo com esses objetivos

N2

  • Estudo e insiro no backlog do produto as melhores práticas para cada tipo de aplicação web ou mobile (i.e., guia de melhores práticas, cases de sucesso, etc.)
  • Analiso e comparo as funcionalidades dos concorrentes, propondo e convencendo os decisores sobre alterações no backlog do produto
  • Exponho e articulo os trade-offs na priorização do backlog do produto, negociando com os stakeholders as decisões que daí derivam

N3

  • Negocio de forma eficiente a alteração do produto baseado em evidências (métricas, benchmark, exemplos históricos, etc.), mesmo que sejam ideias que o cliente não teve/não priorizou anteriormente ou que não concorde
  • Entendo a importância de stack, frameworks e arquitetura técnica para cada tipo de produto de acordo com o perfil e o momento da aplicação

Conteúdo

N1

  • Organizo e gerencio o backlog de conteúdo, entendendo o seu impacto no sucesso do produto (conversão, etc.)
  • Documento o glossário do produto no repositório, facilitando o entendimento pelo time de termos comuns ao contexto do projeto

N2

  • Interpreto o manual da marca do produto e garanto que os conteúdos respeitem seu direcionamento
  • Escrevo e proponho as primeiras versões de novos conteúdos do produto, seguindo o manual da marca

N3

  • Analiso criticamente a arquitetura de informação do produto e proponho melhorias baseado nos fluxos dos diferentes usuários

Product Analytics

N1

  • Entendo quais são as principais métricas de produtos digitais e a aplicação delas para o nosso projeto
  • Conheço a utilidade das principais ferramentas de analytics do mercado, especialmente o Google Analytics e o Amplitude
  • Documento objetivos para cada release do produto e as métricas que serão utilizadas para validação
  • Conheço o formato básico da documentação de um experimento que tem como base product analytics

N2

  • Defino as iniciativas estratégicas para aumentar o sucesso do produto, propondo ajustes no backlog do produto
  • Documento experimentos no formato de hipóteses e crio as iniciativas correspondentes no backlog do produto
  • Analiso o resultado de experimentos e usabilidade do produto com o time
  • Com a ajuda do time de engenharia, supervisiono a implementação das ferramentas de analytics no produto

N3

  • Proponho ferramentas para obter novas métricas do produto, que não são tão fáceis de se obter
  • Sei personalizar dashboards das ferramentas de analytics de forma satisfatória para os produtos no qual trabalha
  • Organizo todas as métricas e eventos do produto de forma a facilitar a tomada de decisão pelo time
  • Crio relatórios personalizados de métricas para os envolvidos no projeto (negócios, time técnico, etc.)
  • Extraio informações de bases de dados do produto sem precisar de ajuda de outros membros do time (SQL)

Product Design

Design Visual

N1

  • Crio e defendo ideias em formato de moodboards ou conceitos visuais baseados nas definições da marca
  • Utilizo ícones e ilustrações baseadas nas definições da marca

N2

  • Desdobro moodboards em peças gráficas publicáveis
  • Defino os desdobramentos visuais a serem aplicados em um produto, apresentação, etc.
  • Crio ícones e ilustrações personalizadas baseadas nas definições da marca

N3

  • Lidero pesquisas e defino as tendências e diretivas de design a serem aplicadas na brainn
  • Gerencio os designers e as linhas visuais que são desenvolvidas
  • Assumo a função de ser o defensor da qualidade visual dos conceitos criados pela brainn

Design de Interface

N1

  • Crio fluxos e wireframes a partir do design de UX do produto
  • Desenho interfaces e elementos de UI com base em wireframes
  • Organizo os elementos visuais em um UI Kit reutilizável do produto
  • Faço o handoff dos assets e de interface e acompanho o uso deles no desenvolvimento do produto no frontend

N2

  • Direciono e valido a criação de fluxos e wireframes
  • Documento em style guide as definições de interface do produto
  • Faço design review das entregas de UI de outras pessoas do meu time
  • Utilizo versionamento de interfaces por meio de ferramentas

N3

  • Respeito as regras de aplicação de componentes, temas e outros elementos que serão utilizados pelo frontend do squad
  • Ajo como exemplo na defesa e aplicação das boas práticas de UI, incentivando a equipe na melhoria contínua dessa competência específica

Design de UX

N1

  • Participo do uso de métodos de UX (service blueprint, personas, análise dos competidores, entrevistas com usuários, etc.)
  • Participo da definição das jornadas dos usuários dentro do serviço/produto
  • Desenho fluxos que facilitam a visualização básica da estrutura de navegação de um produto

N2

  • Lidero e valido o uso dos métodos de UX e entregáveis do processo (service blueprint, personas, análise dos competidores, entrevistas com usuários, etc.)
  • Pré-estabeleço critérios para medição do sucesso do produto (KPI), incluindo indicadores de experiência de uso (UX)
  • Lidero brainstormings e dinâmicas de design thinking

N3

  • Avalio os resultados e os feedbacks de usuários para definir quais mudanças devem ser feitas ou não na experiência do produto
  • Desenvolvo novos método de UX e suas entregáveis para a metodologia da brainn

Interatividade e Motion

N1

  • Transformo ideias e roteiros em interações ou microinterações (vídeo, gif, PNG sequence, SVG animation)

N2

  • Desenvolvo as ideias e roteiros que serão usados em interações ou microinterações

N3

  • Conheço e executo com maestria elementos de interações e microinterações em um produto

Branding

N1

  • Desenvolvo a defesa da plataforma e expressão da marca
  • Desdobro o manual de marca nos seus componentes básicos

N2

  • Sou capaz de aplicar a metodologia de plataforma de marca e expressão visual e verbal definida pela brainn
  • Avalio resultados e proponho melhorias e mudanças na proposta de branding

N3

  • Conheço profundamente a metodologia de plataforma e expressão e proponho alternativas de acordo com a particularidade de cada marca
  • Atuo junto aos stakeholders como especialista no assunto a fim de remover impedimentos críticos
  • Lidero criativamente o desenvolvimento e a qualidade dos trabalhos de branding realizados pela brainn

Guidelines de S.O.

N1

  • Conheço e aplico as definições e guidelines dos diferentes frameworks de design para plataformas desktop e mobile (iOS, Material Design, etc.)

N2

  • Investigo profundamente os diferentes guidelines para plataformas desktop e mobile a fim de propor mudanças e melhorias com base nas características de um produto específico
  • Me atualizo constantemente sobre as mudanças ou novos guidelines de SO e atuo como disseminador de conhecimento

N3

  • Tenho visão apurada dos processos que envolvem a aplicação de guidelines de SO
  • Desenvolvo novos guidelines de Sistema Operacional, que podem ser replicados em diferentes produtos

Arquitetura da Informação

N1

  • Elaboro conteúdo, sitemaps, fluxos de navegação e wireframes de alta fidelidade, prevendo 100% das interfaces que existirão em um produto digital
  • Elaboro um benchmark de navegação, interface e funcionalidades para um novo produto
  • Me envolvo nas pesquisas com usuários e tento entender qual é o cenário de informação
  • Faço os ajustes necessários e encontro alternativas na etapa de implementação e design de conteúdo

N2

  • Capto os desejos e as necessidades do cliente por meio de pesquisas que eu lidero, propondo as melhores soluções de interação de informações com o usuário
  • Analiso e utilizo relatórios de performance e estratégia para criar soluções inovadores de interface
  • Faço review de arquiteturas de informação criadas por outras pessoas do time de design

N3

  • Tenho visão apurada dos processos que envolvem arquitetura de informação
  • Atuo junto aos stakeholders como especialista no assunto a fim de remover impedimentos críticos

Product Development

Fundamentos

N1

  • Entendo gerenciamento de pacotes e dependências
  • Conheço os conceitos de Design Patterns
  • Entendo os conceitos de rede relacionados ao funcionamento da internet, em especial o protocolo http/https
  • Contribuo para projetos open source

N2

  • Conheço na prática os conceitos de SOLID, DRY e KISS
  • Aplico um ou mais Design Patterns
  • Conheço e sei a diferença entre as estruturas de dados e quando e como aplicar cada uma
  • Conheço e sei a diferença entre os paradigmas de programação: estruturada, funcional e orientada à objetos
  • Faço as escolhas de arquitetura da área do produto

N3

  • Sou capaz de elaborar uma arquitetura para atender uma demanda mais complexa de um projeto
  • Sei analisar a complexidade de algoritmos
  • Domino pelo menos uma linguagem em cada tipo de paradigmas de programação: estruturada, funcional e orientada à objetos
  • Faço as escolhas de arquitetura do produto como um todo

Testes

N1

  • Escrevo testes unitários antes da lógica (TDD)

N2

  • Escrevo testes de interface/integração
  • Escrevo testes no formato legível para pessoas de negócio (BDD)

N3

  • Escrevo testes de stress
  • Conheço outros tipos de testes (por ex., teste de carga)
  • Implemento testes de performance

Mobile

N1

  • Conheço as diferenças entre desenvolvimento nativo, hibrido (ex: React-Native) ou web based (ex: ionic)
  • Sei quais são os pontos fortes e fracos das ferramentas mobile

N2

  • Escolho a melhor ferramenta mobile para criar um app
  • Desenvolvo um app que interage com uma API usando Java, Objective C ou Javascript

N3

  • Desenvolvo app nativo e híbrido para cada SO (iOS e Android)
  • Desenvolvo app em Kotlin e Swift
  • Implemento animações no desenvolvimento mobile

Front-end

N1

  • Desenvolvo utilizando jQuery
  • Desenvolvo um SPA (Single Page Application) utilizando React, Vue ou Angular
  • Crio o HTML e CSS respeitando as specs do designer do meu time
  • Instalo pacotes via npm/nodejs
  • Sei criar aplicações que consomem API
  • Utilizo animações básicas (Transições, animações básicas, etc., por meio de bibliotecas já disponíveis)
  • Implemento ferramentas de analytics (p. ex., Google Analytics) no frontend

N2

  • Domino um framework/lib SPA (React, Vue ou Angular)
  • Conheço Javascript avançado (prototype, this, etc)
  • Conheço Typescript
  • Domino os conceitos de transpilação como babel
  • Domino arquitetura de front-end baseada em JAMStack
  • Sei desenvolver aplicações que consomem API Rest e Graphql
  • Desenvolvo e implemento animações no frontend

N3

  • Sei programação funcional em Javascript
  • Sei consumir APIs de áudio e vídeo do HTML5
  • Utilizo Websockets

Operação

N1

  • Instalo e configuro SSH e servidor web no Linux
  • Entendo os comandos do Linux para manipular arquivos
  • Utilizo docker e docker-compose
  • Entendo claramente as diferenças entre SaaS, PaaS e IaaS
  • Entendo o modelo OSI

N2

  • Sei escrever scripts de automação em Python, Shell Script ou Ruby
  • Crio uma instancia EC2 na AWS
  • Utilizo serviços de infraestrutura da AWS ou Google Cloud
  • Configuro CI/CD (Jenkins, gitlab-ci, travis-ci, etc)
  • Sei configurar coletores de log
  • Configuro serviços de monitoramento
  • Entendo claramente as diferenças entre microservices e serverless

N3

  • Sei automatizar tarefas com Ansible, Puppet ou Chef
  • Sei montar ambientes de deploy com o serviços da AWS ou Google Cloud
  • Configuro um cluster utilizando Kubernetes
  • Sei como explorar e analisar logs para aumentar performance de aplicações e identificar problemas
  • Configuro sistemas auto escaláveis e geograficamente distribuídos

Back-end

N1

  • Desenvolvo em JS (nível básico)
  • Desenvolvo em Python (nível básico)
  • Desenvolvo em Ruby (nível básico)
  • Crio API Rest
  • Entendo como funciona o protocolo HTTP/HTTPS (cabeçalhos, erros e serviços)
  • Trabalho com banco de dados relacionais: MySQL, PostgresSQL e SQLite

N2

  • Desenvolvo em Python (nível avançado)
  • Desenvolvo em Ruby (nível avançado)
  • Desenvolvo em Go ou Elixir
  • Desenvolvo em Rust ou C/C++
  • Conheço SOAP, JVM e .NET o suficiente para entender projetos legados
  • Trabalho com banco de dados NoSQL
  • Sei desenhar e implementar API além do Rest e/ou Graphql

N3

  • Desenvolvo microservices e serverless
  • Crio um web crawling
  • Domino conceitos de sistemas tolerantes a falha

Competências Gerais

Essas são as competências comportamentais aplicáveis a qualquer brainner.

Pessoas em primeiro lugar

  • Todos temos problemas, por isso realmente nos importamos e oferecemos ajuda para os nossos amigos de trabalho
  • Não pensamos em punir pessoas, mas sim em aprender com os erros e propagar o aprendizado para toda a empresa
  • Sempre ensinamos o que sabemos, especialmente quando nos pedem ajuda
  • Não discutimos de forma agressiva ou ofensiva
  • Somos gentis uns com os outros e sempre é válido dar um "bom dia", "boa tarde", "boa noite", "por favor", "obrigado"...
  • Aceitamos a diversidade e abraçamos as diferenças entre as pessoas, pois a diferença traz melhores perspectivas

Integridade intelectual

  • Preferimos ser bem-sucedidos a ter razão, por isso respeitamos todas as visões
  • Sabemos que somos eternos ignorantes, por isso não adotamos postura de gurus
  • Acreditamos no crescimento exponencial vs. linear ("1% todo dia"), e buscamos aprender um pouco todo dia
  • RTFM: fazemos o nosso dever de casa antes de pedir ajuda, evitando distrair outra pessoa à toa
  • Não mentimos sobre o que sabemos simplesmente para agradar ou ganhar respeito de outras pessoas
  • Todo mundo precisa virar a noite de vez em quando, mas não damos burnout no time, preservando nossas faculdades mentais e criativas

Melhores Esforços

  • Antecipamos potenciais problemas e não esperamos para sugerir ações preventivas
  • Colaboramos intensamente, e somos times antes de indivíduos, em busca do nosso Manifesto
  • Somos pragmáticos e procuramos agir sempre que discutimos algum assunto
  • Missão dada é missão cumprida: não desistimos até o último segundo
  • Somos protagonistas, e não figurantes: tudo tem que ter um DRI
  • Respeite e valorize o tempo dos outros: não fure ou atrase nos seus compromissos com as pessoas

Transparência

  • Usamos linguagem direta para as trocas diárias (sem rodeios e introduções) e até para a resolução dos problemas
  • Contribuímos com feedbacks (positivos ou não), ideias e materiais para o time de comunicação
  • Não levamos feedbacks para o lado pessoal e não praticamos a fofoca
  • Sabemos receber elogios sem perder o foco da jornada pela frente
  • Não somos heróis: temos uma equipe ao nosso lado e por isso sempre compartilhamos problemas e soluções

Pragmatismo

  • Quando criticamos algo, sugerimos pelo menos uma possível solução de forma prática
  • Sabemos o momento certo de inserir outro assunto no chat
  • Nada de interessante acontece na sua zona de conforto, por isso buscamos a autocrítica constantemente
  • Somos ágeis e buscamos sempre melhorar o que já está bom sem rodeios, sem burocracias
  • Não estamos contratando pessoas ingênuas: sabemos que às vezes teremos que quebrar barreiras
  • Não se abale com a primeira porta na cara
  • Propomos a mudança que queremos ver

Saiba como contribuir