[off-topic] Definição de cargos: junior, pleno, senior, master

85 views
Skip to first unread message

jeferson perito

unread,
Feb 15, 2012, 7:26:32 AM2/15/12
to python...@googlegroups.com
Olá pessoas

Desculpe pelo off-topic (creio que é permitido), gostaria de saber como vocês definem essa evolução horizontal nas suas empresas ou empresas que trabalham. Acho o tema um pouco abstrato e não consigo identificar um profissional claramente como um junior, pleno, senior, master... principalmente o pleno que ta no meiao :)

O que define exatamente um programador/engenheiro de software pleno por exemplo?

Abraços

--
Atenciosamente,

Jeferson Viana Perito

www.jefersonperito.com

Filipe Cifali

unread,
Feb 15, 2012, 7:34:16 AM2/15/12
to python...@googlegroups.com
Tempo e experiência aqui, em trono de 6 meses a 2 anos de acordo com as habilidades.

--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

Vinicius Assef

unread,
Feb 15, 2012, 9:23:03 AM2/15/12
to python...@googlegroups.com
Assunto polêmico, mas vou tentar me intrometer.

Há algumas nuances para analisar um profissional. Tempo na profissão,
experiências e capacidade técnica são apenas algumas delas, mas isso é
muito subjetivo.

Vou citar alguns exemplos para deixar as coisas mais claras.
1) Um cara estudou Python sozinho, sabe tudo da linguagem de cor e
salteado, mas nunca fez nenhum trabalho para ninguém. Só projetos
pessoais que não foram usados.
2) Outro cara tem muito tempo de experiência. Já trabalhou integrando
sistemas, projetou e implementou rotinas de missão crítica, mas não
sabe muito de Python.
3) Outra pessoa já foi gerente, já tentou ter o próprio negócio e sabe
lidar bem com pessoas, agregando e motivando os colegas. Conhece bem a
linguagem de programação, mas é cru no framework.
4) Um outro é mediano em lógica de programação e não tem muita
experiência em diferentes sistemas. Mas sabe extrair informação dos
clientes, conseguindo esclarecer regras de negócio complicadas e fala
bem a linguagem do pessoal de TI e dos clientes, além de despertar a
confiança das pessoas.

E aí? Dessa lista acima, quem você classificaria como júnior, pleno ou sênior?

Claro, depende do perfil de profissional que você precisa.
Portanto, eu não atrelaria tempo de trabalho à classificação.

Vou citar o meu caso. Desenvolvo software há 24 anos. Se me
contratarem para programar em Lisp (e somente programar, sem abrir a
boca), pode me pagar como estagiário que estará bem justo. Mas, se
além de programar eu puder dar pitaco no projeto de sistema, se eu
puder entrevistar usuários, aí a coisa muda de figura, mesmo eu sendo
(ainda) um zero à esquerda em Lisp.

Só pra constar: um caso parecidíssimo com esse aconteceu comigo, mas
não com Lisp. Eu coordenei uma equipe que faria o desenvolvimento em
Power Builder e em Sybase, dentro das instalações do cliente. Eu não
conhecia nada de nenhuma das duas tecnologias. Não fui pago como
júnior e em pouco tempo estava eu lá, desenvolvendo junto com a turma.

--
Vinicius Assef

2012/2/15 Filipe Cifali <cifali...@gmail.com>:

Filipe Cifali

unread,
Feb 15, 2012, 9:29:24 AM2/15/12
to python...@googlegroups.com
Sim, é bem específico isso, o que pretendia relacionar seria

Tempo e experiência no cargo.

Um programador PHP com 10 anos nas costas e 2 meses de python pode ser mais valioso que outro com 2 anos de python.

Porque?

Por causa da experiência,  a linguagem muda e o desenvolvedor consegue se adaptar a ela, já a experiência ganha ao longo dos anos, práticas, só se ganham com o tempo.

Henr"Ikke" Pereira

unread,
Feb 15, 2012, 9:33:05 AM2/15/12
to python...@googlegroups.com
2012/2/15 Filipe Cifali <cifali...@gmail.com>

Sim, é bem específico isso, o que pretendia relacionar seria

Tempo e experiência no cargo.

Um programador PHP com 10 anos nas costas e 2 meses de python pode ser mais valioso que outro com 2 anos de python.

Ou ele pode ser pior que um programador com 1 mês de Python e que nunca programou na vida...
 

Porque?

Por causa da experiência,  a linguagem muda e o desenvolvedor consegue se adaptar a ela, já a experiência ganha ao longo dos anos, práticas, só se ganham com o tempo.


