Descrição das atividades que o profissional irá realizar:
Compor o time de desenvolvimento, assumindo itens de trabalho para desenvolvimento a cada Sprint.
Realizar as atividades inerentes ao desenvolvimento – ênfase em programação - tais como análise e design, testes e programação.
Gerir seu próprio trabalho sinalizando prontamente para a equipe sobre eventuais atrasos ou outros impedimentos.
Experiência, Habilidades e conhecimentos necessários:
- o) Princípios e práticas de desenvolvimento de software ágil, incluindo o Manifesto Ágil, Scrum, Extreme Programming (XP) e Kanban;
- p) Análise de requisitos funcionais, não-funcionais e requisitos ágeis;
- q) Padrões de projeto (enterprise integration patterns, design patterns, SOA, microservices patterns);
- s) Arquitetura de aplicações em três camadas e modelo MVC;
- t) Interfaces responsivas e aplicações PWA;
- u) Integração entre sistemas: Mensageria, JMS, Web services, Barramento de serviços (WebSphere Message Broker), REST, EJB 3;
- w) User Experience (UX) e conceitos de usabilidade;
- x) Integração contínua (continuous integration), Jenkins, test-driven development (TDD), acceptance test-driven development (ATDD), especificação por exemplo, refactoring, entrega contínua (continuous delivery);
- y) Testes de software: teste de unidade, integração, sistema/funcional, aceitação/estória, carga, desempenho, vulnerabilidade, usabilidade, acessibilidade. Automatização de testes funcionais, de unidade e de carga com ferramentas de software. Testes de unidade em Java com a ferramenta JUnit 3 ou superior. Automatização de testes funcionais com a ferramenta Selenium Webdriver 2.4 ou superior e com Protractor. Testes de carga com JMeter 2 ou superior;
- z) Programação Java para Web: JEE 6 ou superior, JSE 5 ou superior, JSF versões 2.x, JPA 2 e Struts 1.x;
- aa) Programação de aplicações Java SWING;
- cc) Construção de consultas a bancos de dados em linguagem SQL;
- dd) Conceitos de controle de versão de código-fonte e uso das ferramentas Clearcase e GIT;
- ee) Conhecimento na utilização da IDE Eclipse;
- ff) Configuração de servidores de aplicação;
- gg) Design de interfaces de programação de aplicações (APIs);
- hh) Design de aplicações baseadas em microserviços e containers;
- ii) Arquitetura de aplicações multi-tenancy;
- jj) Conhecimento em soluções para processamento Batch em Java.
Certificação exigida:
Pelo menos uma das certificações abaixo:
- Oracle Certified Professional – Java EE Web Component Developer (versão 5 ou superior).
- Oracle Certified Professional – Java EE Persistence API Developer (versão 5 ou superior).
- Oracle Certified Professional – Java EE Web Services Developer (versão 5 ou superior).
- Oracle Certified Professional – Java EE Enterprise Architect (versão 5 ou superior).
Certificação desejada:
Pelo menos umas das certificações abaixo, ou equivalente:
Escolaridade:
a) Graduação em curso de nível superior na área de Tecnologia da Informação, ou conclusão de qualquer curso de nível superior acompanhado de certificado de curso de pós-graduação (especialização, mestrado ou doutorado) na área de Tecnologia da Informação de, no mínimo, 360 horas;