Principal Software Engineer – Java
Role Overview
Hands-on Principal Software Engineer role focused on Java, Spring Boot, microservices, cloud architecture, and database design.
Partners with the Solution/Technical Architect to turn architecture into scalable, secure, maintainable, performant implementations.
Provides technical guidance and mentorship while contributing directly to design, coding, reviews, troubleshooting, and features.
Key Skills for This Role
Full Job Posting
Role overview
Hands-on Principal Software Engineer role focused on Java, Spring Boot, microservices, cloud architecture, and database design.
Partners with the Solution/Technical Architect to turn architecture into scalable, secure, maintainable, performant implementations.
Provides technical guidance and mentorship while contributing directly to design, coding, reviews, troubleshooting, and features.
Responsibilities
- Lead backend feature design and delivery using Java, Spring Boot, and microservices.
- Collaborate with the architect on implementation plans, feasibility, trade-offs, technical risks, dependencies, and design gaps.
- Apply architecture, security standards, engineering best practices, design patterns, SOLID principles, and clean code.
- Build and review REST APIs and scheduled/background jobs, including failure handling and recovery.
- Collaborate on code reviews, problem-solving, feature delivery, and database design, queries, transactions, and migrations.
- Apply cloud architecture, application security, and performance optimization practices.
- Use AI-assisted tools for coding, debugging, refactoring, tests, and documentation while reviewing output for quality and security.
- Troubleshoot application, database, networking, performance, and production issues; mentor developers and coordinate with QA and DevOps.
Required skills
- Strong Java 17+ knowledge, including collections, generics, concurrency, multithreading, JVM fundamentals, object-oriented programming, and SOLID.
- Understanding of data structures, algorithms, Big O, Spring Boot, REST standards, design patterns, and clean code.
- Experience designing and troubleshooting distributed microservices, resilience, service communication, and data consistency.
- Knowledge of cloud components, networking, gateways, load balancing, deployment, security, and monitoring; experience with Azure, AWS, or GCP.
- Ability to design relational schemas, optimize SQL, and understand indexing, transactions, and schema changes.
- Working knowledge of HTTP/HTTPS, DNS, TCP/IP, TLS, JWT, secure API communication, caching, rate limiting, and performance tuning.
- Working knowledge of messaging systems such as Kafka, Azure Service Bus, or similar, and Quartz Scheduler or similar.
- Practical experience with AI coding tools such as Claude, Cursor, GitHub Copilot, or similar, including critical review of generated code.
- Ability to collaborate with architects, discuss technical trade-offs, raise design concerns, mentor developers, and conduct code reviews.
Good to have
- Experience with database synchronization, reconciliation, and cross-system data consistency.
- Familiarity with Flyway, Liquibase, Redis, or equivalent tools.
Apply for this job in 1 click
Skip the repetitive application forms
Install the Base Career Chrome Extension and autofill job applications across major job boards with your profile.
Trusted by over 500,000 job seekers on Base Career
More from this employer
More jobs at Dash Technologies Inc
Senior Software Engineer (Python)
, IND
Dash Technologies seeks a Senior Software Engineer with 5+ years of Python experience to build AI-driven applications and platforms. The role involves prompt engineering, FastAPI backend development, data handling, and c
Senior Software Engineer (Java)
, IND
Dash Technologies seeks an experienced Lead Java Developer to spearhead enterprise Java application development across a global onshore-offshore delivery model. The role requires deep expertise in Java 11+, Spring Boot,