Solera

Principal Software Engineer

Bangalore Full time

The Role

A Principal Software Engineer's roles include providing technical leadership, defining software architecture, mentoring other engineers, and overseeing projects from conception to completion. They also ensure code quality, evaluate new technologies, and collaborate with cross-functional teams to align technical solutions with business goals. 

  

What You’ll Do

Deep dive on large-scale SaaS products and be prepared to assist architecture with setting the vision, organizing and evolving the code-base for the entire product

Provide technical leadership and strategic guidance across teams on design, development, and implementation. 

Integrate and leverage AI tools like Copilot and automation platforms to enhance product capabilities and engineering efficiency. 

Champion best practices in Java, Spring Boot, and microservices-based architecture. 

Drive excellence in ORM frameworks (e.g., Hibernate, JPA) and deep expertise in RDBMS systems, especially PostgreSQL

Guide build and deployment processes using Gradle, CI/CD pipelines, and automated quality checks. 

Collaborate with stakeholders to ensure alignment between technical strategy and product goals. 

Conduct architectural reviews, lead PoCs, and evaluate emerging technologies to meet evolving business needs. 

Mentor and coach engineers, fostering continuous improvement and skill development across the team. 

Contribute to technical decision-making, risk mitigation, and delivery assurance across multiple projects. 

.

Key Job Functions/Requirements

Hands-on experience with construction of complex engineering solutions and knowledge of software development methodologies

12+ years of experience

Architect and implement end-to-end software solutions with a focus on scalability, resilience, and performance

Design and implement event-driven and queue-based systems using technologies like Kafka or RabbitMQ. 

Apply solid object-oriented principles and software design patterns to build clean, maintainable, and extensible systems. 

Languages & Frameworks: Java, Spring Boot, Spring Cloud, JPA, Hibernate 

Architecture: Microservices, REST, Domain-driven design, Event-driven architecture 

AI & Automation: Familiarity with AI-driven development tools, intelligent code assistance, and workflow automation 

Queues & Messaging: Kafka, RabbitMQ, or similar message brokers 

Databases: PostgreSQL, advanced SQL, data modelling, query tuning 

Build & Deployment: Gradle, Git, Docker, Kubernetes 

Best Practices: TDD, CI/CD, design patterns, code quality, security, observability 

Cloud & DevOps: Cloud-native development (AWS), containerization, monitoring tools 

Experience with Web Services and Serialization (XML, JSON, SOAP, REST)                          

General foundation in enterprise computing including networking, infrastructure, virtualization, web tools and technologies, databases

Object oriented design principles (SOLID), design patterns, enterprise integration patterns, Microservice architecture

Familiarity with non-functional software qualities (resilience, maintainability, etc), and experience implementing related design patterns and analysing trade-offs

LLM Skills: Experience with using LLMs using embeddings, RAG, VectorDB and prompt engineering building production grade applications.

 

Technical leadership and expertise

Architectural design: Lead the architectural design of complex, scalable, and high-performance software systems. 

Technical direction: Define the technical vision and roadmap for software development, ensuring alignment with business objectives. 

Problem-solving: Solve complex technical challenges and optimize existing applications. 

Technology evaluation: Research, evaluate, and recommend new technologies and tools. 

Code quality: Ensure adherence to coding standards, conduct code reviews, and uphold best practices.