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.