Loading open roles
Loading open roles
Loading role

GirnarSoft · posted 1 month ago
Senior Software Engineer
Mandate skill set :-
Java & Spring Boot
AWS Cloud
Infrastructure as Code
Microservices & Event-Driven Architecture
Kafka
DevOps & Continuous Delivery
Containerization (Docker/Kubernetes)
Advanced Testing Practices
Distributed Systems Design
As a Senior Software Engineer , you are an experienced engineer who owns complex components and mentors others. You will lead technical delivery, raise quality standards, and drive improvements in automation and reliability. While you may have a specialism in frontend or backend, this role encourages growth into full-stack capability and leadership in modern engineering practices.
You’ll be involved in:
Leading feature design and delivery across the stack
Applying and promoting best practices, testing strategies, and coding
standards
Mentoring junior engineers and supporting their development
Driving improvements in automation, reliability, and performance
Collaborating with engineering, delivery, and product teams to shape
solutions
Staying ahead of emerging technologies and influencing technical
direction
You will be accountable for:
Leading the delivery of complex features or services from design through
deployment and maintenance. Ensure solutions are scalable, performant, and
aligned with architectural standards.
Driving technical excellence by applying advanced design patterns, clean
architecture principles, and robust testing strategies. Champion best
practices across the team.
Collaborating with product and delivery teams to shape technical solutions
that meet business objectives. Influence requirements and provide technical
insight early in the process.
Mentoring and supporting less experienced engineers, sharing knowledge through
code reviews, pair programming, and guidance on design decisions.
Owning quality and reliability for your area of responsibility. Ensure
compliance with security, regulatory, and performance standards.
Writing high-quality, maintainable code and ensuring documentation is clear
and complete. Promote simplicity and clarity in design and
implementation.
Improving team practices by identifying opportunities for automation, process
enhancements, and tooling improvements.
Contributing to technical strategy within your team or domain, helping to
define patterns and standards that improve consistency and scalability.
1. Cloud & Infrastructure Engineering
Strong AWS knowledge beyond basic S3 usage.
Experience with core AWS services and cloud-native architectures.
Infrastructure as Code (IaC) expertise (e.g., AWS CDK, Terraform,
CloudFormation).
Ability to provision, manage, and automate cloud environments.
2. Modern Software Delivery & DevOps
Continuous Delivery (CD) and Continuous Integration (CI) practices.
Feature flags/toggles for incremental and safe releases.
Trunk-based development and modern branching strategies.
Understanding of deployment automation and release management.
3. Java & Spring Framework Expertise
Deep understanding of Spring Boot internals.
Transaction management and proxy-based behaviors in Spring.
Advanced Java concurrency concepts including virtual threads, daemon threads,
and thread lifecycle management.
Strong grasp of object-oriented and functional programming principles.
4. Microservices & Distributed Systems Architecture
Designing microservice boundaries and service decomposition.
Clear understanding of event-driven vs. message-driven architectures.
Experience with asynchronous communication patterns and Kafka.
Knowledge of scalability, resilience, and distributed system design
principles.
5. Testing & Quality Engineering
Strong understanding of unit, integration, component, and end-to-end testing.
Experience with container-based testing approaches (e.g., Testcontainers).
Ability to design effective integration test strategies using real or
in-memory dependencies.
Test automation and quality-first development practices.
6. Containerization & Platform Engineering
Working knowledge of Docker and container ecosystems.
Understanding of container-based application packaging and deployment.
Familiarity with Kubernetes/OpenShift environments would be highly valuable.
7. Core Programming & Software Engineering Fundamentals
Immutability and its practical applications.
Higher-order functions and functional programming concepts.
Strong understanding of JVM behavior and thread management.
Application of design principles and clean coding practices.
8. Architecture & Technical Design
Ability to explain architectural decisions and trade-offs.
Understanding of cloud-native and distributed application design patterns.
Experience making technology choices aligned with scalability,
maintainability, and delivery goals.
Summary of the Ideal Candidate Profile