Full-Stack Software Engineer (Principal)
Role details
Job location
Tech stack
Job description
Take end-to-end ownership of our platform: Design distributed systems, build backend (80%) and frontend (20%) services, manage cloud infrastructure and ensure quality through testing and reviews. You'll collaborate with founders to turn business strategy into technology that scales.
YOU WILL
-
Design, implement, and maintain distributed systems and applications with a strong focus on scalable architecture and design patterns.
-
Build and deploy backend services in Java and contribute to projects in Python or C++ when required.
-
Develop and maintain RESTful APIs and web frontends using Angular.
-
Own infrastructure: Containerize services with Docker, automate operations with Bash scripting, and deploy to Cloud environments (AWS) with CI/CD best practices.
-
Manage databases, ensuring reliability, performance, and proper data modeling.
-
Guarantee software quality by writing comprehensive tests, performing code reviews, and ensuring adherence to best engineering practices.
-
Collaborate with the Leadership Team to ensure product excellence and alignment with business strategy. Forge strong relationships with clients, effectively translating their needs into unique technology solutions.
-
Build and nurture a high-performing team by attracting top talent. Provide mentorship and leadership to foster a culture of quality and innovation.
Requirements
-
Track record in software engineering, architecture and design patterns. 8+ years of development experience, with at least 5 years in a senior or lead role.
-
Strong background developing and maintaining applications in Java and Spring framework (this is a must requirement). Working knowledge of Python and/or C++ is a strong advantage.
-
Hands-on experience developing modern web frontends with Angular.
-
Experience with Docker, Bash scripting, Linux environments, and network fundamentals for real-world production systems.
-
Solid understanding of databases (SQL and NoSQL) and ability to make architectural decisions, balancing performance and scalability.
-
Strong experience with cloud platforms, ideally AWS, including deployment, scaling, and monitoring of services.
-
Experience in testing methodologies (unit, integration, end-to-end) and commitment to high-quality code.
HIRING PROCESS
-
30-min intro & mutual fit
-
Deep technical session with the Dev. Team on your past work (no LeetCode, no homework)
-
Two one-hour "Traits & Skills" conversations with our two other Co-founders.
-
Meet the team & offer