Como um DBA deve atuar com desenvolvedores Uma visão bem humorada do eterno conflito entre as forças do bem contra os desenvolvedores. Já comecei a sacanear os caras!!! Fábio Cotrim Lima Tata Consultancy Services & DBA4All www.facebook.com/fabio.cotrim | [email protected] Como um DBA deve atuar com desenvolvedores Agora, chutei o balde!!! Fábio Cotrim Lima Tata Consultancy Services & DBA4All www.facebook.com/fabio.cotrim | [email protected] PATROCINADORES Fábio Cotrim Lima DBA SQL Server e Oracle Bacharel em Ciência da Computação pela Universidade Federal de São Carlos (UFSCar) Profissional certificado Mais de 25 anos de experiência em Tecnologia da Informação, sendo mais de 18 anos em Banco de dados Já atuei em empresas de diversos ramos de mercado (farmacêutico, editorial, financeiro, e-commerce, indústria automativa, etc), de todos os portes. Sempre disposto a disseminar o conhecimento, já formei alguns profissionais na área de banco de dados, onde sempre incentivo a pesquisa e auto-didática, Atualmente trabalho na Tata Consultancy Services, em um projeto global de suporte e desenvolvimento. Fábio Cotrim Lima Instrutor e consultor pela DBA4All. Co-fundador do grupo DBA Brasil Visite o site: www.dbabr.com.br Inscreva-se: [email protected] Fale comigo: [email protected] Conteúdo Como diferenciar os tipos de desenvolvedores Pontos de Conflitos Como fazer o desenvolvedor dar pulos de 2 metros de altura Cases Ponha-se no lugar deles Como diferenciar os tipos de desenvolvedores MacGyver Faz a confecção de 137 servidores, 3 sistemas e 4 bancos de dados em apenas um turno de trabalho. Um core 2 duo com 1 gb de RAM é o suficiente para o nosso herói. Para o programador MacGyver vale o ditado: “Se a vida lhe der 1 limão, faça 1 limonada, 4 CRM, 3 gerenciamentos em tempo real e, se sobrar, 1 rede social”. Gambiarra = MacGyverism Como diferenciar os tipos de desenvolvedores Macaco Este não consegue entender nenhum texto que você envia. Para qualquer problema identificado, ele responde que sempre foi assim e nunca deu problema. Acredita que os erros garantem o seu emprego. Ou seja... É uma besta! Como diferenciar os tipos de desenvolvedores GOOGLE Esse espécime é muito fácil de ser identificado: Quando ele ligar o computador para começar a programar, veja qual aplicativo ele abre primeiro. Se ele abrir o Visual Studio, ele não é, mas se ele abrir o Google e digitar “como programar em .NET…” pode saber, ele é um programador Google... Existem DBAs assim também!!! Como diferenciar os tipos de desenvolvedores Fodástico Ele é o melhor, simplesmente, O MELHOR. Não estou dizendo que outras pessoas dizem que ele é o melhor, ele fala por si mesmo. Existem sim os melhores, mas também encontramos uns “Juninhos” que pagam de FODÁSTICO. O seu ego é tão grande que este anda curvado pra frente. Faz discurso e não escuta os companheiros de trabalho. Vai dizer que não conhece um? Como diferenciar os tipos de desenvolvedores O BOM PROGRAMADOR Esse é o mais difícil de encontrar. Ele é comedido, consciente e agregador. Não tem medo de admitir que errou. É humilde e pede ajuda. Entende o que fazemos e consegue conversar sem dar piti. BICHO RARO!!! Pontos de Conflitos Por que eles são contra nossas regras? Como convencê-los de que têm que seguir as regras? O que devemos fazer se quebrarem as regras? Pontos de Conflitos Por que eles não podem ter acesso à produção? Por que os acessos de usuários de aplicativos têm que ter acesso limitado? Por que usar stored procedures, roles, etc. Como fazer o desenvolvedor dar pulos de 2 metros de altura? Crie regras! Tire acessos! Notifique os incidentes de segurança! Denuncie tentativas de burlar as regras! Ative a auditoria! Cases Problema: Warning: The table “TB_MalFeita" has been created, but its maximum row size exceeds the allowed maximum of 8060 bytes. INSERT or UPDATE to this table will fail if the resulting row exceeds the size limit. Resposta: É só um warning, warning significa alerta, não é erro! Cases Solicitação: A tabela TB_FizMerda teve um probleminha e cresceu um pouco acima do esperado. Você pode apagar os dados deste mês que vou reprocessar? Análise: O JÊNIU alterou uma procedure em produção (sem change), ela estava uma porcaria e criou 1 bilhão de linhas adicionais às 1500 existentes previamente. Cases Problema: Usuários perderam o acesso aos aplicativos? Análise: Programadora fez um update sem where. Posicionamento da Programadora: Fiz merda, como podemos resolver? Ponha-se no lugar deles Somos arrogantes, pois criamos regras e exigimos o seu cumprimento. Temos conhecimentos em muito mais áreas que os desenvolvedores (banco, programação, storage, rede, sistemas operacionais, etc.). Não nos relacionamos com o usuário final. Somos binários. Ponha-se no lugar deles TENHA PACIÊNCIA! PATROCINADORES DBA BRASIL Site: www.dbabr.com.br Google Groups: [email protected] Facebook: fb.com/groups/dbabrasil Linkedin: https://www.linkedin.com/groups/8322293 Telegram: telegram.me/DbaBrasil Fale comigo: [email protected]