**Engenheiro de software com ênfase em ambiente Web**:
Linguagens de programação para Web Java, Javascript, Python, Typescript;
Linguagens e notação html, CSS3, JSON, markdown, asciidoc;
Princípios e práticas de desenvolvimento de software ágil, tais como os especificados no item 11 do Anexo 01 - AgiTSE - Framework de Desenvolvimento de Software do TSE.
Padrões de projeto (enterprise integration patterns, design patterns, microservices patterns);
Arquitetura de aplicações para ambiente web, arquitetura em três camadas, modelo MVC;
Domain-driven design (DDD).
Modelagem de dados relacional.
**Integração entre sistemas**: Mensageria, Web services, REST, EJB.
Integração contínua (continuous integration), test-driven development (TDD);
Publicação de aplicações em plataformas como serviço (Platform as a service - PaaS).
Refactoring;
Entrega contínua (continuous delivery).
Análise estática de código.
**Testes de software**: teste de unidade, integração, sistema/funcional, aceitação/histó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 4 ou superior. Automatização de testes funcionais com a ferramenta Selenium Webdriver 2.4 ou superior. Testes de carga com JMeter 2 ou superior.
Construção de consultas a bancos de dados em linguagem SQL
Controle de versão de código-fonte e outros artefatos com uso das ferramenta GIT 2 ou superior A Combinar Experiência profissional em codificação de software, testes de software, análise e projeto de software, análise de negócio, modelagem de dados, gerência de configuração, manutenção de software ou gerenciamento de requisições e incidentes relativos à sustentação de software. 15 anos de experiência em TI, e 6 anos em Engenheiro de Software. Carga Horária: seg a sex
Sem informação
Experiência profissional em codificação de software, testes de software, análise e projeto de software, análise de negócio, modelagem de dados, gerência de configuração, manutenção de software ou gerenciamento de requisições e incidentes relativos à sustentação de software. 15 anos de experiência em TI, e 6 anos em Engenheiro de Software.