Última atualização: 26/Agosto/2014
No mercado SAP, principalmente no Brasil, as empresas e consultorias adoram separar profissionais SAP (incluindo ABAP) em três grandes grupos.
- Júnior
- Pleno
- Sênior
ABAP Júnior
Aquele que está começando na carreira e precisa que lhe digam qual o caminho certo das coisas. Alguém que termina uma academia/curso ABAP tipicamente se encaixa neste perfil.
ABAP Pleno
Aquele que já sabe se virar mas ainda precisa de alguma ajuda para algo mais complexo
ABAP Sênior
Aquele que apesar de nunca saber tudo (pois não dá), tem que ser capaz de resolver qualquer problema que apareça em sua área. Tipicamente um ABAP Sênior tem algum conhecimento um pouco mais profundo em algum módulo funcional.
Sobre a Matriz de conhecimento
Particularmente não gosto desta divisão pois ela é extremamente subjetiva. Ainda, seu uso parece estar muito mais relacionado com a remuneração a ser feita do que com uma possível divisão de carga de trabalho.
Esta página tem como objetivo tornar a divisão entre ABAP Júnior, ABAP Pleno e ABAP Sênior menos subjetiva. Isso é feito mapeando muitos dos skills técnicos de um profissional ABAP usados no seu dia a dia. Após cada skill há uma definição de qual grupo de profissional deve tê-lo baseado na opinião pessoal do autor desta página. Caso você discorde com as definição posta, leia até o final desta página.
[table caption=’Data Type & Data Objects’]
Skill, Júnior, Pleno, Sênior,
Usar Tipos primitivos,X,X,X
Declarar tipos locais,X,X,X
Tipos de variáveis & estruturas locais & tipos de tabela local,X,X,X
Usar variáveis primitivas,X,X,X
Declarar variáveis primitivas,X,X,X
Variáveis simples & work areas & tabelas internas,X,X,X
Usar Work areas e tabelas internas aninhadas,X,X,X
Usar tabelas internas standard & sorted & hashed,X,X,X
TYPE vs LIKE,X,X,X
Usar tabelas internas com header line (cabeçalho),X,X,X
Usar estrutura SYST,X,X,X
Comandos de work area (move corresponding; clear; etc),X,X,X
Comandos de tabela interna (APPEND;INSERT;SORT;READ TABLE;LOOP AT),X,X,X
Declarar field-symbols,X,X,X
Usar Field symbols em LOOPs e READ TABLE,X,X,X
[/table]
[table caption=’Lógica Imperativa’]
Skill, Júnior, Pleno, Sênior
Operadores matemáticos,X,X,X
Funções pré definidas de números e strings (strlen; charlen; etc),X,X,X
Processamento de caracteres/datas/hora (shift; translate; get time; convert time stamp),X,X,X
IF & CASE,X,X,X
Comparativos (=;EQ; IS INITIAL; CA; CO;etc),X,X,X
Laços (DO; WHILE),X,X,X
[/table]
[table caption=’DDIC’]
Skill, Júnior, Pleno, Sênior
Criação de domínios,X,X,X
Reutilização de domínios,X,X,X
Criação de elementos de dados,X,X,X
Reutilização de elementos de dados,X,X,X
Criação de tipos de tabela,X,X,X
Reutilização de tipos de tabela,X,X,X
Estruturas & tipos de tabela aninhados,X,X,X
Criação de Tabelas Transparentes,X,X,X
Impactos das configurações técnicas de tabelas transparentes,X,X,X
Tipos de Tabela x Tabelas transparentes,X,X,X
Visões,X,X,X
Traduções para objetos do DDIC,X,X,X
Documentação para objetos do DDIC,X,X,X
Criação de diálogo de manutenção,X,X,X
Customização de diálogo de manutenção,,,X
Criação de transação para diálogo de manutenção,X,X,X
Search Helps,X,X,X
Lock Objects,X,X,X
Type Pools,X,X,X
Utilitário do banco (SE14),,X,X
SE16,X,X,X
SE16N,X,X,X
Data Modeler (SD11),,,,
[/table]
[table caption=’ABAP Dinâmico’]
Skill, Júnior, Pleno, Sênior
SELECT dinâmico,,X,X
RTTS,,X,X
Funções dinâmicas,,X,X
Criar programas dinâmicos,,,X
[/table]
[table caption=’Programação Estruturada (Procedural)’]
Skill, Júnior, Pleno, Sênior
FORM,X,X,X
Grupos de função,,X,X
Módulos de função,X,X,X
Reutilização de Telas,,X,X
BAPIs,,X,X
Habilitar RFC,X,X,X
Tratamento de exceções procedurais,X,X,X
Macros,,X,X
[/table]
[table caption=’Module Pool’]
Skill, Júnior, Pleno, Sênior
Criação de Telas,X,X,X
Reutilização de Telas em Grupos de Função,,X,X
PBO,X,X,X
PAI,X,X,X
LOOP AT SCREEN,X,X,X
At exit-command,X,X,X
OK Code,X,X,X
CHAIN & FIELD,X,X,X
Popups & Modais,X,X,X
Sub Telas,X,X,X
Tab Script,X,X,X
Table Control,,X,X
Custom Container,,X,X
GUI Status,X,X,X
Titlebar,X,X,X
[/table]
[table caption=’Orientação a Objetos’]
Skill, Júnior, Pleno, Sênior
Classes locais,X,X,X
Classe globais,X,X,X
Interfaces locais,X,X,X
Interfaces globais,X,X,X
Estático vs Instanciável,X,X,X
Visibilidade,X,X,X
Herança,X,X,X
Polimorfismo,X,X,X
Eventos,X,X,X
Friends,,X,X
Padrão de Projeto Singleton,X,X,X
Padrão de Projeto Factory,X,X,X
ABAP Unit,,X,X
ABAP Object Services,,,X
Shared Memory Objects,,,X
[/table]
[table caption=’Enhancements’]
Skill, Júnior, Pleno, Sênior
Estruturas Append,,X,X
User Exit,X,X,X
Customer Exit,X,X,X
BTE,,X,X
Field Exit,,X,X
Search Help Exit,,X,X
BADi,,X,X
Nova Badi,,,X
Enhancements Implícitos,,,X
Enhancements Explícitos,,,X
Enhancements de WDA (ver tabela “Web Dynpro”)
[/table]
[table caption=’Web Dynpro’]
Skill, Júnior, Pleno, Sênior
MVC,,X,X
Componentes Web Dynpro (View & Window & Component Controller),X,X,X
Desenho de Layout,X,X,X
Criação e Conexão de Links de Navegação,X,X,X
Criação de Aplicação Web Dynpro,X,X,X
Definição de Contexto,X,X,X
Binding de propriedades de layout,X,X,X
Web Dynpro Phase Model,X,X,X
Code Wizard,X,X,X
Screen Design Time Conversion,X,X,X
API Web Dynpro,,X,X
Chamadas de serviço,,X,X
Custom Controller,,X,X
Assistance Classes,,X,X
Web Dynpro Trace Tool,,,X
Cross-Component Design,,X,X
Component Interface,,X,X
Search-Helps & OVS & Input Helps,,X,X
Popups & Mensagens,,X,X
Programação Dinâmica (Contexto-UI),,,X
Configuração e Adaptação,,X,X
Enhancements,,X,X
[/table]
[table caption=’BSP’]
Skill, Júnior, Pleno, Sênior, Extra
Em breve
[/table]
[table caption=’+ Web & Mobile’]
Skill, Júnior, Pleno, Sênior, Extra
SAP Console,,,,X
Standalone ITS,,,,X
ITS Integrado,,,,X
Javascript,,,X
SAP UI5,,,,X
Web Services,,,,X
REST,,,,X
OData,,,,X
NewWeaver Gateway,,,,X
SAP Fiori,,,,X
Floorplan Manager (FPM),,,,X
[/table]
[table caption=’SAP Script’]
Skill, Júnior, Pleno, Sênior
Em breve
[/table]
[table caption=’SmartFroms’]
Skill, Júnior, Pleno, Sênior
Em breve
[/table]
[table caption=’Adobe Forms’]
Skill, Júnior, Pleno, Sênior
Em breve
[/table]
[table caption=’Outros’]
Skill, Júnior, Pleno, Sênior,Extra
Streaming,,,X
Debugger Scripting,,,X
BRFPlus,,,X
ABAP on Hana,,,,X
[/table]
Ser um desenvolvedor não significa só saber programação
Esta matriz baseia-se puramente em skills técnicos. Obviamente os skills técnicos contam na hora da entrevista e no dia a dia mas não são os únicos fatores a serem considerados. Por exemplo:
- Você jamais será um Sênior se não falar inglês.
- Você jamais será um Pleno se não conhecer a metodologia de desenvolvimento usada na sua empresa.
- Você jamais será um Júnior caso não consiga se comunicar escrita e verbalmente.
Sugestões de skills
Se você percebeu que algum skill importante em ABAP está faltando na matriz, por favor comente abaixo e eu incluirei. Se você tem uma sugestão mas está 100% que deveria estar na matriz, comente abaixo explicando porquê um ABAP deveria ter este skill.
Discorda com a definição?
Tudo bem, pois como eu disse, esta definição é subjetiva. Caso queira dar seu voto, comente abaixo que você tem interesse. Caso um número considerável de pessoas queiram manifestar sua opinião, eu criarei um Google Forms no qual as pessoas podem responder. Uma vez que tenhamos respostas de várias pessoas eu posso atualizar a tabela desta página não mais com somente minha opinião mas de quem votou.
Importante: só faz sentido dar sua opinião quem já se auto-intitula Sênior. Caso você seja um ABAP Júnior ou Pleno, você provavelmente não tem a experiência necessária para dizer o que um ABAP Sênior deveria saber. Como ninguém nasce Sênior, somente estas pessoas deveriam manifestar o interesse neste caso.
Aguardo muitos comentários,
Fábio Pagoti
Streaming? wtf is dat
Oi Fawcs,
Streaming é uma maneira nova no ABAP de ler e escrever uma grande massa de dados (por exemplo um arquivo XML) no banco de dados. Com esta técnica é possível por exemplo ler um arquivo de 100 MB por partes, um pedaço de 5 MB por vez. Assim a memória interna do programa não estoura.
Este assunto é abordado no livro The Next Generation of ABAP Development.
Leia mais em:
http://help.sap.com/abapdocu_702/en/abenstreams_locators.htm
Abraços!
Bacana isso ai, consigo pensar em algumas aplicações para coisas que já desenvolvi… o f*da eh compatibilidade!
Como assim compatibilidade? Realmente o streaming só está presente nas versões mais recentes do NetWeaver mas isso se resolve com o tempo.
Ah sim, eu tenho que desenvolver as coisas compativeis com versões mais antigas do SAP(4.7) =( eu até brinco com essas funcionalidades mas não posso utilizá-las
Ah sim entendo. O importante é se manter atualizado. Por isso o minisap é essencial para se tornar um ABAPer melhor.
Parabéns Fábio Pagoti, blog mto bom pra quem quer entra no mundo do SAP ABAP, estou cursando abap e tinha algumas duvidas, sobre ABAP jr. Sucesso Fábio Pagoti
Obrigado.
Obrigado pelo feedback Richard! Aproveite bastante o conteúdo oferecido.
Olá Fábio, bom dia,estou na TI desde 1997 trabalhando com infra e um pouco saturado, andei buscando algo novo e desafiador para fazer e não encontrava nada, mas a empresa que trabalho esta colocando um Business One e comecei a me interessar pelo mundo SAP e com o perfil técnico que tenho logo fui consultar qual era a linguagem de programação usada e logo descobri o ABAP e ao pesquisar sobre o mesmo descobri o seu site, que revela muita coisa legal tanto tecnicamente quanto em termos de carreira entre outras dicas valiosas, fico feliz que atitudes como a sua estejam ajudando pessoas como eu que buscam novos desafios e quem sabe melhores oportunidades, meus sinceros agradecimentos e um forte abraço.
Olá Alexandre!
Obrigado pelo reconhecimento. Aproveite o blog ao máximo!
Fábio, geralmente uma mudança de nível de Jr. pra Pleno e depois pra Senior leva quanto tempo?
O tempo que você precisa para fazer por merecer.
Oia rapaz, filosofou bonito kkkk..
Saquei!
Não é filosofia, é a realidade do mercado. O crescimento profissional no mundo capitalista é meritocrata. Isso não é só em SAP.
Estava brincando, mas entendi. A dúvida surgiu enquanto eu lia o post. Perguntei antes de pensar.
No fundo é difícil mensurar esse tempo, mesmo que houvesse uma pesquisa, só iria satisfazer uma curiosidade, pois a realidade de cada um é uma.
Onde fazer um curso para começar Fabio, em São Paulo
Fabiano,
Sou instrutor na Ka Solution (unidade Centro). Eu recomendo muito as aulas lá mas não posso decidir por você.
Bons estudos!
Oi Fábio,
Me formei em ciência da computação em 2006 e desde então nunca trabalhei na área, pois era empresário. Mas hoje estou um pouco saturado do que faço e busco uma colocação. Me recomendaram fazer uma academia SAP. Como fui gestor de empresa, quase caiu para o SAP FI, mas resolvei entender um pouco mai obre esse mundo e me interesse bastante por ABAP, poi gosto na área de desenvolvimento. Estou em contato com o comercial da KA Solution e pretendo fazer a academia em breve. Estou apenas captando recur$o$. Ao terminar a academia, você acha que é difícil encontrar uma colocação no mercado como ABAP Júnior. PS.: tenho hoje 31 anos. A ideia pode ser um problema por nunca ter atuado na TI? Uma amiga era de outra área. De ADM. Fez academia em FI e conseguiu colocação.
Igor,
Estas dúvidas já foram extensivamente discutidas no site. Recomendo fazer uma busca pela categoria mercado.
O módulo de FI é um módulo de Finanças e não Gestão.
Abraços!
Muito Legal o texto, estou migrando de Júnior para Pleno e acredito que segundo seu texto eu me encaixo perfeitamente como pleno, existem coisas que você colocou somente senior e eu já sei.. estou completando 1 ano e 10 meses de ABAP , e já estou começando a utilizar workflow!
Valeu pelas dicas vou investir no mercado com menos receio de receber “Bombas” e não saber como resolver! rs
Flw!
Que bom Rodrigo. O negócio é não parar de estudar.
Sou Junior ainda e gostei bastante desses comparativos, ainda mais sabendo que sei bastante conteúdo de Pleno e Sênior…
Que bom que gostou Fabiana!
Lembre-se que a lista é puramente técnica e que há expertises ainda não preenchidos (que em grande maioria não são para Jr).
Abraços!
Fabio
Não sou ABAP, mas gosto de me aventurar e aprender um pouco mais. Também me formei na KA Solution, Morumbi. Legal Goste Muito!
A titulo de informação…Cheguei aqui por intermédio o GOOGLE , procurando saber mais sobre BADIs. Show! Parabéns esta tudo muito bem explicado de forma didática, com muita clareza, realemente percebo que Você manja muito mesmo, amigo!!.
Um abraço
Muito Obrigado
Nós agradecemos Marcos.
Bons estudos.
Fabio, tenho interesse em me ingressar no mundo ABAP. Estou pesquisando sobre o assunto, porem na net não encontrei nenhum material didático para iniciantes. Você poderia indicar alguma apostila ou algum material para quem quer aprender desde o inicio?
http://abap101.com/voce-e-novo-por-aqui/
“Você jamais será um Sênior se não falar inglês”
Acho que para qualquer um dos grupos, isto é fundamental. Também não gosto deste tipo de divisão (assim como as de ingles; básico/iniciante, intermediário, avançado/fluente).
Olá Ricardo! Obrigado pelo comentário!
Vou ainda mais longe… quantas vezes ouvi pessoas dizerem que “sabem inglês”.. mas não conversação. Para mim é o mesmo que falar que sabe jogar futebol mas só não sabe chutar a bola.
Abraços!
Acredito que a divisão entre junior, pleno e senior seja necessário para as empresas contratantes de profissionais definirem o salário do profissional. O que acho incorreto é vincular essa categorização ao tempo de experiência ou até mesmo às tecnologias que o profissional conhece. Acredito que o profissional deve ser valorizado pela sua capacidade de lidar com situações, principalmente, pelas quais ainda não passou com a mesma destreza que lida com as situações que já tem costume. Além disso acredito que a capacidade de lógica propor soluções técnicas para as necessidades dos clientes seja o grande diferencial. Mas tudo isso que citei é muito subjetivo, demorado e difícil de ser avaliado, portanto muitas empresas recorrem à indicações de profissionais conhecidos, o que dá uma garantia maior. Uma pena que os profissionais juniores não possam se beneficiar dessa prática, pois às vezes, apesar de terem sido ótimos programadores em outras linguagens e terem uma boa destreza em ABAP, são desprezados pelo mercado por não ter uma ampla rede de contatos em SAP.
Olá!
Business Server Pages é uma tecnologia antiga ou pouco utilizada?
Lembro que meu instrutor de ABAP comentou que era raro utilizar…
Já morreu.
Já morreu, mas existem manutenções ainda sendo realizados – garoto TPM.
(…) responda aos leitoras com um pouco mais de simpatia ou, ao menos, um pouco menos de egocentrismo.
Muito bom seu post
Fabio
precisa atualizar esses ” em breve” que constam do texto, no mais está otimo
Em breve atualizo
2016 e aqui estamos, muito bom o post!!!
Super bacana, poderia ser atualizado para os dias de hoje!
Bom dia! Achei o post muito pertinente! Acredito que compartilhar conhecimento engrandece a pessoa, fortalecesse a categoria e fortalece relações. Hora provemos, hora recebemos o conhecimento. Sempre trabalhei com outras áreas relacionadas a TI e agora estou com o desafio de me autocapacitar como Abaper. gostaria de pedir para enviar ou criar um post com um estudo dirigido. com muito foco, de abap 0 – chegarei a um nível que consiga ajudar nossos usuários… acredito que esta seja a nossa missão — viabilizar para as pessoas o que elas realizam ou gostariam de realizar.
aguardo contato.
Alguém sabe o que um ABAP deve fazer para funcionar SAP WorkFlow?
Olá Fábio tudo bem?
Atualmente trabalho com administração do SAP EP e lider de projetos de n módulos, porém há cerca de 2 anos venho realizando cursos da openSAP e entendo como funcionam SAPUI5, Gateway, Fiori LP para tentar migrar para desenvolvimento SAPUI5 / Fiori, uma vez que já trabalhei como desenvolvedor web full stack usando HTML5, CSS3, jQuery, AJAX no front e Java / .NET no backend.
Porém por não dispor de muito recurso financeiro para bancar uma lista de cursos oficiais, estou com algumas dúvidas:
1. Caso eu opte por fazer a formação SAPUI5 / Fiori, terei chance no mercado brasileiro?
2. Seria mais prudente eu fazer a formação ABAP (TAW10, TAW11, TAW12) da KaSolution para competir no mercado SAP (mesmo como júnior), uma vez que UI5 e Fiori são tenologias novas no Brasil e o Gateway é baseado no ABAP?
Agradeço desde já.
Ah.. estou me programando para fazer os cursos de SAPUI5/Fiori da OVLY!