Restaurant365

Principal Software Engineer

Job Description

Posted on: 
December 18, 2024

The Principal Software Engineer will be directly responsible for analyzing, designing, developing, and testing software applications for features, modules, software enhancements and new products, using specifications and prototypes based on competitive market analysis, customer requirements, and business functionality. Excellent candidates will be responsible for leading development effort for multiple teams with new feature development and other product enhancements while staying aligned with the Product and Architect Teams to ensure all-around product quality.

Responsibilities

Prepare, validate, improve, and reengineer functions / processes
Drive change and improvements within a group
Balance conflicting business and technical requirements and establish partnerships with customers 
Expert in a given domain and/or technology
Produce well thought-out architecture with scale, performance, security, and availability considerations
Capable of doing full stack in multiple technologies
Develop high quality code adhering to the best coding practices as laid down by the company
Work closely with the architecture team and help translate existing requirements into robust, scalable software applications
Implement regular code review
Ensure release management processes are followed
Be a mentor on best practices, provide implementation oversight and guidance to ensure consistency and quality of design
Analyze and document existing systems, review pre-existing code and provide recommendations to improve performance and maintainability
Keep abreast of latest trends to help provide recommendations on new technologies and processes that can help improve the organization
Understand the Product Teams expectations and manage them with the Development Team
Work closely with team leaders to ensure structured and coordinated planning of your team’s development
Be the support system of the Architecture Team, capable of understanding and contributing to the technical solution from design to implementation
Ensure compliance to established design patterns
Know when to escalate a critical decision

Job Requirements

BS/MS in Computer Science or 2+ years of equivalent experience
In addition to 9+ years in an engineering position creating code-based solutions and tools
Expert in Java
Experience with Java frameworks including Spring Boot, JPA, JMS
Expert with SQL databases
Experience with PostgreSQL
Expert with enterprise software
Expert with cloud computing
Experience with AWS
Expert in working with APIs
Expert in distributed version-control systems i.e. Git
Expert in troubleshooting and diagnosing issues
Expert in Agile development concepts
Experience with client-side frameworks and technologies i.e. React, Angular and Typescript
Occasional travel required

Apply now

More job openings