We're Looking For A Senior Software Engineer!
Our client is a leading modern product consultancy and digital innovation firm with a mission to make a dent in the digital economy. It is currently engaged by Fortune 50 enterprises to bring their next generation of digital products and platforms to market. It has helped hundreds of teams launch mission-critical products that have created a positive impact worth billions of dollars.
What You Will Do:
- Lead, design, develop and test Web and Cloud-native applications and work with fellow Software Engineers and Product Managers to navigate the discussion and strategy in architecting web and cloud platforms
- Own end-to-end architectural assessments and delivery of our client platforms
- Define, architect and break out epics/features for others, while maintaining a sense of the whole picture
- Work in a cross-functional agile team to deliver working software incrementally
- Help with the growth of the Cloud Practice by collaborating on the interviewing pipeline, hosting tech talks and workshops, identifying industry trends to discuss, and participating in practice activities
- Mentor the less-experienced members of the team, interview potential engineers for your own and other teams, have an opportunity to help influence the direction of the project, and showcase your technical skills and knowledge in company tech talks
- Research and adopt new programming languages, frameworks, and libraries to enhance development speed and security
- Maintain a deep understanding of language-specific coding bugs, smells, and vulnerabilities
- Continuously update code scanning profiles to minimize technical debt and ensure high-quality code.
- Development Practices
- Define, document, and coach the team on best practices for development, including branching strategies, peer reviews, library usage, logging, and error handling
- Champion test-driven development (TDD) to maintain robust and reliable software.
- Enforce coding guidelines and scanning rules across the project to ensure consistency and maintainability.
- Patterns and Frameworks
- Conduct technical reviews of application code and dependencies to identify anti-patterns and drive continuous refactoring
- Promote the use of design patterns and architectural best practices in a microservices environment.
- Technical Leadership
- Design and develop microservices using hexagonal architecture principles
- Build and maintain RESTful APIs, ensuring secure and efficient communication
- Implement and manage asynchronous messaging systems using Kafka for inter-service communication.
- Database Management
- Ensure secure, reliable, and efficient database interactions
- Oversee schema design, query optimization, and data migration strategies
What You Bring To The Table
- 7+ years of professional experience in microservices-based cloud-native development within an enterprise-level domain
- 3+ years of experience leading teams
- Strong hands-on experience architecting and implementing modern Java-based applications. Advanced features like lambda expressions, Stream API, CompletableFuture, Virtual Threads, Concurrency APIs etc. Java 21 experience preferred.
- Experienced with implementing Microservices using Spring Boot, Spring Webflux, Starter Web, JPA, Spring Security, Spring Boot, Actuator Kafka, Redis
- 2+ years with AWS Experience (EKS, EC2, S3, RDS, SQS, SNS, DynamoDb, Lambda)
- Experience with Restful APIs and hexagonal architecture.
- Knowledge of relational database systems – ex. RDS (Oracle) or Oracle on Amazon EC2
- Experience using container & serverless architectures (Docker, Kubernetes, AWS Lambda, AWS ECS)
- Proficient with Test Driven and Domain Driven Development (TDD / DDD), including using automated test frameworks (e.g., JUnit, Cypress, WireMock, PowerMock, ArchUnit)
- You are an experienced user of one or more Application Lifecycle Management tools (e.g., Jira).
- Experienced with DevOps – creating CI/CD tools and pipelines.
- Solid verbal and written communication and consultant/client-facing skills are a must. As a true consultant, you are a self-starter who takes initiative.
Tech Skills:
Coding - Core and Advance Java tech stack (JDK8 or higher)Advance knowledge and practical experience working with Spring boot, relational database, caching solutionsPractical experience with various test coverage like unit testing, functional testing, integration testing and contract testing.Practical experience working through requirements, design, implementation and testing around- integration with external systems/APIs
- High Availability
- Scaling
- Resiliency
- Ensuring better maintenance of the system
- Release process
- Being able to troubleshoot issues in higher and lower environments independently
- Being able to learn and adopt to new project/domain quickly
- Capable of working through the requirement at domain level independently as an SME for given feature/epic
- Capable of providing strong code review comments to ensure on quality
Professional Skills:
- Highly motivated individual who always look for engineering excellence and no mediocrity in the performance
- Good personal influence
- Being able to ask questions proactively in elaboration or team setup related sessions
- Being able to identify area of improvements in the application and drive/lead through it
- Proactively reviews code and provide suggestions for improvement