ESSENTIAL DUTIES AND RESPONSIBILITIES:
- Work with business stakeholders, project managers, business analysts, and other IT teams to understand the business needs and their requirements.
- Work with a nimble team of software engineers and enterprise architects to ensure the solutions meet our business needs using Agile methodologies in a fast-paced environment.
- Will often require to take a lead role in the entire development cycle, conduct design and code reviews, and have a heavy input throughout the process, from requirements to production deployment.
- Able to shift between priorities as needed throughout the workday.
- Create technical system specifications and ensure documentation remains current throughout all phases of the SDLC.
- Raise up opportunities, enhancements, and process improvements. Communicate timely status, including any potential risks/issues of the assignments to management.
- Research, design, define, develop, test, document and implement new service APIs or changes to existing services. Participate in test planning, development, and execution for integration and system testing.
- Learn new software tools and skills as needed. Keep up with the technologies. Provide mentoring to other development staff on technical topics.
- Support and maintain applications utilizing required tools and technologies. Ensure applications are scalable and operate efficiently in the production environment.
- Ability to research issues across multiple key systems and databases. Assist customers and team members on issue resolution and problem-solving.
- Participate in an on-call rotation to provide system support outside of normal working hours.
- Comfortable working in an open, dynamic, rapidly changing environment where collaboration is crucial.
- Extended hours may require during peak workloads or special projects.
- Must be self-motivated and take initiative.
- The above information on this description has been designed to indicate the general nature and level of work performed by employees within this classification. It is not designed to contain or be interpreted as a comprehensive inventory of all duties, responsibilities and qualifications required of employees assigned to this job.
Technical Skills
- 5+ years of experience in java middle-tier applications in a J2EE environment within the US
- Strong familiarity with API management, micro-services, Java/J2EE application stacks
- Strong experience working in an Agile/Scrum environment
- Experience in large scale applications – either public-facing web applications or applications with large numbers of concurrent users.
- Experience with either on-line or in-store retail selling applications
Deep hands-on experience with the following technologies:
- Deep technical hands-on experience developing in REST/JSON or SOAP/XML
- Experience developing solutions in AWS, Azure, and/or Google Cloud Platform.
- Experience with Docker, or related container-oriented technologies (i.e. Docker Enterprise Edition, Kubernetes, etc.).
- Comfortable implementing continuous integration / continuous delivery process for applications using technologies such as Jenkins and Git.
- Experience with Test Driven Development, including writing and implementing automated unit, system, and integration tests.
- Experience with relational databases (Oracle 11g or above, SQL Server). Experience with NoSQL databases including Cassandra and MongoDB.
- Experience building microservices using Spring Boot
- Experience building applications that work with IBM MQ, JBoss and Tomcat, JPA and Hibernate
- Working knowledge of EJB 3 or above
- Experience developing and deploying applications on Linux/Unix/AIX servers
- Experience creating and consuming REST API services with JSON
- Experience defining tables and creating SQL queries using Oracle (preferred) or another database platform (DB2, MySQL, SQL Server)
- Experience creating and configuring deployments in Jenkins
- Experience using Unix command line and Bash/Shell/Python scripting to automate tasks, etc.
- Experience with Subversion (SVN) and GIT source control; Maven and Ant; JIRA, Confluence, Grails, web security experience such as WS-Security; Eclipse-based IDEs
- Experience using JUnit and Gatling to write automated tests
- Experience with designing and conducting performance/stress tests on applications, analyzing and leveraging these results to improve application throughput and response time.