Os péssimos hábitos de programação também. 



--
Henr"Ikke" G.G. Pereira
+55 (55) 9619-7499
|_|0|_|
|_|_|0|
|0|0|0|

Filipe Cifali

unread,
Feb 15, 2012, 9:36:50 AM2/15/12
to python...@googlegroups.com
Também, para isso existem períodos de "experiência" nas empresas.

Bruno Rocha

unread,
Feb 15, 2012, 9:37:21 AM2/15/12
to python...@googlegroups.com

Para algumas empresas é só um modo de justificar diferenças salariais.

Mas acho que o conceito é:

Junior: Estou aprendendo, cheio de força de vontade e disposto a ralar mais e ganhar menos até aprender.

Pleno: Já sei fazer o trabalho, sou fluente na tecnologia mas ainda não tomo decisões criticas

Senior: Sou foda, programo de olho fechado, dou as dicas para os juniores e tomo as decisoes criticas, além de programar entendo do negócio.

mas de qq forma este tema é abatrato demais e hj em dia serve só para definir salário.

http://zerp.ly/rochacbruno

edson araujo corral

unread,
Feb 15, 2012, 9:41:19 AM2/15/12
to python...@googlegroups.com


(Ou ele pode ser pior que um programador com 1 mês de Python e que nunca programou na vida...

Os péssimos hábitos de programação também. )

- Discordo completamente, ate por que um programador que tem 10 anos de experiencia sabe muito bem o que sao boas praticas de programacao.. :)



Henr"Ikke" Pereira

unread,
Feb 15, 2012, 9:47:51 AM2/15/12
to python...@googlegroups.com
2012/2/15 edson araujo corral <edsc...@gmail.com>



(Ou ele pode ser pior que um programador com 1 mês de Python e que nunca programou na vida...

Os péssimos hábitos de programação também. )

- Discordo completamente, ate por que um programador que tem 10 anos de experiencia sabe muito bem o que sao boas praticas de programacao.. :)


Nós estavamos entrando na terra das suposições...

"It is practically impossible to teach good programming style to students that have had prior exposure to Basic; as potential programmers they are mentally mutilated beyond hope of regeneration." —Edsger Dijkstra

 


--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

jeferson perito

unread,
Feb 15, 2012, 10:20:47 AM2/15/12
to python...@googlegroups.com
Acho que só tempo de programação não é único item que define o tipo na minha opinião...
Conheço carinha que tem 8 anos de programação, só conhece PHP e passou os 8 anos fazendo blog boa parte procedural e acha que orientação à objetos é só colocar funções dentro de classe. Na minha opinião esse profissional não é sênior (apesar que na carteira dele está), pois as técnicas de desenvolvimento evoluiram e ele desenvolve como os desenvolvedores faziam nos anos 80... Apesar que ele deve ter boa experiência em lidar com cliente pode ser levado em conta.

Acho que tem que ser avaliado os níveis de como o cara concebe a arquitetura de software, se ele utiliza boas práticas de programação (vulgo engenharia de software), de como ele realiza a entrega.

Que técnicas ele leva em conta ao tocar um projeto, SOLID e TDD são um exemplo.

Talvez uma fórmula do tipo: 
(tipos de projetos que trabalhou + técnicas + tecnologia que conhece) + experiência² / experiência

a divisão pela experiência pudesse chegar mostrar se o profissional está estagnado ou está sempre buscando se atualizar...

Me perdoem se estou viajando muito, passei a noite em claro e to trabalhando a base de café forte :)


Carlos Ribeiro

unread,
Feb 15, 2012, 10:32:33 AM2/15/12
to python...@googlegroups.com
2012/2/15 jeferson perito <jefp...@gmail.com>

O que define exatamente um programador/engenheiro de software pleno por exemplo?

Como já foi comentado, tempo é uma forma simplificada de definir. O que conta mesmo é o nível de produtividade e autonomia do profissional, que por sua vez depende da experiência, que pode ser avaliada (grosseiramente) pelo tempo de carreira.

Um profissional júnior está no início de carreira. Tem pouca experiência e produziu poucos projetos, portanto, é um profissional que não trabalha sozinho ainda. Ele precisa de ajuda e orientação dos outros para definir o rumo do trabalho. Em geral o programador júnior trabalha em cima de tarefas - tickets, atividades, etc. - bem definidas passadas por um analista (modelo "tradicional") ou por um programador senior.

