abraphp / CarreiraPHP

Sugestões de descrição de carreiras e cargos
464 stars 124 forks source link

Distinguir o Programador e o Analista Programador #7

Closed felipebastosweb closed 10 years ago

felipebastosweb commented 10 years ago

O perfil programador, sem formação de nível superior em Analise de Sistemas/Ciência da Computação/etc, está misturado com o que tem essa formação. Seria bom fazer esta distinção (pelo menos no Programador Junior).

Sugestão: Programador JR Analista Programador JR (Formado e sem experiencia na linguagem) Programador PL ou Analista Programador PL Programador SR ou Analista Programador SR

ivanrosolen commented 10 years ago

Não acho que no mercado formação seja um motivo de separar Analista programador e programador. Acho que com cursos e experiência uma pessoa sem formação pode virar analista ou até sem isso.

Conheço muitos caras bons de análise e arquitetura que não tem formação, pós ou algo assim

jackmakiyama commented 10 years ago

Geralmente quem é formado(e mal carater, que é a maioria) usa o diploma como um pseudo-conhecimento.

Acho interessante deixar isso como um alerta. Mas acho que não cabe aqui nas classificações.

felipebastosweb commented 10 years ago

Mas não dá para julgar pelas exceções. Programador é geralmente encarado como um recurso que não possui graduação (como definido em Programador JR). Como é de nosso conhecimento, existem bons Especialistas que não são Analistas por formação tradicional. Ainda não existe um regulamento para formalizar o Analista não graduado (Editais do Governo exigem nível superior). Então, o reconhecimento da distinção pelo governo pode ser uma boa referencia, até mesmo por que é o setor que oferece maiores salários para a categoria (Estadual e Federal). Esta distinção pode ser um comentário no texto, mas seria interessante ficar explicito. Além disto as responsabilidades de um programador são inferiores ao do analista, que desde o nível JR necessita ter conhecimento de engenharia, UML, etc. Mas é apenas uma sugestão.

evaldobarbosa commented 10 years ago

Não vejo a necessidade de separar analista e programador por causa de um "simples" curso de graduação na área de TI. Conheci caras formados em matemática, engenharia civil, elétrica e até medicina (cardiologista) que eram bons programadores e analistas. Alguns dos melhores profissionais que conheço não tem formação acadêmica ou mesmo não a completaram. Acho ruim tomar como base editais de governo também porque isso não necessariamente mostra competência de quem passou na prova em relação à área de TI - mais especificamente PHP. Já vi caras que só estudam para passar na prova e vão aprender o ofício mesmo lá dentro com caras que são mais experientes e nem formação tem. Vejo que neste primeiro momento devemos deixar apenas as classificações que temos aqui, definindo somente o escopo, porque quem mais nos emprega e/ou nos dá trabalho é a iniciativa privada e é ela que demanda o profissional atualizado e com fundamentos nas mais diversas áreas.

hussani commented 10 years ago

Não vejo porque distinguir um do outro, ao menos não por ter formação em nível superior ou não. Acho que pode haver bonificação por ter o diploma, mas não creio que vai ser ele que vai separar funções. O importante é ter conhecimento, independente de onde veio ele, e faculdade não certifica de maneira alguma que você está pronto para o mercado ou que vai ser um bom profissional. Enfim, não acho essa separação necessária.

felipebastosweb commented 10 years ago

Bom, concordo com todos que existem técnicos (não formados) que tem mais conhecimento do que analistas (formados) e devem ganhar mais, ter perfil de liderança, e podem abrir sua propria empresa e atuar na área, com os mesmos direitos de alguém formado. Mas, inclusive internacionalmente existe essa distinção. A forma como cada empresa vai contratar e remunerar é uma questão individual. O que está sendo definindo aqui é um padrão ou norma.

Vocês não vêem nenhum risco de dar brecha para 99,9% das empresas encararem os 100% dos técnico e o analista da mesma forma? Observem que a AbraPHP está se posicionando como uma organização que quer influenciar o mercado. O prejuízo que essa comparação igualitária pode causar a comunidade é muito grande.

ivanrosolen commented 10 years ago

