Performs activities that cover the entire software development lifecycle, from requirements gathering to supporting the final deployment of the features they developed, in accordance with agile development practices.
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, focusing on product quality and maintainability, including requirements, analysis and design, programming, configuration management, testing, and deployment.
Manage their own work, promptly informing the team of any delays or other impediments.
Mentor and provide support to developers on the software project development team.
Code and integrate software components according to technical specifications, using the project’s defined development tools, programming languages, and libraries.
Identify, build, and test developed components to ensure quality.
Perform evolutionary and corrective maintenance of software components.
Prepare technical documentation in accordance with the requirements of the contract under which they are working.
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 testing in the client environment to ensure full functionality of the software and its components.
Monitor acceptance testing and deployment of the software in the client environments according to the contract.
Conduct training and knowledge transfer to the client on the developed software to ensure proper system operation.
Understand the operation of information systems based on experimentation/observation and have 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.
Desirable certifications: Oracle Certified Professional – Java SE Programmer (version 5 or higher); CSD – Certified Scrum Developer; PSD – Professional Scrum Developer.
Desired experience: 3 years in systems development in distributed environments using a corporate Java stack.
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); Jenkins, Git, Maven, SonarQube; Testing: JUnit, TDD, ATDD; Messaging with MQ Series (IBM WebSphere MQ, JMS).