- Linguagem de Programação: Consegue desenvolver APIs RESTful básicas em uma linguagem de programação comum (ex: Python, Java, Go).
- Containers: Sabe criar um Dockerfile simples e usar docker-compose para rodar a aplicação localmente.
- Persistência de Dados: Consegue integrar a aplicação com um banco de dados (relacional ou NoSQL) e realizar operações CRUD.
- Infraestrutura como Código (IaC): Tem noções básicas de Terraform e consegue seguir exemplos para provisionar recursos simples (ex: uma instância de banco de dados ou um bucket S3).
- Kubernetes: Consegue criar manifestos básicos para deployar uma aplicação em um cluster Kubernetes (ex: Deployment, Service).
- Segurança: Tem noções básicas de segurança, como uso de variáveis de ambiente para credenciais e boas práticas de autenticação. Comportamental:
- Participa ativamente de discussões técnicas e busca ajuda quando necessário.
- Documentação: Consegue escrever um README.md claro e objetivo, explicando como rodar a aplicação e acessar a API.
- Feedback: Recebe bem feedbacks e está disposto a aprender e melhorar.
- Criar uma API simples com persistência de dados, containerizar a aplicação e rodá-la localmente com docker-compose.
- Criar um manifesto Kubernetes básico para deployar a aplicação em um cluster local (ex: minikube).
- Escrever um README.md explicando como rodar a aplicação e acessar a API.
- Avaliar a capacidade de seguir boas práticas de desenvolvimento e containerização.
- Avaliar a clareza da documentação e a capacidade de rodar a aplicação localmente.
- Linguagem de Programação: Desenvolve APIs RESTful mais complexas, com autenticação e autorização (ex: JWT).
- Containers: Cria Dockerfiles otimizados e configurações mais avançadas de docker-compose (ex: múltiplos serviços, como banco de dados e cache).
- Persistência de Dados: Integra a aplicação com diferentes tipos de bancos de dados e implementa estratégias de migração de dados.
- Infraestrutura como Código (IaC): Escreve módulos Terraform para provisionar recursos mais complexos (ex: clusters Kubernetes, balanceadores de carga).
- Kubernetes: Cria manifestos Kubernetes mais avançados, incluindo Ingress, ConfigMaps, Secrets e Auto-scaling.
- Segurança: Implementa boas práticas de segurança em APIs e infraestrutura (ex: uso de Snyk para análise de vulnerabilidades, configuração de RBAC no Kubernetes).
- Autonomia: Consegue tomar decisões técnicas de forma independente e propor soluções para problemas mais complexos.
- Mentoria: Ajuda desenvolvedores mais juniores a resolver problemas e a entender boas práticas.
- Documentação: Escreve documentação técnica detalhada, incluindo diagramas de arquitetura e explicações sobre decisões técnicas.
- Criar uma API com autenticação e autorização, containerizar a aplicação e rodá-la com docker-compose.
- Escrever módulos Terraform para provisionar um cluster Kubernetes e outros recursos necessários (ex: banco de dados, balanceador de carga).
- Criar manifestos Kubernetes avançados para deployar a aplicação no cluster provisionado, incluindo Ingress e Secrets.
- Escrever um README.md explicando como rodar a aplicação localmente e como provisionar a infraestrutura e deployar a aplicação no Kubernetes.
- Avaliar a capacidade de criar uma arquitetura escalável e segura.
- Avaliar a qualidade dos módulos Terraform e dos manifestos Kubernetes.
- Avaliar a clareza e a completude da documentação técnica.
- Linguagem de Programação: Desenvolve APIs RESTful complexas, com foco em escalabilidade, performance e segurança.
- Containers: Cria Dockerfiles altamente otimizados e configurações avançadas de docker-compose para ambientes de desenvolvimento e produção.
- Persistência de Dados: Implementa estratégias avançadas de persistência, como sharding, replicação e backup.
- Infraestrutura como Código (IaC): Escreve módulos Terraform reutilizáveis e modulares, com foco em escalabilidade e boas práticas de arquitetura.
- Kubernetes: Implementa soluções avançadas em Kubernetes, como Service Mesh, CI/CD pipelines integrados e monitoramento com Prometheus e Grafana.
- Segurança: Implementa práticas avançadas de segurança, como políticas de rede no Kubernetes, segurança de API e auditoria de logs.
- Liderança Técnica: Lidera discussões técnicas e toma decisões estratégicas para o time.
- Mentoria: Atua como mentor para desenvolvedores mais juniores e plenos, ajudando-os a crescer tecnicamente.
- Documentação e Comunicação: Escreve documentação técnica detalhada e clara, e comunica decisões técnicas de forma eficaz para diferentes stakeholders.
- Criar uma API complexa com autenticação, autorização e otimizações de performance.
- Escrever módulos Terraform modulares e reutilizáveis para provisionar uma infraestrutura escalável e segura.
- Criar manifestos Kubernetes avançados, incluindo Service Mesh e monitoramento.
- Implementar uma pipeline de CI/CD para deployar a aplicação no Kubernetes.
- Escrever um README.md e uma documentação técnica detalhada explicando as decisões de arquitetura e como rodar a aplicação e a infraestrutura.
- Avaliar a capacidade de liderar a criação de uma arquitetura robusta e escalável.
- Avaliar a qualidade dos módulos Terraform e dos manifestos Kubernetes, com foco em reutilização e boas práticas.
- Avaliar a capacidade de implementar soluções de segurança e monitoramento.
- Avaliar a clareza e a profundidade da documentação técnica.
- Modularidade, clareza e escalabilidade da aplicação e da infraestrutura.
- Uso de ADRs (Architecture Decision Records) para justificar decisões técnicas.
- Qualidade e otimização dos Dockerfiles e docker-compose.
- Facilidade de rodar a aplicação localmente e em ambientes de produção.
- Qualidade dos módulos Terraform: modularidade, reutilização e boas práticas.
- Capacidade de provisionar uma infraestrutura escalável e segura.
- Qualidade dos manifestos Kubernetes: uso de Ingress, ConfigMaps, Secrets, Auto-scaling, etc.
- Implementação de soluções avançadas, como Service Mesh e monitoramento.
- Implementação de boas práticas de segurança em APIs e infraestrutura.
- Uso de ferramentas como Snyk para análise de vulnerabilidades.
- Clareza e completude da documentação técnica.
- Explicação das decisões de arquitetura e como rodar a aplicação e a infraestrutura.
- Capacidade de colaborar com o time e ajudar desenvolvedores mais juniores.
- Participação em discussões técnicas e liderança de decisões estratégicas.