<- All Jobs
Software Engineer
- Develop Spring Boot/Java API/services on Google Cloud Platform (GCP) utilizing GCP services such as Cloud Run, GKE, Cloud Pub/Sub, Cloud SQL and more.
- Perform software engineering using Test Driven Development (TDD), continuous integration and continuous deployment (CI/CD)
- Identify opportunities for adopting innovative technologies to solve existing needs and predict future challenges.
- Refactor API/services for simplification and efficiency.
- Execute API Load and Performance (L&P) on API/modules developed.
- Develop software that is Clean Code compliant and utilizes tools such as SonarQube.
- Use DevOps tools such as Jenkins, SonarQube, CheckMarx, Fossa, and GitHub to deploy, improve and manage software.
- Stay current on the latest technology and contribute to the technical direction of the company while keeping a customer-centric approach.
- Leverage LLMs, AI-powered coding assistants like GitHub Copilot to enhance productivity and code quality
- Contribute to maintaining a readied backlog and effectively use Jira.
Participate in triage and debugging sessions for systems/tools integration issues.
Education Qualification Bachelor’s or Equivalent Number of Years of Experience Minimum 8+ years Leadership Skills- Excellent communication and interpersonal skills
- Ability to work effectively in a remote/virtual work setting with other global team members
- Proven facilitation skills - able to effectively drive discussion among diverse perspectives and reach a decision or recommendation
- Effectively work with cross-functional teams across the organization – inside and outside of the technology and software organization
Functional/Technical Skills
- Strong hands-on experience of at least 8+ years in Java/J2EE/Spring framework/Spring boot
- Experience with the following: Microservices architectures (using Spring boot/Micronaut/Ratpack/Quarkus), Cloud-Native architectures, Event-driven architectures, APIs, Domain-Driven Design, Public Cloud (Google Cloud), Serverless, Kubernetes, Docker, DevOps, building scalable, reliable, available solutions, and/or performance testing.
- Strong technical background with the capability of being hands-on
- Conversant in multiple programming languages. Thorough knowledge of multi-threading, concurrency, and parallel processing concepts including scalability, performance, and consistency characteristics of a microservices driven eCommerce architecture
- Good expertise in REST, Messaging (KAFKA, RABBITMQ, cloud pub/sub etc.), stream processing (SPARK, STORM etc.), NoSQL as well as database Systems (RDBMS, NO SQL Stores like Cassandra, HBase, Mongo, Memcached etc.)
- Experience in Cloud Native systems, Transactional Systems, Multi-Tenancy, five-nines availability and Containerization technologies
- Experience in collaborating and partnering with other technical domain experts such as cloud, security, SRE, and DevOps.
- Experience in building Structured, Semi-Structured and Unstructured data stores with a good understanding of RDBMS, No-SQL databases and strong exposure to data modelling, data access patterns, data replication, active-active polyglot persistence setup.
- Experience in implementation of CQRS and staged event driven applications on Spring integration/Apache Camel/Mulesoft platforms
- As needed and flexible
- Self-motivation to continuously develop own engineering skills and those of the team
- Work autonomously in areas of high ambiguity, without day-to-day supervisory support
- Strong command of troubleshooting, networking and collaboration with peers
- Proactive mindset to problem solving and willingness to take the initiative
- Meet delivery and quality commitments within product teams
- Strong prioritization, co-ordination, organizational and communication skills, and a proven ability to balance workload and competing demands to meet deadlines.
• Work on a balanced product team to develop and deploy microservices based high quality products hosted on cloud platform.
• Conduct proof-of-concepts to support new features, ensure quality, timely delivery using Agile Extreme Programming practices.
• Work in an agile software development environment using sprint/user story methodology.
• Work with team members to establish best practices to maximize efficiency and minimize risk.
• Interact and work closely with product managers to devise solutions and break them down into incremental production-ready user stories