@felipebastosweb Empresas não devem encarar programadores e analistas da mesma forma. Porém isso não é algo que uma faculdade defini. Temos muitos cursos de graduação ruins. Não é só porque alguém fez faculdade que está capacitado para ser um analista.

O que estamos argumentando aqui não é bonificação ou separação. Isso tem que existir, porém não por causa de um curso de graduação e sim conhecimento. Eu tenho faculdade e pós graduação, mas foi a minha experiência, cursos e estudos que aprendi arquitetura e análise. Na faculdade não aprendi o suficiente para isso.

evaldobarbosa commented 10 years ago

Concordo com ivanrosolen. Figurar como analista qualquer programador experiente pode fazer, não há um motivo para essa separação, a não ser o fato de que um cara na função de analista vá fazer única e exclusivamente isso. Eu costumo dizer que o mercado se autorregula no sentido da remuneração, o que falta é que nós, profissionais do PHP, tenhamos os parâmetros necessários (carreiraPHP e pesquisas sobre média salarial) e saibamos o quanto valemos. A ABRAPHP está ai pra ajudar nisso e os grupos de PHP dos Estados devem acompanhar a discussão para fomentar entre seus associados esse pensamento.

djhonyy commented 10 years ago

Eu vejo sim a necessidade de seperar programador e analista.

Eu já ponderei a respeito e acho que juridicamente, pode gerar um precedente trabalhista. Principalmente em empresas onde a estratificação funcional é clara e restrita.

Migrar o cara de Pleno para Programador Analista ou Programador Senio Analista não seria subir ele duas vezes de cargo/função? Ao mesmo tempo não seria manter ele em dois cargos distintos? Estou falando na visão trabalhista da coisa.

O cara é programador analista, blz, mas programador senior e analista junior/pleno/senior? Salarialmente ele deve ganhar mais do que um analista junior? Se o analista faz apenas a função de analista e o outro faz de programador senior e também de analista.

Na minha opinião.

2014-02-21 11:07 GMT-03:00 Evaldo Barbosa notifications@github.com:

Concordo com ivanrosolen. Figurar como analista qualquer programador experiente pode fazer, não há um motivo para essa separação, a não ser o fato de que um cara na função de analista vá fazer única e exclusivamente isso. Eu costumo dizer que o mercado se autorregula no sentido da remuneração, o que falta é que nós, profissionais do PHP, tenhamos os parâmetros necessários (carreiraPHP e pesquisas sobre média salarial) e saibamos o quanto valemos. A ABRAPHP está ai pra ajudar nisso e os grupos de PHP dos Estados devem acompanhar a discussão para fomentar entre seus associados esse pensamento.

Reply to this email directly or view it on GitHubhttps://github.com/abraphp/CarreiraPHP/issues/7#issuecomment-35732746 .

Atenciosamente,

Johnathan Cardoso Desenvolvedor Web

Celular: (48) 8829-6420 johnathancardoso@gmail.com

evaldobarbosa commented 10 years ago

@djhonyy, creio eu que se a empresa precisa de um cara pra trabalhar somente com análise, ela não vai precisar de um analista-programador, portanto não teria o problema trabalhista. Já no caso de ele precisar de analistas-programadores então as funções já estariam contidas no escopo do cargo e, portanto, deveriam ser remuneradas de acordo com a responsabilidade.

djhonyy commented 10 years ago

Exatamente, por isso julgo ponderado exisitir a separação, e também a união dos dois.

2014-02-21 15:04 GMT-03:00 Evaldo Barbosa notifications@github.com:

@djhonyy https://github.com/djhonyy, creio eu que se a empresa precisa de um cara pra trabalhar somente com análise, ela não vai precisar de um analista-programador, portanto não teria o problema trabalhista. Já no caso de ele precisar de analistas-programadores então as funções já estariam contidas no escopo do cargo e, portanto, deveriam ser remuneradas de acordo com a responsabilidade.

Reply to this email directly or view it on GitHubhttps://github.com/abraphp/CarreiraPHP/issues/7#issuecomment-35756250 .

Atenciosamente,

