About the role
Responsibilities:
- Responsible for the development and maintenance of applications with technologies involving Enterprise Java and distributed technologies.
- Collaborate with developers, product managers, business analysts, and business users in conceptualizing, estimating, and developing new software applications and enhancements.
- Assist in the definition, development, and documentation of software's objectives, business requirements, deliverables, and specifications in collaboration with internal users and departments.
- Collaborate with the QA team to define test cases and metrics and resolve questions about test results.
- Assist in the design and implementation process for new products and research and create POC for possible solutions.
- Develop components based on business and/or application requirements.
- Create unit tests in accordance with team policies and procedures.
- Advise and mentor team members in specialized technical areas as well as fulfill administrative duties as defined by the support process.
- Work with cross-functional teams during crises to address and resolve complex incidents and problems, in addition to assessment, analysis, and resolution of cross-functional issues.
Requirements:
- Bachelor's degree or equivalent in computer science.
- 5+ years' experience in Core Java and Enterprise Java Technologies (J2EE technologies (JSP, Servlets, JavaScript, JPA, and Web/UI technologies)).
- Experience in open-source frameworks like Spring IO, Spring MVC, Spring Hibernate, and Spring Boot.
- Experience with the following tools: Eclipse, Maven, Gradle, DB tools, and Bitbucket/JIRA/Confluence.
- Experience with the following application servers: Apache Tomcat 6 x, JBoss 4.0
- Can develop SOA services and has good knowledge of REST API and microservice architectures.
- Solid knowledge of web architecture and design patterns.
- Hands-on experience with JavaScript UI frameworks is desirable (Backbone, Angular, React, etc. ).
- Hands-on experience in the cloud (AWS/Azure/GCP) will be preferred.
- Understands software security practices, including user authentication and authorization, data validation, and an understanding of common DOS and SQL injection techniques.
- Familiar with profiling, code coverage, logging, common IDEs, and other development tools.
- Scripting Languages: JSP and Servlets, JavaScript, XML, HTML, Python, and Bash.
- Familiar with Agile Methodologies: SCRUM and strong communication skills (verbal and written).
- Ability to work within tight deadlines and effectively prioritize and complete tasks in a high-pressure environment.
- Demonstrated verbal and written communication skills and ability to interface with business, analytics, and IT organizations.
- Ability to work effectively in a short-cycle, team-oriented environment, managing multiple priorities and tasks.
- Ability to identify non-obvious solutions to complex problems.
Behavioral Attributes:
- Team player with excellent interpersonal collaboration skills.
- Strong verbal and written communication.
- Possesses a can-do attitude to overcome challenges with high energy levels.
- Self-motivated, directed, and passionate.