Programador x Desenvolvedor x Arquiteto

Sergio,

Concordo com vc e eu procuro agir da forma correta. O que eu quis dizer é que as empresas não vêem os trabalhos desse profissionais como trabalhos diferentes, Na prática é uma escala sim. Normalmente o cara começa como trainee, depois programador júnior, pleno senior, etc. até arquiteto.

Não estou dizendo que é o certo o programador junior desenvolver um sistema sozinho decidindo até a arquitetura (se bem que já aconteceu comigo), mas é o que acaba acontecendo infelizmente. E, infelizmente, aprendí isso na cabeçada.

Abraço,

Então vamos lá…

Antigamente, rsrsr a alguns anos atráz tinhamos as profissões:

Programador. (Somente Executava)
Analista-Programador. (Levantava Requisitos, Planejava, Executava)
Analista de Sistemas. (Planejava, entendia muito do negócio e geralmente coordenava uma equipes)…

E vale lembrar, que um Analista de Sistemas sempre foi visto como um “Analista de Négócios”…

Acredito que a profissão de analista de sitemas deu origem as profissões,
Analista-Programador e Analista de Sistemas… estão dando lugar para o Desenvolvedor e Arquiteto …
com as atribuições que já discutimos… e agora estamos vendo muinto nas empresas apostarem nos
papeis do “Analista de Requisitos” e “Analista de Négócios”…

Tentando responder a pergunta do André Fonseca, quando não se usava UML… utilizavam,
e ainda utilizam os famosos DFD e os DER… Que para fazer um sistema pelo menos o mínimo de
planejamento deve existir…

De uma forma ou de outra sempre sempre teve uma pessoa planejando e outras executando…

Por experiência própia constatei isso:

Programador / Desenvolvedor / Arquiteto
Faz de tudo analisa desenha, implementa e em muitos casos ate testa.

Programador: Pode fazer de tudo, mas como não tem superior completo ganha esse título e menos $ que os demais.

Desenvolvedor: Faz de tudo, ganha esse título justamente por isso, senão teria um titulo mais especifico como Analista Programador ou Analista de Testes.

Arquiteto: Sabe fazer de tudo, profissional senior a muito tempo que se enquadra em um perfil mais técnico. Senão teria passado para gerencia de projetos ou arêa de negócios.

No fim das contas são títulos mais utilizados para classificar faixa $$$$.

Alguém discorda???

[quote=vitu]Por experiência própia constatei isso:

Programador / Desenvolvedor / Arquiteto
Faz de tudo analisa desenha, implementa e em muitos casos ate testa.

Programador: Pode fazer de tudo, mas como não tem superior completo ganha esse título e menos $ que os demais.

Desenvolvedor: Faz de tudo, ganha esse título justamente por isso, senão teria um titulo mais especifico como Analista Programador ou Analista de Testes.

Arquiteto: Sabe fazer de tudo, profissional senior a muito tempo que se enquadra em um perfil mais técnico. Senão teria passado para gerencia de projetos ou arêa de negócios.

No fim das contas são títulos mais utilizados para classificar faixa $$$$.

Alguém discorda???[/quote]

Concordo com vc.

Desenvolvedor e programador pra mim eh a mesma coisa, aqui na minha empresa nao tem ng com o cargo de programador os “programadores” tem o cargo de desenvolvedor.
Aqui os desenvolvedores sao os caras que codificam, so se dedicam a isso. A unica coisa extra que nos fazemos eh resolver algum coisa de suporte quando a equipe de suporte nao resolve.
Os arquitetos fazem basicamente a mesma coisa (desenvolvimento/ problemas de suporte mais complicados) porem eles sao responsaveis pela arquitetura do sistema, design banco de dados, classes, etc.

Pra falar a verdade eu nao acho que eles criam essas classificacoes para pagar mais ou menos, eu acredito que uma empresa que tem um programador ganhando X se mudassem o cargo pra desenvolvedor seria o mesmo valor X. Eh so um nome mais bonito.

//Daniel

Na minha opinião essa dúvida sempre vai gerar polemica pelo fato de não terem feito ainda algum tipo de “regulamentação” ou concenso no mercado do que venha a ser e quais seriam as obrigações e deveres de cada um destes profissionais. Não estou dizendo que isso tenha que ser feito e que essa seja a resposta.

Mas por que sempre aparecem essas dúvidas? Na minha opinião, são “sombras” de velhos paradigmas vindas da época em que os computadores eram enormes, caríssimos e difíceis de “operar” (comparando com os dias de hoje), para tocar em um equipamento daqueles precisava ter patente e/ou cargo bem definido, vamos dizer assim, isso sem falar das rigidas estratégias de construção das soluções (comparando com os dias de hoje) pois houve um dia que computadores não tinham nem monitores e por serem muito caros os erros tinha que ser evitados a todo custo.

