Position Summary
As a Principal Software Engineer at Ascensus, you will be working in a high-energy team, writing beautiful code by using the best engineering practices in the industry today (e.g. unit testing, source control, continuous integration, automation, design patterns). Passion for all aspects of software development is a critical. We are building teams that are empowered to solve the business needs by having a rapid development and deployment pipeline with a focus on automation and releasing software.
As a key contributor to the Scrum team, you will be responsible for delivering solutions that adhere to the software architecture strategy, coding standards, and established organizational policies and procedures.
Job Functions, Essential Duties and Responsibilities
Responsible for protecting, securing, and proper handling of all confidential data held by Ascensus to ensure against unauthorized access, improper transmission, and/or unapproved disclosure of information that could result in harm to Ascensus or our clients.
Our I-Client service philosophy and our Core Values of People Matter, Quality First and Integrity Always should be visible in your actions on a day to day basis showing your support of our organizational culture.
Design, build, and maintain scalable and robust applications
Independently analyze, implement, test, document and maintain new and current software applications in support of achieving the business goals.
Create estimates, assist with planning resources and tasks, and tracking team progress throughout the software development life cycle.
Participate in software architectural discussions, influencing decisions, and collaborating with peers to maintain consistency across the organization.
Lead or assist in technical initiatives working with multiple groups
Lead by example, act as a role model, coach, mentor and provide continuous feedback to other team members
Establish and enforce development best practices
Expects and requires innovation of her/his team
Lead, evaluate, and provide technical and architectural guidance to team members.
Has passion and convictions and the innate ability to inspire passion in others
Supervision
None
Experience, Skills, Knowledge Requirements
5-15+ years of experience developing software & systems for medium to large business environments
Strong technical leadership skills
Strong experience in multiple programming languages, technologies and software platforms, such as C#, JavaScript, MS-SQL Server, Sybase.
At least 8+ year's hands-on experience with one or more of the programming languages (e.g. C# or Java)
Strong and extensive experience with the Microsoft technology stack
Strong and extensive experience with design principles (patterns, cohesion/coupling, S.O.L.I.D.)
Strong background and experience with object-oriented design, data structures and algorithms
Experience and worked with Services Oriented Architecture and RESTful services development
Working knowledge of microservices
Experience with writing clean and maintainable code using engineering best practices (unit testing, TDD, continuous integration and deployment, automation, design patterns, refactoring etc.)
Proven record of mentoring and guiding less experienced team members
Strong experience working with other developers, quality engineers (QE), ops engineers and support engineers to ensure smooth deployment, continual operation and passion for developing good software.
Expert in leading and participating in design discussions with both technical and non-technical audiences.
Experience mentoring and coaching developers
Experience documenting business solution in technical documents and diagrams
Familiarity or experience with Agile engineering practices
Working experience with C/C++, MySQL, Apache, Ngnix, Redis, jQuery, knockout.js
Experience in open source development
Good understanding of web technologies (HTTP, Apache, HTTP Proxies)
Experience with continuous integration and deployment (CI/CD)
Strong experience with multi-threaded applications and memory management
Experience working with legacy code
Agent of change to drive architecture around RESTful services
Familiarity with continuously deploying software in the Cloud
Nice to Have Skills
GraphQL
We are proud to be an Equal Opportunity Employer
At Ascensus, we aspire to make a difference for others. We are a technology-enabled services company that helps people save for retirement, education, and healthcare through our network of institutional, financial advisor, and state partners. Our culture is guided by sound principles, is committed to high standards, operates with transparency, and welcomes diversity-housed within our Core Values: People Matter. Quality First. Integrity Always.
As a leading independent recordkeeping services partner, retirement plan third-party administrator, and government savings facilitator, we aim to hire associates who find pride in going to work every day knowing that they help more than 12 million people save for what matters.