Descrição da vaga
Atuar na definição, evolução e sustentação da plataforma de bancos de
dados da organização, combinando conhecimentos de arquitetura, administração de
bancos de dados, cloud computing, automação e engenharia de plataforma.
O profissional será responsável por apoiar a modernização das aplicações
e da infraestrutura de dados, estabelecendo padrões e boas práticas para
provisionamento, operação, segurança, alta disponibilidade, observabilidade,
backup, restauração e recuperação de desastres dos bancos de dados.
Terá papel importante na evolução do modelo de consumo de bancos de
dados, promovendo automação, Infrastructure as Code (IaC), GitOps e mecanismos
de autosserviço sempre que aplicável, reduzindo atividades operacionais manuais
e aumentando a confiabilidade, padronização e autonomia dos times. Isto inclui
evoluir a plataforma como produto interno e promover experiência do
desenvolvedor.
Deverá atuar em
conjunto com times de Plataforma, Desenvolvimento, Infraestrutura, Segurança e
Arquitetura, apoiando decisões relacionadas à escolha das tecnologias de
persistência, topologias, estratégias de disponibilidade, escalabilidade e
operação dos dados. O ambiente contempla bancos de dados executados em serviços
gerenciados de nuvem e plataformas baseadas em containers e Kubernetes.
Responsabilidades e atribuições
Atividades a serem exercidas:
- Definir e
evoluir padrões técnicos e arquiteturais para utilização de bancos de
dados relacionais e não relacionais na organização; - Administrar
e apoiar a operação de bancos de dados em ambientes de produção,
homologação e desenvolvimento; - Apoiar os
times de desenvolvimento e arquitetura na escolha da tecnologia de
persistência mais adequada para cada workload; - Definir
boas práticas para criação e utilização de bancos de dados, schemas,
usuários, roles, permissões, índices e demais objetos; - Definir e
implementar estratégias de alta disponibilidade, replicação, failover e
recuperação de bancos de dados; - Direcionar
estratégias operacionais de backup, restauração, recuperação de desastres,
monitoramento, desempenho, capacidade e escalabilidade dos bancos de
dados. - Apoiar
testes de carga, capacity planning e análise de escalabilidade das
soluções; - Definir e
implementar padrões de observabilidade para bancos de dados, contemplando
métricas, logs, dashboards e alertas; - Atuar com
bancos de dados executados em ambientes de nuvem pública e plataformas
baseadas em containers; - Apoiar a
operação de workloads de dados executados em Kubernetes, compreendendo
seus mecanismos de persistência, disponibilidade, escalabilidade e
integração com a plataforma; - Automatizar
o provisionamento, configuração e operação de bancos de dados com IaC,
CI/CD e GitOps, contribuindo para capacidades de Database as a Service
(DBaaS) e autosserviço para os times de desenvolvimento. - Apoiar
processos de migração e modernização de bancos de dados entre ambientes
on-premises, cloud e plataformas de containers; - Definir e
aplicar boas práticas de segurança, incluindo criptografia, segregação de
acesso, gestão de credenciais e princípio do menor privilégio;
- Produzir
documentação técnica, padrões arquiteturais, runbooks e procedimentos
operacionais; - Apoiar
troubleshooting e tratamento de incidentes complexos relacionados a bancos
de dados; - Avaliar
novas tecnologias e propor melhorias na arquitetura e na plataforma de
dados; - Interagir
frequentemente com os times de Plataforma, Desenvolvimento,
Infraestrutura, Segurança e Arquitetura.
Requisitos e qualificações
Formação:
- Ensino superior completo em Ciência da Computação,
Sistemas de Informação, Engenharia de Software ou áreas correlatas; - Pós-graduação ou especialização em Cloud Computing, Banco de Dados, Arquitetura
de Software ou áreas relacionadas.
Experiência Profissional e Conhecimentos Técnicos necessários:
- Experiência
sólida em administração de bancos de dados em ambientes de produção; - Conhecimento
avançado de bancos de dados relacionais, especialmente PostgreSQL; - Experiência
com outros bancos relacionais, como MySQL, SQL Server ou equivalentes; - Conhecimentos
sólidos de SQL, incluindo consultas avançadas, índices, planos de execução
e otimização de desempenho; - Conhecimento
de arquitetura de bancos de dados, replicação, alta disponibilidade e
estratégias de failover; - Experiência
com backup, restauração, recuperação de desastres e Point-in-Time
Recovery; - Conhecimento
sobre definição e aplicação de RPO e RTO; - Experiência
com análise de performance, troubleshooting e capacity planning de bancos
de dados; - Experiência
com serviços gerenciados de bancos de dados em provedores de nuvem
pública;
- Experiência
em ambientes AWS e Azure; - Conhecimento
de Infrastructure as Code e ferramentas como Terraform ou equivalentes; - Conhecimento
de containers e Kubernetes, incluindo conceitos de workloads stateful,
persistência, volumes, storage classes, secrets e alta disponibilidade; - Conhecimento
de práticas de automação e integração com pipelines CI/CD; - Conhecimento
de conceitos e práticas de GitOps; - Conhecimento
ou experiência com práticas de Platform Engineering e Internal Developer
Plataforms (IDP). - Experiência
com ferramentas de monitoramento e observabilidade, como Grafana,
Prometheus, CloudWatch, Azure Monitor ou equivalentes; - Conhecimento
de práticas de segurança de bancos de dados, incluindo criptografia,
controle de acesso, auditoria e gestão de credenciais; - Conhecimento
de scripting ou programação para automação, utilizando linguagens como
Python, Shell Script ou equivalentes; - Experiência
em migração e modernização de bancos de dados; - Capacidade
de diagnosticar e resolver problemas complexos de disponibilidade,
desempenho e escalabilidade; - Capacidade
de analisar requisitos de aplicações e propor arquiteturas de persistência
adequadas; - Boa comunicação e capacidade de atuar de forma colaborativa com
equipes multidisciplinares.
Desejável/Diferencial:
- Experiência
sólida em administração de bancos de dados em ambientes de produção; - Conhecimento
avançado de bancos de dados relacionais, especialmente PostgreSQL; - Experiência
com outros bancos relacionais, como MySQL, SQL Server ou equivalentes; - Conhecimentos
sólidos de SQL, incluindo consultas avançadas, índices, planos de execução
e otimização de desempenho; - Conhecimento
de arquitetura de bancos de dados, replicação, alta disponibilidade e
estratégias de failover; - Experiência
com backup, restauração, recuperação de desastres e Point-in-Time
Recovery; - Conhecimento
sobre definição e aplicação de RPO e RTO; - Experiência
com análise de performance, troubleshooting e capacity planning de bancos
de dados; - Experiência
com serviços gerenciados de bancos de dados em provedores de nuvem
pública;
- Experiência
em ambientes AWS e Azure; - Conhecimento
de Infrastructure as Code e ferramentas como Terraform ou equivalentes; - Conhecimento
de containers e Kubernetes, incluindo conceitos de workloads stateful,
persistência, volumes, storage classes, secrets e alta disponibilidade; - Conhecimento
de práticas de automação e integração com pipelines CI/CD; - Conhecimento
de conceitos e práticas de GitOps; - Conhecimento
ou experiência com práticas de Platform Engineering e Internal Developer
Plataforms (IDP). - Experiência
com ferramentas de monitoramento e observabilidade, como Grafana,
Prometheus, CloudWatch, Azure Monitor ou equivalentes; - Conhecimento
de práticas de segurança de bancos de dados, incluindo criptografia,
controle de acesso, auditoria e gestão de credenciais; - Conhecimento
de scripting ou programação para automação, utilizando linguagens como
Python, Shell Script ou equivalentes; - Experiência
em migração e modernização de bancos de dados; - Capacidade
de diagnosticar e resolver problemas complexos de disponibilidade,
desempenho e escalabilidade; - Capacidade
de analisar requisitos de aplicações e propor arquiteturas de persistência
adequadas; - Boa comunicação e capacidade de atuar de forma colaborativa com
equipes multidisciplinares.
Localidade: Brasil