SlideShare uma empresa Scribd logo
1 de 39
Baixar para ler offline
{
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
{

}
A Arte de Programar
// FIXME: Y2K Bug
{
Vários sistemas falhos e/ou inoperantes

}
// FIXME: Mars Climate Orbiter
{
Falha por conversão de sistema
métrico para imperial

}
// FIXME: Knight Capital
{
Prejuízo de U$ 440 milhões por conta de
um teste que foi para produção

}
// FIXME: USS Yorktown
{
Parou em alto mar por conta de uma
divisão por zero

}
// FIXME: Therac-25
{
Aplicava dose 100x de radiação devido a
uma condição de corrida

}
// 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, Motherfucker
Do you speak it?
Our Values
They 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?!
{

}

Mais conteúdo relacionado

A Arte de Programar