Java Software Engineer
Posted on Apr 17, 2019 by Request Technology - Anthony Honquest
Java Software Engineer
The Software Engineers work as part of agile teams who own the inception, development and full life cycle of digital products. The team practices methodologies and adheres to principles put forth by the lean startup and lean enterprise movements. The team puts the system user at the center of everything they do; ensuring that users receive the most value out of the products being developed.
They work in a highly structured environment. They design their own systems to deliver their products using modern tools, technologies, frameworks, and systems. They own and manage running their application in production, and ultimately becomes accountable for the success of their digital products through achieving the KPIs.
The Software Engineer serves as a member of a product team. They practice and are the champions of the Agile methodology and a product mindset within each product team.
Software Engineer implements applications following agile principles to build out the product and iterative enhancements. He/she owns the development of software products; developing and implementing Back End services. He/she leverages integration to ensure agility and quality of products. He/she actively participates in the decision-making process of the team ensuring that the simplest appropriate technology and design is chosen to meet user needs.
- Participates in iteration planning meetings ensuring that the team has a common understanding of each story and chores in a team's backlog
- Participates in daily site, cross-site, and product team standups
- Participates in retrospectives to gather feedback and derive actionable items to improve the team and the product
- Participate in executing the strategy, keeping the customer needs and wants in mind
- Collaborates within the team in designing systems and apps
- Establishes continuous integration, continuous delivery, and continuous deployment pipelines and practices
- Provides support for software products in user environments
- Participates in knowledge sharing, and contributes to the overall growth of the collective knowledge of the Agile community.
- A college degree or equivalent experience in Computer Science or similar field, including a solid understanding of Computer Science fundamentals
- 2+ years of experience in design and development J2EE applications.
- Some Technical Leadership with the ability to mentor other developers.
- Some experience in application design, design patterns and performance tuning.
- Be productive in a fast-paced environment and work well with a diverse team of technical SMEs
- Ability to work well in a fast paced, constantly changing environment.
- Successful history of web projects delivered.
- Ability to clearly write technical specifications.
- Java/J2EE software development including Spring Framework using Annotation, JPA2 and Hibernate frameworks
- Strong communication, interpersonal and analytical skills.
- Must be able to clearly explain frameworks concepts and design patterns.
- Some web services development experience using Spring REST, JSON. Experience on SOAP and XML is Plus.
- Knowledge of Relational Databases Oracle and Microsoft SQL Server and ORM technologies (JPA2, Hibernate 4+)
- Profound insight of Java and J2EE internals (Classloading, Concurrency, Generics, Lamda, Memory Management, Transaction management etc) and Hibernate
- Experience with build tools - Gradle, Maven
- Experience with test-driven development using test frameworks such as Junit, Mockito and PowerMock.
- Experience with GIT, Jenkins, JIRA and Confluence
- Experience with deploying J2EE application using WebSphere or Tomcat
- Familiar with Idea IntelliJ and/or Eclipse.
- Experience in AWS Cloud and NoSQL database (Oracle 12c/Mongo) is a plus