Post on 27-Jun-2015
description
{ A Arte de Programar}
/** * @author: Pablo Cabrera <pablo.cabrera.munoz@gmail.com> */
// Programação como Arte
{ Donald Knuth The Art of Computer Programming}
// Programação como Arte
{ Do latim ars ou artis quer dizer “habilidade” Do grego τεχνη radical para “técnica” e “tecnologia”}
// Programação como Arte
{ Necessita Disciplina, Técnica e Estilo
Produz objetos Complexos, Elegantes e de Valor }
{
}
// Computação ubíqua
{ Vários sistemas falhos e/ou inoperantes
}
// FIXME: Y2K Bug
{ Falha por conversão de sistema métrico para imperial
}
// FIXME: Mars Climate Orbiter
{ Prejuízo de U$ 440 milhões por conta de um teste que foi para produção
}
// FIXME: Knight Capital
{ Parou em alto mar por conta de uma divisão por zero
}
// FIXME: USS Yorktown
{ Aplicava dose 100x de radiação devido a uma condição de corrida
}
// FIXME: Therac-25
// Crise de Software
{ Edsger Dijkstra The Humble Programmer}
// Crise de Software
{
Projetos estourando o orçamento;
Projetos estourando o prazo;
Software de baixa qualidade;
Software não atingiam os requisitos;
Projetos ingerenciáveis;
Código difícil de manter;
}
// Inúmeras Metodologias
{
}
// Certificações de Qualidade
{
}
// Fábrica de Software
{
Linha de Montagem de Software;
Utilização de Frameworks e Processos;
Elimina codificação da camada de aplicação;
}
// Disciplina desvalorizada
{
Programação é um mal necessário;
Mão de obra não especializada;
Atividade pouco nobre/segunda classe;
}
// Cargos glorificados
{
Consultor, Analista, Arquiteto, Engenheiro…
… Implementador, de Produto, de Software,
de Sistemas, de Processo, Projetista etc
}
// Aprendizado banalizado
{
“Teach yourself PHP in 24 hours”
“Teach yourself JavaScript in 21 days”
“Perl for Dummies”
“C Programming in easy steps”
}
// Programação é Difícil
{ Peter Norvig Teach Yourself Programming in Ten Years}
// Programação é Difícil
{ 10 anos para dominar uma habilidade; 10.000 horas de prática; Exemplos: Mozart praticou durante 13 anos The Beatles tocaram por 10 anos}
// Programação é o Principal
{ Steve McConnell Code Complete}
// Programação é o Principal
{ Leva de 30% a 80% no projeto; Atividade central; Impacto de produtividade; Código é a melhor descrição formal; Atividade indispensável;}
Programming, MotherfuckerDo you speak it?
Our ValuesThey Claim to Value They Really Value We Fucking Do
Individuals and interactions Tons of billable hours Programming,
Motherfucker
Working software Tons of pointless tests Programming, Motherfucker
Customer collaboration Bleeding clients dry Programming,
Motherfucker
Responding to change
Instability and plausible deniability
Programming, Motherfucker
We think the shit on the left, is really just the con in the middle, and that we really need to just do the thing on the right… Programming,
Motherfucker.
// Cenário
{ Cada vez mais sistemas; Demanda crescente de profissionais; Escassez de talentos; Profissão do futuro; }
// Hello World!
{ Instituição de Ensino; Mentores iniciais; Conhecimento abrangente; Direcionamento inicial; Reconhecimento básico;}
// Cursos e Eventos
{ Disciplinas específicas; Baixo custo de aprendizado; Conhecer outros programadores; Marketing pessoal; Fomentar a área;}
// Já sei programar...
{ Conceitos são imprescindíveis; Tecnologia é com o que trabalhamos; Disciplinas relacionadas;}
// Conceitos
{ Conceitos são perenes; Base das tecnologias; Compartilhados entre arquiteturas e sistemas;}
// Tecnologia
{ Ferramentas disponíveis; Aplicações específicas; Diferentes domínios; }
// Trabalho em Equipe
{ Aprenda com a experiência; Ensine os mais novos; Discuta alternativas; Peça e dê feedback; Lidere e inspire;}
// Projetos distintos
{ Diversifique seus conhecimentos; Diferentes times; Torne-se auto-suficiente;}
// Learn by Doing
{ Prática leva a perfeição; Enfrente desafios; Adquira experiência;}
// Datilografia
{ Somos digitadores; Interface que usamos; Fácil de aprender;}
// Code Heroes
{ Inspire-se neles; Reconheça seu trabalho; Busque ser melhor;}
// Programadores influentes
{
}
// Orgulho de ser Programador
{ The Humble Programmer}
// Evoluir é com a gente
{
}
// Então?! Então?!
{
}