Job Description
Essential Job Functions
- Analyses and designs software modules, features or components of software programs and develops related specifications.
- Develops, tests, documents and maintains complex software programs for assigned systems, applications and/or products. Gathers and evaluates software project requirements and apprises appropriate individual(s).
- Codes, tests and debugs new software or enhances existing software. Troubleshoots and resolves or recommends solutions to complex software problems.
- Provides senior level support and mentoring by evaluating product enhancements for feasibility studies and providing completion time estimates. Assists management with the planning, scheduling, and assigning of projects to software development personnel.
- Ensures product quality by participating in design reviews, code reviews, and other mechanisms. Participates in developing test procedures for system quality and performance.
Required Technical and Professional Expertise
- 2 years and above experience in software development tools and methods; related software languages; test design and configuration; related systems, applications, products and services.
- Good written and verbal communication skills.
- Ability to test and analyze data and provide recommendations; to organize tasks and determine priorities; Ability to provide guidance to less experienced personnel.
- Enterprise applications using Java, J2EE and related technologies. Scripting languages like Python and Perl.
- Experience with backend technologies. (Spring, Hibernate, Kafka, SQL, REST APIs, Microservices, JSP, etc.)
- Hands-on experience with Databases like Oracle or similar
- Familiarity with cloud computing services such as AWS, Azure, GCP.
- Experience in design and development of UI. Knowledge of different flavors of js (React, Angular, Node etc.)