Principal Software Engineer

Solera Holdings, Inc.
Westlake, United States of America
2 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Westlake, United States of America

Tech stack

Java
Artificial Intelligence
Amazon Web Services (AWS)
Software as a Service
Cloud Computing
Software Quality
Code Review
Computer Programming
Continuous Integration
Software Design Patterns
DevOps
Programming Tools
Gradle
Monitoring of Systems
Hibernate
Java Persistence API
PostgreSQL
Automation of Marketing
Message Broker
Object-Oriented Software Development
Software Architecture
Query Optimization
RabbitMQ
Software Engineering
Software Systems
Enterprise Application Integration
Test Driven Development
Sql Optimization
Spring Cloud
Large Language Models
Spring-boot
Generative AI
GIT
Event Driven Architecture
Build Management
Containerization
Kubernetes
Kafka
Virtual Agents
REST
Domain Driven Design
Docker
Programming Languages
Microservices

Job description

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.

Build reliable systems that integrate large language models into our products 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.

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.

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.

LLM Skills: Hands-on experience building AI agents with Large Language Models (LLMs), including Retrieval-Augmented Generation (RAG), as well as tuning models.

LLM Model: Apt with GPTs, Llama, or any other LLM using frameworks such as LangChain, LangGraph. Knowledge of vector databases, memory systems, and human-in-the-loop workflows.

AI Tools:Hands-on with AI-driven development tools, intelligent code assistance, and workflow automation .

Languages & Frameworks: Strong programming background on Java, Spring Boot, Spring Cloud, JPA, Hibernate

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

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

Technical leadership and expertise

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

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.

Apply for this position