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.
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;
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, Empresa importante, 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.