Assess gaps/updates/modifications between the customer/business expectations and the existing product/solutions.
Classify the requirements into applicable types.
Anticipate the solution risks/issues during requirements gathering phase, inform relevant stakeholders and recommend corrective steps.
Contribute to the creation of user stories for component/application/complex.
Assist in design of solutions such that the processes/applications work in tandem for specific components/modules of a product.
Evaluate trade-offs while designing a component based on the business requirements.
Assist in conversion of HD (High Level Design) to create detailed design using mock screens, pseudo codes and detailed functional logic of the modules for specific modules/components of a product.
Create/configure minimalistic code for entire component/application and ensure the components are meeting business/technical requirements, non-functional requirements, low-maintainability, high-availability and high-scalability needs.
Assist in the selection of appropriate languages, development standards and tools for software coding/configuration.
Take initiative to learn the fundamentals of different coding languages and frameworks that would be useful for future scope of work.
Build scripts for automation of repetitive and routine tasks in CI/CD, Testing or any other process.
Implement telemetry features as required independently.
Ensure security policy requirements are properly applied to components/application during code development/configuration.
Map the customer requirements in to test objectives.
Identify and create test cases for the component/module.
Execute test cases to test the code and detect errors and defects for the entire component.
Execute different types of testing using appropriate testing tools based on the testing needs.
Track and analyze defects for the component/module and carry out regression testing to fix defects in all instances of code changes.
Analyze defects from past projects/solutions to avoid recurrence of similar defects.
Troubleshoot performance and availability bottlenecks for the application.
Conduct complex maintenance procedures for applications independently.
Monitor and evaluate the performance of the application by tracking and analyzing appropriate metrics; Perform maintenance and re-engineering activities.
Requirements
Bachelor’s degree or equivalent in computer science, computer engineering, computer information systems, software engineering, or related area and 3 years of experience in software engineering or related area; OR Master’s degree or equivalent in computer science, computer engineering, computer information systems, software engineering, or related area and 1 year of experience in software engineering or related area.
Experience in building scalable, high-performance systems using Java (JDK 8+) with Spring Boot.
Experience building production-grade APIs and micro-services, with a solid foundation in clean architecture, Test-Driven Development (TDD), and design patterns.
Experience with dependency injection, inversion of control, and building robust RESTful APIs with OpenAPI/Swagger.
Experience in JSON for data interchange, API responses, and serialization.
Experience with data structures including hashes, sorted sets, and trees to efficiently store and retrieve data in performance-critical systems.
Experience with both relational and NoSQL databases, including SQL Server and Azure Data Studio for complex queries, joins, and index tuning.
Experience with database access via Microsoft.Data.SqlClient, ADO.NET, and mssql-jdbc.
Experience with BDD tools including Cucumber and Vajra, as well as API testing/debugging using Postman and Fiddler.
Experience with distributed caching, third party OAuth2 integrations, and unit/integration testing.
Experience with CI/CD pipelines using GitHub, Jenkins, and Azure DevOps, as well as development tools including Git, IntelliJ IDEA, and Visual Studio.
Experience with distributed systems.
Experience modernizing legacy systems, designing cloud-native services, and ensuring observability, scalability, and fault tolerance.
Tech Stack
Azure
Cloud
Distributed Systems
Java
Jenkins
NoSQL
Spring
Spring Boot
SpringBoot
SQL
.NET
Benefits
Health benefits include medical, vision and dental coverage.
Financial benefits include 401(k), stock purchase and company-paid life insurance.
Paid time off benefits include PTO (including sick leave), parental leave, family care leave, bereavement, jury duty and voting.
Other benefits include short-term and long-term disability, education assistance with 100% company paid college degrees, company discounts, military service pay, adoption expense reimbursement, and more.