Review product requirements and work with the user community to discuss the requirements.
Work with business user groups to understand business needs, provide scalable solutions, and collaborate with business community to come up with the efficient alternatives.
Work with the Technical lead to: prepare a design solution for the requirement, document with appropriate design artifacts such as high level design and low level design, and break the implementation plan into smaller deliverables and align to project timelines
Ensure software is built in a scalable manner and utilize Junit to test the code.
Work with business users in securing necessary sign offs for deliverables and coordinate for the product rollout which involves working on tools for building and deploying the software.
Investigate and solve issues in a timely manner for the software in the production environment.
Work on competing projects simultaneously and ensure quality of all deliverables.
Work on a global software development team and communicate status/design effectively across multiple regions.
Java, with an understanding of advanced topics including multi-threading environment, JDBC, Reflections, Generics and collection framework.
J2EE and Spring based web application development.
GUI design and MVC architecture.
Java unit testing tools including Junit and Mockito
AngularJS/ReactJS developing the front end for a web application.
Knowledge of SQL and DB2 or similar relational database in the context of software developed and maintenance.
Linux, including knowledge of UNIX commands to be able to analyze, maintain and develop server side scripts.
Design patterns, Object Oriented Programming and Best practices of coding.
Working across the entire SDLC lifecycle of product development, including requirements gathering; Functional and Technical Design; Development; User Acceptance Testing; Release Procedures; Change request analysis; and Production support.
Major source control system, such as SVN, client's, or GIT.
Working as a member of large development team on development projects and experience communicating effectively across a large development team and at the same time able to lead smaller teams to success.