Performs activities covering the entire software development lifecycle, from requirements gathering to supporting the final deployment of the features they develop, in line with agile development methodologies.
Join the development team, taking ownership of work items for each Sprint.
Carry out development-related activities such as analysis and design, programming, testing, and requirements.
Execute software development activities in a multidisciplinary manner, with focus on product quality and maintainability, including requirements, analysis and design, programming, configuration management, testing, and deployment.
Manage their own work, promptly notifying the team of any delays or impediments.
Mentor and provide support to developers on the software project development 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 corrective and evolutionary maintenance of software components.
Prepare technical documentation in accordance with the contractual requirements of the engagement.
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 project 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 validation and deployment of the software in client environments as established in the contract.
Provide training and knowledge transfer to the client on the developed software, ensuring proper system operation.
Understand the behavior of information systems through experimentation and observation, and possess the ability to refactor legacy web systems.
Requirements
Bachelor's degree in Information Technology, or completion of any undergraduate degree accompanied by a postgraduate certificate (specialization, master's or doctorate) in Information Technology of at least 360 hours.
Oracle Certified Professional – Java SE Programmer (version 5 or higher).
CSD – Certified Scrum Developer.
PSD – Professional Scrum Developer.
Minimum of 3 years of experience developing systems in a distributed environment using an enterprise Java stack.
Technical knowledge: Java SE 8+, Java EE, Spring Framework 3.x+, MicroProfile; JPA, JDBC, Hibernate, SQL; Design Patterns, MVC, three-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); CI/CD and tooling: Jenkins, Git, Maven, SonarQube; Testing: JUnit, TDD, ATDD; Messaging: MQ Series (IBM WebSphere MQ) and JMS.