We are seeking a Principal Software Engineer to join our growing team and
contribute to our next-generation technology platform. This role is responsible
for the full software development life cycle, from ideation to deployment. As a
Principal Engineer, you will have relevant experience across a variety of tech
stacks, cloud platforms, architecture and design patterns, development
frameworks and third-party libraries. The ideal candidate will have a strong
technical expertise, ability to understand customer needs and market trends, and
possess excellent communication skills to collaborate with product leadership
and other stakeholders. This individual must be a creative technologist,
obsessed with creating seamless customer experiences, team player, organized,
and able to thrive in a dynamic environment.
Our engineering team is built on the principle of humans over code. We are a
tight-knit group of lifelong learners in a constant quest to be a team that is
greater than the sum of its parts. Come join us!
Duties & Responsibilities:
Understand product vision and translate the same into actionable initiatives
for engineering teams.
Design, develop, and test software applications following best practices and
established standards.
Collaborate with and influence Product Managers and Designers to drive
creation of world-class market leading platforms.
Set short to medium term technical direction, creating plans to help achieve
goals
Participate in and lead peer-reviews of solution designs and related code.
Collaborate on architecture decisions, ensuring that we are adapting and
evolving to meet organization’s scaling business needs
Coach and mentor software engineers to promote a culture of engineering
excellence and ownership.
Assess opportunities for application and process improvement and prepare
documentation of rationale to share with team members and stakeholders.
Adhere to high-quality development principles while delivering solutions on
time and within budget.
Ensure that non-functional requirements such as security, performance,
maintainability, scalability, usability, and reliability are being considered
when architecting solutions.
Stay abreast of emerging technologies, industry trends, and best practices in
solution architecture and technology innovation.
Contribute towards defining and establishing benchmarks, metrics, and quality
measures.
Troubleshoot, debug and upgrade software, and provide end customer support as
needed.
Other duties as assigned.
Qualifications
Education & Experience:
10+ years of experience in software or solution architecture roles, with a
focus on designing and implementing complex, enterprise-level solutions using
cloud platform
Strong knowledge of software architecture principles, design patterns, and
architectural frameworks.
Strong understanding of Continuous Delivery patterns, Cloud foundational
patterns, Observability patterns, Developer experience patterns.
Strong analytical and problem-solving skills.
Bachelor’s degree in computer science or equivalent experience
Technical Proficiency and Skills:
Proficiency with:
js/React/TypeScript
Mobile Development Tools such as React Native
Apollo GraphQL
Git Version Control System
PostgreSQL
Docker Container
Enterprise development platforms, such as .Net framework
CI/CD Pipelines and Testing Automation Tools
Experience with one or more cloud platforms, such as GCP, AWS or Azure.
Excellent communication and teamwork skills
Great attention to detail and organizational skills
Experience delivering individual and institutional client facing solutions;
Web Portal(s), online payments, and third-party integrations
Good understanding of Agile/Scrum methodology
Expertise in delivering secure, high performance, fault tolerant, and high
availability solutions
Experience with DevOps, GitHub, CI/CD, SecDevOps, Containers, Serverless
Other Requirements:
Infrequent travel (10%)
Ability to occasionally work overtime or after hours
Prolonged periods of sitting at a desk and working on a computer