Logo surgiu os microcomputadores (PC = Personal Computer => COMPUTADOR PESSOAL), a primeira intenção era para serem utilizados EM CASA e não na industria, e a segunda intenção era para ser uma coisa interessante que qualquer “bobo” conseguisse utilizar, só que, subtamente, a coisa saiu da cozinha e foi parar dentro da industria, foi também para outro lugar mas a idéia de que “qualquer um” poderia “mexer” continuou e deste então estes microcomputadores tem evoluido e ficado mais sofisticados só que QUESTÕES HUMANAS relacionadas a definições a respeito de QUEM, NÍVEL, PATENTE, CARGO etc… deva utilizar essas máquinas foram dexadas de lado, vamos dizer assim.

Resumindo…os microcomputadores estão dentro da industria e nas casas cumprindo seu papel (QUALQUER UM PODE/TEM CONDIÇÕES DE “MEXER”) e ninguem disse que pra fazer tal coisa tenha que ser programador, desenvolvedor, arquiteto ou sabe se mais o que como no “passado”.

Minha sugestão é a seguinte: esqueça as patentes, as fronteiras, os limites e tente fazer o trabalho da melhor maneira possível. Você vai deixar de dar uma sugestão ou fazer uma critica construtiva sobre uma arquitetura só porque vc é “PROGRAMADOR”? Essa é umas das idéias mais antigas e antiquadas que existe…

Desculpem ai o texto grande rsrsrsrsr

flws

É incrivel como tem gente que confunde desenvolvedor com analista…

Explicando:

  ((desenvolvedor == programador) != analista) != arquiteto

fui claro?

[quote=luistiagos]É incrivel como tem gente que confunde desenvolvedor com analista…

Explicando:

  ((desenvolvedor == programador) != analista) != arquiteto

fui claro?[/quote]

Não muito…
Pela tua afirmação um programador pode ser igual a um arquiteto.

[quote=luistiagos]É incrivel como tem gente que confunde desenvolvedor com analista…

Explicando:

  ((desenvolvedor == programador) != analista) != arquiteto

fui claro?[/quote]

:shock:

:shock: :shock:

[quote=berg.pb]
De forma análoga:
Arquiteto…Mestre de Obras
Programador/Desenvolvedor…Pedreiro (peão)[/quote]

Colocaria um pouquinho diferente…

Arquiteto…Engenheiro
Desenvolvedor…Mestre de Obras
Programador…Pedreiro(peão)

[quote=claudneto][quote=berg.pb]
De forma análoga:
Arquiteto…Mestre de Obras
Programador/Desenvolvedor…Pedreiro (peão)[/quote]

Colocaria um pouquinho diferente…

Arquiteto…Engenheiro
Desenvolvedor…Mestre de Obras
Programador…Pedreiro(peão)[/quote]

Faltou:

*Analista de sistemas…Arquiteto (de obras)
Arquiteto…Engenheiro
Desenvolvedor…Mestre de Obras
Programador…Pedreiro
*Micreiro…Auxiliar de servente

Programador e desenvolvedor eh a mesma coisa.
Alguem que pensa o contrario, explica ae qual a diferenca.

//Daniel

[quote=windsofhell] Programador e desenvolvedor eh a mesma coisa.
Alguem que pensa o contrario, explica ae qual a diferenca. [/quote]

Programador éra o cargo utilizado até os anos 90 eu acho, só codificava e entendia de fluxogramas; o desenvolvedor tem que fazer tudo isso e também entender de analise.

P.S. Até os anos 90 cargos: digitador/perfurador, operador, programador, analista e gerente.

[quote=fantomas][quote=windsofhell] Programador e desenvolvedor eh a mesma coisa.
Alguem que pensa o contrario, explica ae qual a diferenca. [/quote]

Programador éra o cargo utilizado até os anos 90 eu acho, só codificava e entendia de fluxogramas; o desenvolvedor tem que fazer tudo isso e também entender de analise.

P.S. Até os anos 90 cargos: digitador/perfurador, operador, programador, analista e gerente.

[/quote]

Programador: Pessoa que escreve programas de computador.
Desenvolvedor: Pessoa que desenvolve programas de computador. (desenvolvimento engloba um pouco mais do que escrita do programa)
Arquiteto de software: Pessoa que idealiza e formaliza a estrutura de um programa de computador.
Projetista de software: Sinônimo para arquiteto de software.
Analista de sistemas: Pessoa responsável por definir e formalizar o que deve fazer um programa de computador.

Até julho estava na minha carteira de trabalho escrito “programador”, embora na prática eu fosse programador, desenvolvedor e arquiteto.

EDIT: Ah, e essas definições são independentes de como essas pessoas fazem o que devem fazer. Não importa se escrevem documentos, desenham fluxogramas ou diagramas UML, escrevem código, perfuram cartões ou seja lá o que for, ou seja, os cargos não dependem da metodologia utilizada (as metodologias são o meio, e não os fins).

[quote=fantomas][quote=windsofhell] Programador e desenvolvedor eh a mesma coisa.
Alguem que pensa o contrario, explica ae qual a diferenca. [/quote]

Programador éra o cargo utilizado até os anos 90 eu acho, só codificava e entendia de fluxogramas; o desenvolvedor tem que fazer tudo isso e também entender de analise.

P.S. Até os anos 90 cargos: digitador/perfurador, operador, programador, analista e gerente.

