Principal Software Engineer
The Principal Software Engineer is responsible for leading the design and development or major Sage Intacct features. The engineer will provide guidance to other engineers and drive the overall process of development and delivery. The Principal Software Engineer is responsible for architectural design issues, coding standards, and overall consistency and quality of the final solution.
Principal Software Engineers will understand the implications of major design decisions and will be responsible for highlighting important or difficult decisions, ensuring that the tradeoffs are considered. Where appropriate, a Software Engineer will propose significant architectural changes at the Architectural Review Board; where appropriate, Software Engineers will participate in the evaluation of others' proposals.
Sage Intacct is built on a scalable, extensible platform that enables rapid application development. Principal Software Engineers help to create these benefits and ensure that major projects build on and do not detract from the overall architecture.
Major features often involve a deep understanding of the financial and accounting implications of the changes that will result, including the impact on reports and usage.
Responsibilities:
- Leverage the native API to enable deep integrations
- Lead the design and development of major features
- Work with Product Management to understand design and feature tradeoffs
- Design scalable and repeatable solutions within each major feature
- Present architectural recommendations to the Architecture Review Board
- Work with QA to ensure the quality of the features, including the creation and maintenance of test cases
Requirements:
- BS or MS (MS preferred) in Computer Science
- 12+ years software engineering experience
- Experience developing SaaS / Cloud applications
- Deep knowledge of RESTful API design and building secure public APIs.
- Experienced with API design patterns and best practices
- Experienced in applying security, best practices to API development and integrating applications
- Hands-on coding ability in web technologies such as JavaScript, Java, LAMP, or .Net
- Strong SQL skills and understanding of database/data modeling concepts, experience with Oracle is a plus
- Experience as a team leader and technical lead
- Excellent written and verbal communication skills including the ability to present complex information in a clear and concise manner to engineering groups
- Strong analysis, problem solving, and troubleshooting skills
Desired:
- Experience developing ERP / Accounting application