Um júnior leva seis meses a até um ano, ou dois anos (casos extremos) para chegar a pleno. Depende da pessoa, mas também depende muito do ambiente e do nível de exigência. Com a falta de pessoal, programadores muito verdes já tem sido elevados a pleno, sem que necessariamente preencham os requisitos acima.

O profissional pleno já está com a carreira andando. Ele já possui um domínio das ferramentas de trabalho e é capaz de assumir tarefas de forma mais independente. Uma das marcas de um profissional pleno é o nível de conforto com o jargão, ou com o linguajar da área. Você pode conversar com um programador pleno sem preocupar se ele sabe o que significam termos que para você (assumindo que você é pleno ou senior) são corriqueiros.

O pleno é um profissional que tipicamente, tem de um ano a cinco anos de experiência. De novo, depende da pessoa, do ambiente (tecnologia utilizada) e do nível de exigência. Vale também a ressalva feita para o júnior: há casos que passam para pleno e depois para senior com pouquíssima experiência, o que pode acabar custando caro ao longo do desenvolvimento da carreira no futuro, pela falta de uma base sólida.

O senior é um profissional maduro, capaz de "destrinchar" problemas complicados. São os principais responsáveis, entre outras coisas, por formar e orientar profissionais júnior ou pleno. Há dois tipos de profissionais senior: aqueles que são tecnicamente muito capazes, com perfil de especialista; e aqueles que além do sólido conhecimento técnico aliam capacidade de comunicação. A tendência desses segundos é se transformar em bons líderes de equipe, ou até mesmo seguirem carreira executiva.

Há profissionais que atingem um nível senior em muito pouco tempo - dois anos é um objetivo relativamente comum entre programadores iniciantes. Mas sendo realista, um programador senior precisa ter pelo menos 3 a 5 anos para que possa dizer que acumulou bagagem suficiente, incluindo variedade de projetos, para exercer a função de "senior". Eu tendo a ser mais exigente e acho que três anos, só se a pessoa for MUITO boa. Para a maioria dos profissionais, pelo menos cinco anos são necessários.

Espero ter ajudado!!!
--
Carlos Ribeiro
Consultoria em Projetos
twitter: http://twitter.com/carribeiro
blog: http://rascunhosrotos.blogspot.com
mail: carri...@gmail.com

Léo Renis Rodrigues

unread,
Feb 15, 2012, 10:32:56 AM2/15/12
to python...@googlegroups.com
Eu concordo com o Jeferson Perito! Acredito o que deve categorizar um profissional é a experiência e o domínio a respeito da tecnologia proposta.
Att,
Léo Renis R. dos Santos
Fone: (61) - 82153577

Bruno Rocha

unread,
Feb 15, 2012, 10:36:03 AM2/15/12
to python...@googlegroups.com

2012/2/15 jeferson perito <jefp...@gmail.com>

Que técnicas ele leva em conta ao tocar um projeto, SOLID e TDD são um exemplo.

Ai a coisa já fica muito mais abstrata e polêmica, pois escolher um programador por ele saber "SOLID", "TDD", "XYZ" é meio que opção de quem está contratanto e não define nada em relação ao conhecimento do profissional.

Nem todo mundo precisa fazer TDD
Nem todo programador precisa ser engenheiro ou cientista

Nem todo Pythonista precisa do Django (essa última foi só pra trolar..rs)

E ainda assim podem ser ótimos profissionais ultra mega seniores, isso é muito relativo.

--

Magno Junior

unread,
Feb 15, 2012, 10:38:14 AM2/15/12
to python...@googlegroups.com
Em 15 de fevereiro de 2012 13:20, jeferson perito <jefp...@gmail.com> escreveu:
Acho que só tempo de programação não é único item que define o tipo na minha opinião...
Conheço carinha que tem 8 anos de programação, só conhece PHP e passou os 8 anos fazendo blog boa parte procedural e acha que orientação à objetos é só colocar funções dentro de classe. Na minha opinião esse profissional não é sênior (apesar que na carteira dele está), pois as técnicas de desenvolvimento evoluiram e ele desenvolve como os desenvolvedores faziam nos anos 80... Apesar que ele deve ter boa experiência em lidar com cliente pode ser levado em conta.

Acho que tem que ser avaliado os níveis de como o cara concebe a arquitetura de software, se ele utiliza boas práticas de programação (vulgo engenharia de software), de como ele realiza a entrega.

Que técnicas ele leva em conta ao tocar um projeto, SOLID e TDD são um exemplo.

Talvez uma fórmula do tipo: 
(tipos de projetos que trabalhou + técnicas + tecnologia que conhece) + experiência² / experiência