Johnathan Cardoso Desenvolvedor Web

Celular: (48) 8829-6420 johnathancardoso@gmail.com

felipebastosweb commented 10 years ago

Bom, pelo que estou pensando agora .. repensando minha questão .. o cargo programador deve ser pensado apenas como um técnico (dominar uma técnica), independente do nível de escolaridade.

Programar é aplicar a técnica de codificar sistemas.

Planejar, Projetar, Etc .. quem deve fazer? Repensando novamente, Criar UML, além de Interpretar, deve ser um requisito desejável. Existem várias formas de projetar o sistema, e UML é apenas uma das técnicas.

E em PHP Sênior eu colocaria com Extra a técnica de Continuous Integration (CI) e instalar/configurar/utilizar ferramentas para automatizar deploy. Como codificador, ele pode escolher a forma de integrar que for mais adequada para ele. Não é dever dele saber técnicas avançadas de entrega de produto.

No mais, repensarei o pull que iria mandar, sob essa nova perspectiva.

Gostaria de fechar o questionamento .. querem discutir ainda?

evaldobarbosa commented 10 years ago

Se não houver mais questionamentos sobre os cargos de programador, analista e analista com função de programador, acho que podemos fechar.

djhonyy commented 10 years ago

Mas qual a posição final?

2014-02-21 16:29 GMT-03:00 Evaldo Barbosa notifications@github.com:

Se não houver mais questionamentos sobre os cargos de programador, analista e analista com função de programador, acho que podemos fechar.

Reply to this email directly or view it on GitHubhttps://github.com/abraphp/CarreiraPHP/issues/7#issuecomment-35764375 .

Atenciosamente,

Johnathan Cardoso Desenvolvedor Web

Celular: (48) 8829-6420 johnathancardoso@gmail.com

felipebastosweb commented 10 years ago

Fases da Engenharia de Software : Análise, Projeto, Desenvolvimento, Testes, Implantação e Manutenção O Programador atuaria nas fases de desenvolvimento, testes e manutenção. Ele implementa de acordo com especificações de Analistas/Engenheiros, e o cronograma do Projetista (Gerente de Projetos). O Analista não deve ser encarado como programador embora algumas empresas utilizem disso para levar 2x1. Na definição dos cargos deve-se ter bem definido o que o Programador faz. O Programador deve Interpretar/Compreender as especificações (UML), e nada mais. O Programador deve codificar o sistema de acordo com normas de segurança, arquitetura, etc. Mas nao é dever dele criar isso. Concorda?

djhonyy commented 10 years ago

Felipe,

obrigado por elucidar as minhas dúvidas a respeito das fases da engenharia de softaware, mas esse não é o foco da minha pergunta.

As participações não foram unânimes sobre qual definição adotar, como foi uma discussão aberta e não apenas uma comunicação de decisão, perguntei se o assunto chegou a um concenso, o que parece não ter ocorrido.

2014-02-21 16:40 GMT-03:00 felipe bastos notifications@github.com:

Fases da Engenharia de Software : Análise, Projeto, Desenvolvimento, Testes, Implantação e Manutenção O Programador atuaria nas fases de desenvolvimento, testes e manutenção. Ele implementa de acordo com especificações de Analistas/Engenheiros, e o cronograma do Projetista (Gerente de Projetos). O Analista não deve ser encarado como programador embora algumas empresas utilizem disso para levar 2x1. Na definição dos cargos deve-se ter bem definido o que o Programador faz. Concorda?

Reply to this email directly or view it on GitHubhttps://github.com/abraphp/CarreiraPHP/issues/7#issuecomment-35765545 .

Atenciosamente,

Johnathan Cardoso Desenvolvedor Web

Celular: (48) 8829-6420 johnathancardoso@gmail.com

felipebastosweb commented 10 years ago

Mas ja esta claro que ...

Se tratando apenas do cargo Programador, quais seriam as suas responsabilidades.

Por estar muito focado na linguagem de programacao, nao cabe o Analista, como eu mesmo havia questionado, e os autores ja esclareceram desde o inicio.

E, tambem imagino que, ate entao, nao vai haver a descricao de outros casos, como expliquei com as fases da engenharia.

