Olá, pessoal. Nesta coluna falarei um pouco sobre o que é necessário para se trabalhar como um DBA (Database Administrator ou Administrador de banco de dados). Aproveitarei esta oportunidade para falar um pouco também sobre alguns requisitos deste tipo de trabalho.
Para começar vou procurar definir o que é um DBA e quais são as suas principais atividades. De acordo com a página americana da wikipédia (não há uma definição para DBA na página em português) um DBA é uma pessoa responsável pelo ambiente de banco de dados, o que inclui:
- Recuperabilidade: Criação e teste de backups;
- Integridade: Verificar ou ajudar a verificar a integridade dos dados;
- Segurança: Definir e/ou implementar os controles de acesso aos dados;
- Disponibilidade: Garantir o máximo de uptime (tempo total que o banco de dados está disponível);
- Desempenho: Garantir o máximo de desempenho;
- Desenvolvimento e suporte aos testes: Ajudar os programadores e engenheiros a utilizar de forma eficiente o banco de dados.
Pela minha experiência posso dizer que a função de um DBA envolve muito mais do que a definição que a Wikipédia sugere. Além disso, vale a pena destacar que SQL é bem diferente de DBA, pois o SQL é apenas uma das tecnologias que um DBA deve dominar. Entretanto, ainda vejo muita gente oferecer cursos de SQL como se fossem uma formação para um DBA. Também não acredito que apenas um curso de bacharelado em uma faculdade ou universidade forneça o necessário para este tipo de trabalho. Sem entrar em detalhes sobre a formação específica, vou focar este artigo no que o mercado pede do profissional, deixando para falar em um outro momento sobre a formação que julgo necessária para um bom DBA.
Bom, para analisar melhor o que o mercado espera de um DBA, resolvi fazer uma busca por vagas no recém inaugurado Mercado iMasters (http://mercado.imasters.com.br/), uma plataforma gratuita para o cadastro de currículos e vagas na área de TI. Inicialmente comecei procurando por vagas de nível júnior independente do banco de dados (SQL Server, Oracle, MySQL, etc). De acordo com este nível, o profissional deve possuir conhecimentos básicos de banco de dados relacionais, focando tanto a parte de administração como de programação.
Começarei falando sobre as vagas de nível júnior. Muitas destas vagas pedem experiência enquanto outras são relacionadas a estágio, o que prova que o mercado para quem está começando varia muito. Vejamos a primeira vaga de nível júnior retirada do site (o nome das empresas foi trocado para que elas permaneçam anônimas). Notem também que os valores monetários mencionados podem não mais serem relevantes após a publicação deste artigo.
Título da vaga: DBA Júnior.
Descrição: A empresa ACME está selecionando um DBA Júnior para completar seu quadro de funcionários. O candidato deve possuir conhecimentos em Select, Update, Delete, Insert, Procedure, Trigger, Alter Table, DER, Function, Importação de Dados, Formatação de campos (CPF, CNPJ, CEP).
Somente SQL SERVER
Benefícios: VT + VR (R$ 12,00)
Os currículos devem ser encaminhados com a forma de contratação (CLT ou PJ), pretensão salarial e disponibilidade para início.
Notem que vaga acima solicita apenas conhecimentos básico de SQL e de algumas tarefas administrativas, como a importação de dados. Outro detalhe interessante é que não é preciso experiência, o que pode ser um atrativo para quem ainda está cursando a faculdade. Além disso a vaga é flexível no que diz respeito ao modo de contratação, pois CLT significa Código de Leis Trabalhistas, ou seja carteira assinada. Já PJ é Pessoa Jurídica, que requer do candidato ter um empresa aberta para a prestação de serviços e a emissão de notas.
A próxima vaga de nível júnior revela mais algumas informações interessantes:
Título da vaga: Analista de BD Jr.
Descrição: A empresa de informática CyberDynamics é especializada em gestão empresarial (ERP) no ambiente WEB e na plataforma MS Windows. Estamos ampliando nossa infra-estrutura de tecnologia e necessitamos de uma pessoa para a vaga de Analista de BD Jr.
Perfil: organizado, metódico, pró-ativo.
Conhecimentos necessários: PL/SQL ORACLE, comandos Import/Export, noções de adm. de base de dados ORACLE em ambiente LINUX . Programação VB 6 ou VBScript.
Desejáveis: SqlServer/TSQL
Contratação CLT com benefícios: VT+VR+PS+SV.
Remuneração entre R$ 2.000,00 e R$ 2.800,00
Período integral das 8:30 às 12:00 e das 13:30 às 18:00
Esta vaga traz diversas informações interessantes. A primeira é que a empresa trabalha com um tipo específico de software (ERP) em um tipo específico de plataforma (WEB+Windows). Vale a pena notar também que o nome da vaga é Analista BD Jr., o que pode ser considerado DBA Jr. Quanto às qualificações, pode-se notar a preferência por características de perfil (organizado, metódico, etc) e características técnicas variadas, que envolvem tanto a programação de objetos como a administração dos mesmos. Destaque para o requisito de programação em Visual Basic 6 e para o desejável conhecimento de SQL Server, o que indica que o candidato provavelmente encontrará um ambiente misto de banco de dados e sistemas operacionais.
Quanto à forma de contratação e à remuneração creio que esta vaga está condizente com o nível de um profissional júnior, incluindo os benefícios de Vale Transporte, Vale Refeição, Plano de Saúde e Seguro de Vida.
As próximas vagas que comentarei são vagas de nível pleno. Neste tipo de oportunidade é necessário que o candidato já tenha alguma experiência com banco de dados e já saiba bem mais que o básico. É comum encontrar vagas de nível pleno que solicitem conhecimentos de segurança, disponibilidade, performance (tunning) e outros assuntos que são complexos. Também vale a pena destacar que para as vagas de nível pleno e sênior é mais difícil encontrar o valor de remuneração na vaga, sendo geralmente combinado após uma entrevista. O método de contratação varia entre CLT e PJ e não mais encontramos a opção de estágio. Vejamos a vaga de nível pleno abaixo:
Título da vaga: DBA PLENO
Descrição: Vaga efetiva, irá trabalhar em horário comercial na área de TI da empresa.
Requisitos: Ter superior completo em Redes, Programação, Análise de Sistemas ou outros cursos relacionados à TI.
Principais atividades: estruturará BI, CRM, trabalhará em rotinas de modelagem lógica e física de dados, documentação de banco de dados, criação e manutenção de Stored Procedures, triggers, functions, logins, permissões e papéis, tunning, backup, restore, DTS Data Warehouse, Analysis Services, Replicação e Log Shipping.
Necessário experiência anterior.
Enviar currículo com pretensão salarial.
Nesta vaga podemos notar que o DBA deverá se envolver diretamente com a equipe de programação em sistemas de BI (Business Inteligence) e CRM (Customer Relationship Management), além de cuidar da manutenção geral do banco de dados. O destaque vai para o uso de Replicação e Log Shipping, recursos utilizados para ambientes de bancos de dados mais maduros, e para o requisito de um profissional já formado. Notem também que é necessário experiência anterior, o que provavelmente será discutido junto com a pretensão salarial em uma eventual entrevista do candidato.
Vejamos outra vaga de nível pleno:
Título da vaga: Analista DBA SQL Pleno
Descrição: A Xing Ling Corporation é uma consultoria especializada em TI Gold Partner Microsoft, com forte atuação no mercado corporativo. Estamos selecionando profissionais para inicio imediato com o seguinte perfil:
Irá atuar com SQL Server, envolvendo instalação, configuração, tunning e SQL em Cluster.
Fará procedimentos de administração: backup, manutenção da base e monitoração .
É necessário total domínio em Sybase e ótimos conhecimento em SQL Server.
INÍCIO IMEDIATO
Enviar CV com pretensão salarial.
Período de 3 meses de experiência, para posterior efetivação.
Nesta vaga podemos notar algumas características. Primeiro, não se trata de uma empresa comum, e sim de uma consultoria onde é possível que o profissional seja alocado em um cliente temporariamente. Segundo, são necessários conhecimentos que vão desde a instalação até a otimização de desempenho, o que indica que esta vaga é mais voltada para o lado administrativo do que para a programação. Há também o requisito de se conhecer tanto o SQL Server como o Sybase. Por fim nota-se que é necessário início imediato, provavelmente para suprir uma nova demanda urgente ou para substituir algum outro profissional. Notem que não há informações sobre o método de contratação, benefícios, período de projeto e remuneração, o que é comum em vagas postadas por consultorias.
Veremos agora as vagas de nível sênior, ou como alguns profissionais gostam de afirmar “o topo da cadeia alimentar”. Este tipo de vaga requer uma boa dose de experiência, conhecimentos amplos tanto na parte de banco de dados como de programação. Não raro este tipo de vaga pede por certificação. No nível sênior é comum encontrar vagas para projetos fechados onde se trabalha com uma equipe que já possui um DBA. Como conseqüência é desejável que o profissional saiba trabalhar em equipe e tenha habilidades de liderança. Além disso, é raro encontrar vagas de nível sênior que trabalhem com o tipo de contratação CLT, sendo crucial contar com uma empresa aberta para tentar concorrer a uma vaga deste nível. Por fim vale a pena mencionar que os salários são os mais altos da área técnica, chegando a se comparar com cargos de gerência e diretoria em algumas situações. Vejamos uma vaga de nível sênior.
Título da vaga: DBA SQL Server Sênior
Descrição: A Inferno S/A, empresa líder no suporte e desenvolvimento de aplicações para ambientes de missão crítica, com atuação internacional, e foco em grandes clientes de diversos segmentos, busca profissionais com o seguinte perfil:
Experiência como DBA (instalação, configuração, administração, backup, migração, performance e troubleshooting) com SQL Server.
Criação e manutenção de banco de dados Microsoft SQLServer.
Validação de performance em queries.
Conhecimento em sincronização de bancos, processos de backup/restore.
Tunning e segurança de banco de dados.
Conhecimento em diferentes versões do SQL Server.
Certificação de Banco de Dados Microsoft.
A vaga acima é para poucos profissionais. Além do requisito de certificação, o que certamente já filtra e limita muito dos candidatos disponíveis, a vaga está relacionada a um ambiente de missão crítica. Estes ambientes geralmente são conhecidos por gerarem um alto nível de stress em todos os profissionais que trabalham e não raramente requerem um acordo para que o DBA fique disponível 24 horas por dia ao alcance de uma chamada para o seu celular. Esta vaga com certeza requer que o profissional tenha uma dedicação total ao ambiente e isso implica em uma grande responsabilidade e comprometimento por parte do candidato. Outro requisito implícito é a habilidade de inglês fluente, uma vez que a vaga cita a atuação internacional com foco em grandes clientes.
Vejamos mais uma vaga de nível sênior, agora para quem trabalha com Oracle:
Título da vaga: Analista de Suporte DBA SR.
Descrição: A RancaCouro Solutions é uma empresa brasileira com CMMI 2 especializada em integração e soluções para colaboração entre empresas com centenas de clientes ao redor do mundo. Estamos uma oportunidade para Analista de Suporte DBA SR. Requisitos:
Profissional de nível Sênior com mínimo de 3 anos de experiência em Oracle 9i, 10g e Oracle RAC.
Imprescindível experiência em ambiente Oracle EBusiness Suite 11i.
Instalação e configuração Oracle RMAN.
Instalação Banco de dados SQL Server Cluster.
Experiência em tunning de aplicação.
Conhecimento em SQL.
Experiência em gestão de ambientes críticos.
Imprescindível Inglês avançado/fluente.
Experiência em gerenciamento de projetos, conduzir reuniões e boa comunicação para troca de informações entre diversas equipes.
Contratação PJ por período indeterminado para atuação em São Paulo.
Enviar CV com pretensão salarial PJ.
Esta vaga de DBA sênior com certeza vai selecionar apenas candidatos que já investiram muito na carreira e já conhecem bem a área. Para começar são requeridos no mínimo três anos de experiência com as últimas versões do Oracle, inclusive como o ambiente de cluster Oracle RAC. Em seguida é necessário experiência em uma das ferramentas mais complexas do Oracle, o Ebussiness Suite. Junte isso aos outros requisitos, como experiência em gerenciamento de projetos, e temos uma vaga que é adequada a poucos profissionais atualmente no Brasil. Como é de praxe neste tipo de oportunidade, a contratação é na modalidade PJ e o profissional deve fornecer o valor hora. De acordo com alguns contatos e com a minha experiência, não creio que um profissional para esta vaga saia por menos de R$ 80,00 a hora em uma jornada de 132 horas mensais.
Com isso termino esta coluna onde discuti um pouco sobre as vagas nos níveis júnior, pleno e sênior para DBA. Porém gostaria aqui de abrir um espaço de debate nos comentários, dizendo que eu gostaria de ouvir o que os leitores têm a dizer sobre este assunto, pois isso pode influenciar aqueles que estão procurando mais informações sobre o mercado de trabalho como DBA.
Apenas para terminar, recomendo uma leitura do ótimo “Chuck Noris Facts” versão DBA, encontrada no blog do Wender Scardua e produzido por Portilho e outros. Link do blog: http://wendel.scardua.net/2006/08/02/chuck-norris-facts-versao-dba/
- Chuck Norris não faz DELETEs. Ele olha para os registros e eles correm de medo.
- Chuck Norris não cria Primary Keys. Os registros simplesmente não atrevem-se a duplicar.
- Chuck Norris não usa LOG. Ele lembra de todos registros que alterou.
- Chuck Norris não cria Índices. Ele sabe que os registros retornarão o mais rápido que puderem.
- MSSQL Server é muito mais rápido que Oracle. Basta que o DBA seja CHUCK NORRIS.
- Uma vez adaptaram o Roundhouse Kick para o Oracle. Assim nasceu o TRUNCATE TABLE.
- Chuck Norris não dá DROP TABLE. Ele dá ROUNDHOUSE KICK TABLE.
- Uma vez Chuck Norris deu um Roundhouse Kick em um banco poderoso. Hoje ele é conhecido por Access.
- Chuck Norris sabe todos os erros do Oracle de cor. Porque ele os criou.
- SELECT SUM(FORÇA) FROM CHUCK_NORRIS; Internal error. Do not call the support.
- SELECT CHUCK_NORRIS; Drop database sucessful.
- SELECT ROUNDHOUSE_KICK FROM CHUC… Lost connection.
- DELETE FROM CHUCK_NORRIS. Not Found. (Ele está atrás de você, a ponto de dar um Roundhouse Kick!!!)
- Chuck Norris tem IGNORE CONTRAINTS automático. Ninguém restringe nada a Chuck Norris. Ninguém.
- Chuck Norris não faz cursos de Oracle. A Oracle é que faz cursos de Chuck Norris.
- Chuck Norris instala o Oracle sem ler o manual. (Quem você pensa que é para ter tentado isso?)
- Chuck Norris instala o Oracle em um 486. Rodando Kurumim. Em 2 minutos.
- Chuck Norris instala o MSSQL Server em um Pentium 100MHZ. Rodando Solaris. A partis dos fontes.
- Chuck Norris instala o DB2 em um 486. Rodando Windows Vista. Sem HD.
- Chuck Norris não tem Certificação. São as empresas que tentam tirar Certificação em Chuck Norris. Em vão.
- Se disser ao DBA Chuck Norris que “o problema está no banco”, é melhor que esteja se referindo ao Itaú.
- Chuck Norris SABE qual o problema de performance do banco. Ele só está dando uma chance do banco de se arrepender. 5… 4… 3…
- Chuck Norris não cria Stored Procedures. Todas suas Queries já se armazenam no banco, tentando se esconder. Mas é inútil.
- TRIGGERS tem este nome porque Chuck Norris sempre ameaçava atirar no banco quando ele não fazia algo automático.
- Chuck Noris não faz Modelo de Dados. Ele encara o banco até que ele faça o modelo sozinho.
- Chuck Norris instala o Oracle sem a interface gráfica. E sem a interface texto. (Pergunte a ele você!)
- Megabyte, Gigabyte, Terabyte, Petabyte, Exabyte, Chuckbite.
- Oracle tem as versões Personal, Standard, Enterprise e ChuckNorris Edition. Mas nenhum computador é rápido o suficiente para rodar a último.
Um grande abraço e até a próxima pessoal.