Job Description
:
We are seeking an experienced Senior Software Engineer to design, develop, and maintain highly scalable, resilient, and secure enterprise applications and services. The ideal candidate will have strong expertise in either .NET or Java ecosystems, cloud-native application development, microservices architectures, containerization, Kubernetes orchestration, and distributed systems.
This role requires a hands-on engineer who can design and implement large-scale systems capable of serving millions of users while maintaining high performance, availability, and reliability. The candidate should possess strong software engineering fundamentals, deep systems knowledge, excellent debugging skills, and the ability to translate complex business requirements into scalable technical solutions.
Essential Duties & Responsibilities:
Application Design & Development
- Design, develop, test, and maintain enterprise-grade applications and services using .NET or Java technologies.
- Build scalable RESTful APIs, microservices, and event-driven services.
- Develop highly available and fault-tolerant systems capable of handling large transaction volumes and user traffic.
- Translate functional and non-functional requirements into robust technical designs.
- Participate in architecture discussions and contribute to long-term technology strategy.
Microservices & Distributed Systems
- Design and deploy cloud-native applications running on AWS and/or Azure.
- Develop applications optimized for containerized environments.
- Design loosely coupled, independently deployable services.
- Implement service communication patterns including synchronous and asynchronous architectures.
- Design systems for high throughput, low latency, resiliency, and fault tolerance.
- Build solutions that can scale horizontally to support millions of users and transactions.
- Implement distributed caching, messaging, and event-driven architectures where appropriate.
Software Architecture & Design
- Apply enterprise architecture principles and software design best practices.
- Design maintainable, extensible, and reusable software components.
- Implement appropriate design patterns and architectural patterns.
- Drive technical decisions related to scalability, reliability, maintainability, and performance.
- Conduct design and code reviews across engineering teams.
Database Design & Performance
- Design effective relational database schemas.
- Develop optimized SQL queries and stored procedures where necessary.
- Troubleshoot query performance issues and optimize database interactions.
- Analyze execution plans, indexing strategies, locking behavior, and transaction performance.
- Ensure applications are designed for high-volume transactional workloads.
- Identify and eliminate performance bottlenecks across application, database, infrastructure, and network layers.
Troubleshooting & Production Support
- Debug complex production issues across multiple layers of the technology stack.
- Analyze logs, metrics, traces, thread dumps, heap dumps, and system diagnostics.
- Perform root cause analysis and implement corrective actions.
- Support production incident resolution and continuous reliability improvements.
Qualifications:
- Bachelor's or Master's degree in Computer Science, Software Engineering, Information Technology, or related field.
- 8+ years of professional software development experience.
- Proven experience building large-scale enterprise applications and distributed systems.
Preferred Qualifications
- Experience supporting SaaS products serving large enterprise customers.
- Experience building systems that process millions of transactions daily.
- Experience with Kafka, RabbitMQ, ActiveMQ, or cloud-native messaging services.
- Knowledge of event-driven architecture and asynchronous processing.
- Experience implementing zero-downtime deployments.
- Familiarity with Infrastructure as Code (Terraform, Cloud Formation).
- Experience with AI-assisted development tools and automated code quality platforms.
- AWS and/or Azure certifications.
- Kubernetes certifications (CKA/CKAD).
Additional Information:
ELLKAY is committed to fostering a collaborative and high-performance work setting that supports innovation, teamwork, and professional growth. Most roles are designed to operate from our office locations to encourage effective collaboration and engagement across teams.
Any alternative work arrangements may be considered at the company’s discretion based on role requirements and business needs.
📌 Sr Software Engineer (India)
🏢 ELLKAY
📍 India