5 pontos sobre desenvolvimento de software
DESCRIPTION
Apresentação usada na Conferencia SerFreelancer - Aveiro. Descreve alguns pontos sobre alguns aspectos profissionais da programação (e freelancing no geral). Foca essencialmente no compromisso das escolhas que fazemos.TRANSCRIPT
Hello World!
pontos sobre programação
1) plataformas e tecnologias
2) comprar vs. construir
3) aprendizagem contínua
4) workflow
5) gestão
plataformas e tecnologias
a tua escolha
influenciará boa parte do caminho que seguirás
open
vs. closed source
p.e.
.NET vs. JAVA vs. PHP vs.
RUBY vs. …
p.e.
SQL Server vs.
Oracle vs.
SQLite vs.
PostgreSQL vs.
NoSQL vs…
p.e.
procedural
vs.
orientado a objectos vs.
funcional
vs. …
p.e.
desktop
vs.
web vs.
mobile
vs. …
p.e.
… como
escolher?
o que já aprendi?
o que quero aprender?
o que é mais
adequado?
…rentabiliza
o conhecimento que já tens, e acrescenta-lhe algo de novo…
…e não te esqueças que a maioria dos teus
clientes
já têm sistemas implementados…
…tecnologias
”legacy” são nichos interessantes e sempre necessários…
…não esquecer que
tudo é um compromisso ...
comprar vs. construir
…é uma questão
constante: “sei construir software. porquê não construir o que necessito para mim?”
existe?
há tempo para o construir?
quanto custa construir / comprar? faz parte da linha de
negócio?
…(novamente)
tudo é um compromisso
… antes de decidir, analisa
bem o que existe.
normalmente existe
alguma coisa…
… não esquecer que software
demora a ser
construído e raramente está
terminado…
… o que constróis
para ti pode ser
para outros… útil
… se for reutilizável, geras
bibliotecas e
frameworks pessoais…
… ou até uma
linguagem nova
(orientado a um domínio = DSL)…
aprendizagem contínua
… o mundo das tecnologias
muda a uma velocidade
incrível…
… temos obrigação de o acompanhar dentro do possível…
… não conseguimos aprender
tudo, mas podemos ter
noção para quando
precisarmos…
… e não faltam
ferramentas…
Google StackOverflow
Livros Revistas
Blogs Podcasts Cursos Workshops …
… aprende à tua maneira, à
tua velocidade, mas procura
aprender continuamente …
workflow
… escolhe aquele com que te
sentes mais confortável e eficiente …
svn
git
hg
cvs
…
VSS
source control
iterações
histórias
pontos
integração contínua agile
tdd
bdd
stress-test
ux-testing
… testes
macros
scripts
batch
“migrations”
geradores de código
… automatização
dsl
orm
scaffolding
t4
frameworks
…
geradores de código
2 monitores
backups
ergonomia / conforto
organização
… eficiência
… quanto consegues
poupar? Que
desperdício consegues evitar? …
gestão
… o projecto demora sempre mais que o que
prevemos inicialmente…
… o cliente pede sempre mais do que pediu
inicialmente (e isso não é mau nem errado)…
… cuidado com as tuas
finanças. Organiza-te e
planeia estratégias e compras …
… o teu negócio não pode
estar escrito em pedra. Abraça
a mudança quando é
justificado …
missão
… a nossa
missão é simples …
… resolver os
problemas dos
nossos clientes / utilizadores …
… compreende os teus
utilizadores e as suas
dificuldades, resolve-as,
e saboreia o sucesso …