Nao e necessario que os autores do projeto venham esclarecer, ja que cheguei a resposta que queria. Em 21/02/2014 17:05, "Johnathan Cardoso" notifications@github.com escreveu:

Felipe,

obrigado por elucidar as minhas dúvidas a respeito das fases da engenharia de softaware, mas esse não é o foco da minha pergunta.

As participações não foram unânimes sobre qual definição adotar, como foi uma discussão aberta e não apenas uma comunicação de decisão, perguntei se o assunto chegou a um concenso, o que parece não ter ocorrido.

2014-02-21 16:40 GMT-03:00 felipe bastos notifications@github.com:

Fases da Engenharia de Software : Análise, Projeto, Desenvolvimento, Testes, Implantação e Manutenção O Programador atuaria nas fases de desenvolvimento, testes e manutenção. Ele implementa de acordo com especificações de Analistas/Engenheiros, e o cronograma do Projetista (Gerente de Projetos). O Analista não deve ser encarado como programador embora algumas empresas utilizem disso para levar 2x1. Na definição dos cargos deve-se ter bem definido o que o Programador faz. Concorda?

Reply to this email directly or view it on GitHub< https://github.com/abraphp/CarreiraPHP/issues/7#issuecomment-35765545> .

Atenciosamente,

Johnathan Cardoso Desenvolvedor Web

Celular: (48) 8829-6420 johnathancardoso@gmail.com

Reply to this email directly or view it on GitHubhttps://github.com/abraphp/CarreiraPHP/issues/7#issuecomment-35767992 .

djhonyy commented 10 years ago

Concordo.

Acho ponderado fecharmos essa então.

2014-02-22 10:11 GMT-03:00 felipe bastos notifications@github.com:

Mas ja esta claro que ...

Se tratando apenas do cargo Programador, quais seriam as suas responsabilidades.

Por estar muito focado na linguagem de programacao, nao cabe o Analista, como eu mesmo havia questionado, e os autores ja esclareceram desde o inicio.

E, tambem imagino que, ate entao, nao vai haver a descricao de outros casos, como expliquei com as fases da engenharia.

Nao e necessario que os autores do projeto venham esclarecer, ja que cheguei a resposta que queria. Em 21/02/2014 17:05, "Johnathan Cardoso" notifications@github.com escreveu:

Felipe,

obrigado por elucidar as minhas dúvidas a respeito das fases da engenharia de softaware, mas esse não é o foco da minha pergunta.

As participações não foram unânimes sobre qual definição adotar, como foi uma discussão aberta e não apenas uma comunicação de decisão, perguntei se o assunto chegou a um concenso, o que parece não ter ocorrido.

2014-02-21 16:40 GMT-03:00 felipe bastos notifications@github.com:

Fases da Engenharia de Software : Análise, Projeto, Desenvolvimento, Testes, Implantação e Manutenção O Programador atuaria nas fases de desenvolvimento, testes e manutenção. Ele implementa de acordo com especificações de Analistas/Engenheiros, e o cronograma do Projetista (Gerente de Projetos). O Analista não deve ser encarado como programador embora algumas empresas utilizem disso para levar 2x1. Na definição dos cargos deve-se ter bem definido o que o Programador faz. Concorda?

Reply to this email directly or view it on GitHub< https://github.com/abraphp/CarreiraPHP/issues/7#issuecomment-35765545> .

Atenciosamente,

Johnathan Cardoso Desenvolvedor Web

Celular: (48) 8829-6420 johnathancardoso@gmail.com

Reply to this email directly or view it on GitHub< https://github.com/abraphp/CarreiraPHP/issues/7#issuecomment-35767992> .

Reply to this email directly or view it on GitHubhttps://github.com/abraphp/CarreiraPHP/issues/7#issuecomment-35802211 .

Atenciosamente,

Johnathan Cardoso Desenvolvedor Web

Celular: (48) 8829-6420 johnathancardoso@gmail.com

eminetto commented 10 years ago

Fechei a issue pq entendi que a galera chegou a conclusão que poderíamos fazer isso.