At Ascensus, technology is more than just a solution. It powers the business that helps millions of people save for what matters—retirement, education, and healthcare. Our technology experts tackle exciting challenges in collaborative teams, but work in an environment where individual and career development is always valued. Technology associates leverage their talents and passion, building new and innovative platforms, creating programs founded in automation in agile frameworks, and driving existing and new markets—all of which supports the rapid growth of a dynamic industry leader.
Section 1: Position Summary
As a Senior 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 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 Scrum team contributor, you will be accountable for delivering solutions that adhere to the software architecture strategy, coding standards, and established organizational policies and procedures.
Section 2: 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
- Evaluate, implement, test, document and maintain new and current software applications in aid of achieving the business goals with minimal supervision.
- Create estimates and assist with planning throughout the software development life cycle.
- Facilitate or assist in technical initiatives working with multiple groups
- Establish and enforce development best practices
- Coach and mentor other developers, provide continuous feedback
- Expect and require innovation of her/his team
- Demonstrate passion and convictions and the innate ability to inspire passion in others
- Assist with other tasks and projects as assigned
Supervision
Section 3: Experience, Skills, Knowledge Requirements
- 5-10+ years of experience developing software & systems for medium to large business environments
- Strong experience in one or more programming languages, technologies and software platforms, such as C#, Java, JavaScript, MS-SQL Server, Sybase
- At least 5+ year’s hands-on experience with one of the programming languages (e.g. C# or Java)
- Excellent problem solving and communication skills
- Familiarity with multi-threading
- Strong experience with good design concepts (patterns, cohesion/coupling, S.O.L.I.D.)
- Experience 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.)
- 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.
- Experience participating in design discussions with both technical and non-technical audiences.
- Experience mentoring and coaching more-junior developers
- Experience documenting business solution in technical documents and diagrams
- Familiarity or experience with Agile engineering practices
- Working experience with Python, C/C++, MySQL, Apache, Ngnix, Redis, jQuery, knockout.js
- Experience in open source development
- Good comprehension of web technologies (HTTP, Apache, HTTP Proxies)
- Experience with continuous integration and deployment (CI/CD)
- Experience with multi-threaded applications and memory management
- Familiarity with continuously deploying software in the Cloud
Be aware of employment fraud. All email communications from Ascensus or its hiring managers originate from @ascensus.com or @futureplan.com email addresses. We will never ask you for payment or require you to purchase any equipment. If you are suspicious or unsure about validity of a job posting, we strongly encourage you to apply directly through our website.