[/quote]

Nao estou convencido, nao estamos mais nos anos 90 e eu continuo vendo anuncios de programador, analista.

Ok. O que seria esse “um pouco mais do que escrita” ?? Porque eu sou desenvolvedor, maior parte do tempo eu so faco programacao as vezes eu dou uns palpites na arquitetura. Eu vou reclamar no rh da minha empresa que eu nao sou desenvolvedor eu sou programador entao. Eh isso ?

[quote=luistiagos]É incrivel como tem gente que confunde desenvolvedor com analista…

Explicando:

  ((desenvolvedor == programador) != analista) != arquiteto

fui claro?[/quote]

Claramente errado.
Desenvolvedor nao é a mesma coisa que programador.

Programador é uma coisa, Analista de Sistemas é outra e Desenvolvedor, outra. (As 2 primeiras em processo de extincao)

Se quiser enteder a diferença dos 2 sugiro ler as atribuições das seguintes certificações da Sun: SCJP e SCJD

PS: Nao vamos entrar aki em discussoes se essas certificacoes valem ou nao alguma coisa. Estamos falando apenas das atribuicoes

[quote=windsofhell][quote=fantomas][quote=windsofhell] Programador e desenvolvedor eh a mesma coisa.
Alguem que pensa o contrario, explica ae qual a diferenca. [/quote]

Programador éra o cargo utilizado até os anos 90 eu acho, só codificava e entendia de fluxogramas; o desenvolvedor tem que fazer tudo isso e também entender de analise.

P.S. Até os anos 90 cargos: digitador/perfurador, operador, programador, analista e gerente.

[/quote]

Nao estou convencido, nao estamos mais nos anos 90 e eu continuo vendo anuncios de programador, analista.

Ok. O que seria esse “um pouco mais do que escrita” ?? Porque eu sou desenvolvedor, maior parte do tempo eu so faco programacao as vezes eu dou uns palpites na arquitetura. Eu vou reclamar no rh da minha empresa que eu nao sou desenvolvedor eu sou programador entao. Eh isso ?

[/quote]

Escrita de código + teste + documentação + treinamento de usuário + escrita de manual + arquitetura + manutenção + análise + qualquer outra coisa necessária. Mas 90% do trabalho é escrita de código.

Não, você não vai reclamar no RH por isso. O nome do cargo é o de menos, o que importa é se você exerce a função que lhe cabe e se receb uma remuneração de acordo com ela. Atualmente sou “analista de projetos e processos sênior” na minha carteira de trabalho. É um nome bem vago e amplo. No banco me cadastraram como “industriário” pelo simples fato de que trabalho em uma indústria, embora não exerço nenhuma atividade relacionada ao processo de produção industrial. O que faço na verdade: sou programador, arquiteto, desenvolvedor e provavelmnte em breve vou acabar dando uma de DBA e de analista também.

Como disse antes, “sombras” de velhos paradigmas…como ninguém definiu nada e o rh precisa de parametros para determinar o $ e outras coisa mais fica desse jeito :?

Acho que não, o importante é aprender, portanto quanto mais palpites melhor muito embora eu passei por uma empresa que até o trainee dava palpite nos projetos o efeito disso era que chegava uma hora que o trainee achava que tava “podendo muito” e começava a reivindicar posição e $, o RH não queria saber e o “coro comia” as vezes acabava em demissão ou em fuga, tem coisa que entendo mas não compreendo. :shock:

flws

Eu concordo com o victorwss Programar é diferente de desenvolver.
Programar é simplesmente utilizar a linguagem e as ferramentas para fazer o programa fazer alguma tarefa. Contudo o programador normalmente não decide a estrutura necessária para fazer a tarefa. Normalmente ele enxerga a tarefa apenas por ele mesma e não enxerga “the big picture” o desenvolvedor enxerga a big picture e minimiza o numero de classes, acoplamento, dependência, etc… de forma que o sistema faça as tarefas, mas elas sejam um organismo e não apenas um conjunto de codigo desconexo. O que diferencia o programador do desenvolvedor é este grau de abstração. Um programador vê códido, variáveis. Um bom programador vê até objetos , mas vê poucas relações entre eles. O desenvolvedor vê mais além ele vê padrões, estruturas, repetição de conceitos ( não apenas de tarefas) etc…
A arquiteto vê mais além ainda, ele vê tecnologias, custos , trade-offs, etc…

Acho que quando vc diz “palpites na arquitetura” vc quer dizer “palpites na estrutura das classes”- isso é coisa de desenvolvedor (não de arquiteto). O que distingue de um desenvolvedor de um programador, é que o programador dá palpites, enquanto o desenvolvedor tem que escolher e arcar com as conseqüências. O mesmo entre o desenvolvedor e o arquiteto.

O analista é um personagem que não faz nenhuma escolha tecnica - nenhuma - sendo apenas o trabalho dele levantar os requisitos. Principalmente ele tem que ter a certeza que o cliente não está ocultando informações relevantes e/ou que o cliente ignora as conseqüências dos seus requisitos.

Sem comentarios… :shock: