Imprescindível:Diploma de graduação em TISólida experiênciaConhecimento em:- Princípios e práticas de desenvolvimento de software ágil, incluindo o Manifesto Ágil, Scrum, Extreme Programming (XP) e Kanban;- Análise de requisitos funcionais, não-funcionais e requisitos ágeis;- Padrões de projeto (enterprise integration patterns, design patterns, SOA, microservices patterns);- Modelagem de dados relacional;- Arquitetura de aplicações em três camadas e modelo MVC;- Interfaces responsivas e aplicações PWA;- Integração entre sistemas: Mensageria, JMS, Web services, Barramento de serviços (WebSphere Message Broker), REST, EJB 3;- Javascript, ECMAScript 5 e 6 ou superior, Ajax, JQuery, Angular JS 1.5 ou superior e Bootstrap 3 ou superior, HTML 5, XML, CSS 3 e ASP;- User Experience (UX) e conceitos de usabilidade;- 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);- 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;- Programação Java para Web: JEE 6 ou superior, JSE 5 ou superior, JSF versões 2.x, JPA 2 e Struts 1.x;- Programação de aplicações Java SWING;- Análise estática de código com a ferramenta SonarQube;- Construção de consultas a bancos de dados em linguagem SQL;- Conceitos de controle de versão de código-fonte e uso das ferramentas Clearcase e GIT;- Conhecimento na utilização da IDE Eclipse;- Configuração de servidores de aplicação;- Design de interfaces de programação de aplicações (APIs);- Design de aplicações baseadas em microserviços e containers;- Arquitetura de aplicações multi-tenancy;- Conhecimento em soluções para processamento Batch em Java.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.