Performs activities that cover the entire software development lifecycle, from requirements gathering to supporting the final deployment of the features he or she has developed, in line with agile development processes.
Participate in the development team, taking on work items for development each Sprint;
Carry out development-related activities such as analysis and design, programming, testing, and requirements gathering;
Execute software development activities in a multidisciplinary way, with a focus on product quality and maintainability, including requirements, analysis and design, programming, configuration management, testing, and deployment;
Manage your own work, promptly notifying the team of any delays or other impediments;
Guide and provide support to the developers on the software development project team;
Code and integrate software components according to technical specifications, using the development tools, programming languages, and libraries defined for the project;
Identify, build, and test developed components to ensure quality;
Perform evolutionary or corrective maintenance of software components;
Produce technical documentation in accordance with the contractual requirements of the project;
Integrate produced components with those built by other team members using the integration tool defined for the project;
Set up and configure a local development environment according to the project’s requirements and needs;
Provide support to the IT team and client users, when requested, regarding the characteristics and specifics of the developed components, modules, and software packages;
Deliver and execute integration tests in the client environment to ensure full functionality of the software and its components;
Monitor acceptance testing and deployment of the software in client environments as established in the contract;
Conduct training and knowledge transfer to the client about the developed software to ensure the system’s proper functioning;
Understand the operation of information systems through experimentation/observation and have the ability to refactor legacy web systems.
Requirements
Bachelor’s degree in Information Technology, or completion of any undergraduate degree supplemented by a postgraduate certificate (specialization, master’s, or doctorate) in Information Technology of at least 360 hours.
Knowledge of Java SE 8+, Java EE, Spring Framework 3.x+, MicroProfile; JPA, JDBC, Hibernate, SQL; Design Patterns, MVC, 3-tier architecture; RESTful APIs, SOAP, Swagger/OpenAPI; Application servers: IBM WebSphere Application Server (WAS), IBM WebSphere Liberty (Liberty Profile), Red Hat JBoss EAP (WildFly), Quarkus (Red Hat); Jenkins, Git, Maven, SonarQube; Testing: JUnit, TDD, ATDD; Messaging with MQ Series (IBM WebSphere MQ, JMS).