a divisão pela experiência pudesse chegar mostrar se o profissional está estagnado ou está sempre buscando se atualizar...

Me perdoem se estou viajando muito, passei a noite em claro e to trabalhando a base de café forte :)


Cara, a realidade é que teu valor é tu quem faz.
Se tu acredita que deve ganhar X ou Y,  tu e teu cliente (ou empregador) que vao entrar em acordo se é isso mesmo ou não. É simples assim.
Não interessa se o cara só programa em uma linguagem, se não conhece conceitos avançados de programação ou se o cara programa a 20 ou 30 anos. O marketing pessoal e a capacidade de influenciar as pessoas é que vai determinar quanto ele vai ganhar.
 

jeferson perito

unread,
Feb 15, 2012, 10:49:40 AM2/15/12
to python...@googlegroups.com
SOLID e TDD foram apenas exemplos... conhecer algumas técnicas não define se o cara é bom ou ruim, mas talvez possa mostrar a gama de "martelos" que o cara pode utilizar para cada tipo de "prego" que pretendem pregar. ;)

--
------------------------------------
Grupo Python-Brasil
http://www.python.org.br/wiki/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com

Gustavo Henrique Lima Pinto

unread,
Feb 15, 2012, 10:52:54 AM2/15/12
to python...@googlegroups.com
simples, basta perguntar quais os livros que ele já leu.

2012/2/15 jeferson perito <jefp...@gmail.com>

Henr"Ikke" Pereira

unread,
Feb 15, 2012, 10:54:26 AM2/15/12
to python...@googlegroups.com
2012/2/15 Gustavo Henrique Lima Pinto <gustavohe...@gmail.com>

simples, basta perguntar quais os livros que ele já leu.

Se ele responder alguma coisa relacionada com Eclipse tu já sabe o que acontece...



--

Leonardo Santagada

unread,
Feb 15, 2012, 1:22:56 PM2/15/12
to python...@googlegroups.com
2012/2/15 Henr"Ikke" Pereira <ikk...@gmail.com>:

> 2012/2/15 Gustavo Henrique Lima Pinto <gustavohe...@gmail.com>
>>
>> simples, basta perguntar quais os livros que ele já leu.
>
>
> Se ele responder alguma coisa relacionada com Eclipse tu já sabe o que
> acontece...

Numa entrevista para uma empresa grande para trabalhar com python o
entrevistador me pergunta se eu entendo de integração continua, e
quando eu respondi que sim ele me pede para listar todos os softwares
de integração continua que eu conheço. É um telefonema e eu tenho a
wikipedia, será q ele ficou brabo porque eu listei 50 em ordem
alfabetica? Isso depois de eu ter falado da gangue dos quatro e ele
não saber do que eu estou falando, ai eu falo design patterns e ele
continua não sabendo do que eu estou falando.

Sério, experiencia não quer dizer qualidade e muito menos quantas
ferramentas tu conhece. Mas não conhecer nem de nome o design patterns
me deixa triste (donald knuth e the art of computer programming então,
muito triste (xkcd então, bem depressivo)).

:)

--

Leonardo Santagada

Roger Demetrescu

unread,
Feb 15, 2012, 2:27:24 PM2/15/12
to python...@googlegroups.com
2012/2/15 Leonardo Santagada <sant...@gmail.com>:

> Sério, experiencia não quer dizer qualidade e muito menos quantas
> ferramentas tu conhece. Mas não conhecer nem de nome o design patterns
> me deixa triste (donald knuth e the art of computer programming então,
> muito triste (xkcd então, bem depressivo)).


Como assim !!??

Tem gente que não conhece o xkcd !!!?? :-O

;)

Abs

Carlos Ribeiro

unread,
Feb 15, 2012, 2:36:14 PM2/15/12
to python...@googlegroups.com
2012/2/15 Bruno Rocha <rocha...@gmail.com>

Junior: Estou aprendendo, cheio de força de vontade e disposto a ralar mais e ganhar menos até aprender.

Pleno: Já sei fazer o trabalho, sou fluente na tecnologia mas ainda não tomo decisões criticas

Senior: Sou foda, programo de olho fechado, dou as dicas para os juniores e tomo as decisoes criticas, além de programar entendo do negócio.

Gostei do resumo. É o que eu disse com MUITAS palavras a mais, só que bem resumido.

E discordo um pouco de quem acha que isso é "só salário". Alguma diferenciação é necessária, e essa "escala" ajuda a pessoa a se orientar também.

--
Reply all
Reply to author
Forward
0 new messages