Responsible for design, development, modification, debugging and/or maintenance of software systems, serves as an expert on specific modules, applications or technologies, and deals with complex assignments during the software development life cycle.
Job Roles and Responsibilities:
- You will take ownership and accountability of specific application modules and provide technical support and guidance during solution design for new requirements, problem resolution for critical / complex issues.
- You will ensure code is maintainable, scalable and supportable.
- You will present demos of the software products to stakeholders and internal/external customers, using knowledge of the product/solution and technologies to influence the direction and evolution of the product/solution.
- You will investigate issues by reviewing/debugging code and providing fixes (analyzes and fixes bugs) and workarounds, will review changes for operability to maintain existing software solutions, will highlight risks and will help mitigate risks from technical aspects.
- You will bring continuous improvements/efficiencies to the software or business processes by utilizing software engineering tools and various innovative techniques, and reusing existing solutions. By means of automation you will reduce design complexity, reduce time to response, and simplify the client/end-user experience.
- You will represent/lead discussions related to product/application/modules/team (for example, leads technical design reviews). You will build relationships with internal customers/stakeholders.
- Bachelor’s degree in Science/IT/Computing or equivalent.
- 7-8 years’ experience as a Software Engineer designing and developing enterprise applications.
- Must have experience building Microservices applications using Java, Spring, and Spring Boot.
- Must have experience building and testing automation with J-Unit or Cucumber.
- Must have experience developing distributed/service-oriented applications with REST APIs.
- Must have experience developing cloud-based applications, and automation of environment management in cloud-based systems, including AWS or Pivotal Cloud Foundry.
- Must have experience developing, troubleshooting and testing against relational databases like Oracle and/or MySQL utilizing SQL, ORM’s, stored procedures, views and triggers.
- Must be well versed with Design patterns, Data Structures and Algorithms.
- Must have experience working as a part of Agile / DevOps teams.
- Must have experience working with CI/CD tools such as GitLab and Jenkins, and Agile project management tools such as Jira and JiraAlign.
- Nice to have experience developing robust applications with NO SQL databases.
- Nice to have experience using cloud native messaging frameworks like KAFKA, RMQ.
- Nice to have experience developing high throughput APIs on cloud native frameworks.
- Nice to have experience in Functional Programming
- Nice to have experience with Test driven development, Behavior Driven Development