Job
Description
The Impact you will have in this role:
The Development family is responsible for creating, designing, deploying, and supporting applications, programs, and software solutions. May include research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities related to software products used internally or externally on product platforms supported by the firm. The software development process requires in-depth subject matter expertise in existing and emerging development methodologies, tools, and programming languages.Software Developers work closely with business partners and / or external clients in defining requirements and implementing solutions. The Software Engineering role specializes in planning, documenting technical requirements, designing, developing, and testing all software systems and applications for the firm. Works closely with architects, product managers, project management, and end-users in the development and enhancement of existing software systems and applications, proposing and recommending solutions that solve complex business problems.Your Primary Responsibilities:
Participate in requirements capturing with Product owners, business users and domain specialists and come up with a sophisticated solution design adhering to the best design patterns. Write clean, self-documenting code following standard methodologies on coding incorporating unit testing. Technology Selection assists in technology selection decisions; handles technology risk for the project team Perform business and technical presentations in relation to technology platforms and solutions addressing the business problems. Environments work with Infrastructure partners to choose efficient hosting environment requirements Elaboration works with the Functional. Architect to ensure that functional & non-functional requirements are complete and appropriate. Provide ongoing maintenance support for the applications during Post-deployment support phase. In-depth understanding of all aspects of the Java platform and the Spring family of frameworks. Extensive work in Java / multithreading, Spring, Spring Boot/Microservices, Hibernate, Apache, Junit. Messaging Services SOAP, RESTful API, JMS, IBM MQ and Web Scripting including JavaScript, HTML, CSS. Relational Database Management SystemOracle PLSQL, independently writing package/store procedure/function, query-optimizing.
Qualifications:
8+ years' experience in application development and system analysis. 3+ years of technical team leadership experience.
Talents Needed for Success:
Proven Core Java including Collections, multi-threading concepts with a working experience on J2EE along with Framework knowledge Spring/Spring boot Knowledge of any JavaScript framework - like Angular Experience in oracle databaseOracle PLSQL,independently writing package/store procedure/function, query-optimizing. Hands-on experience in application development Extensive hands-on experience with Leading software development projects Designing and developing systems that align with architectural standards and best practices Promoting and developing talent of colleagues Java (Core & EE, Spring Boot, Spring MVC, Spring Cloud) UI/UX (Angular or equivalent) SCM / DevOps / CI/CD tools & process (GIT/Bitbucket, Maven, Ant, Jenkins, Sonar) Web Technologies (JavaScript, HTML 5, CSS, JSON, REST, SOAP) Testing tools & frameworks (Jasmin/Karma, JUnit, Selenium, Cucumber, Mockito) Agile Methodology and Tools (JIRA) Experience with Micro Services & Layered (SOA/MVC) Architecture Experience with Integration patterns and messaging technologies (Solace, Kafka, RabbitMQ) Experience with Caching solutions (REDIS, Gemfire, EHCache) Demonstrable Understanding with Cloud deployments (Private Cloud / AWS / Azure) Experience with Cloud Platforms, Container/Orchestration (Docker, Kubernetes, Cloud Foundry) Good to have experience with IaC tools like - Terraform, Chef & Ansbile Fosters a culture where honesty and transparency are expected. Stays current on changes in his/her own specialist area and seeks out learning opportunities to ensure knowledge is up-to-date. Invests effort to individually coach others. Builds collaborative teams across the organization. Communicates openly keeping everyone across the organization informed.
Actual salary is determined based on the role, location, individual experience, skills, and other considerations.