Senior Software Developer - Internal Applications & Services
Role details
Job location
Tech stack
Job description
We are seeking a Senior Software Developer to join our Application Development division Internal Applications & Services team. This is a back-end-focused role centered on designing, building, and maintaining the server side of web applications using Java (Spring Boot), with working knowledge of Angular to support front-end delivery. New applications are built on PostgreSQL and deployed as containers. This role will progressively rewrite or replace legacy applications while selectively adopting commercial off-the-shelf (COTS) solutions where appropriate., Employees are held accountable for all duties of the job. Individuals must be able to perform these duties with or without reasonable accommodations., * Design, develop, and maintain server-side application logic, services, and APIs using Java (Spring Boot).
- Build and maintain RESTful APIs and data access layers backed by PostgreSQL.
- Contribute to the Angular front-end as needed, applying working knowledge of Angular and TypeScript.
- Develop and deploy applications as containers (e.g., Docker/Podman), targeting a Kubernetes environment.
- Lead the delivery of features and projects end-to-end, from requirements through deployment.
- Lead and perform code reviews, and promote development standards and best practices.
- Mentor and develop less-experienced developers, and contribute to team knowledge sharing.
- Participate in application architecture, design, and technology selection decisions.
- Support modernization initiatives, including rewriting or replacing legacy IBM i and Windows applications and integrating COTS solutions where appropriate. Read and extract business logic from other languages such as C#/.NET.
- Create proofs of concept and prototypes for technical evaluation.
- Partner with the cross-functional DevOps and infrastructure teams on CI/CD, containerization, and deployment automation.
- Collaborate across teams, project managers, business analysts, product managers and UX designers, the enterprise data architect, security, and IT infrastructure, to define requirements and deliver high-quality solutions.
- Troubleshoot and resolve issues in production and development environments.
- Performs other duties as assigned, This job description is not designed to cover or contain a comprehensive listing of activities, duties, or responsibilities that are required of an employee. Duties, responsibilities, and activities may change or be assigned with or without notice.
Unfortunately, at this time, PERA cannot consider candidates that require sponsorship (now or in the future), or are located outside of the US.
All Colorado PERA employees are subject to PERA's Ethics Policy and some employees are subject to the Personal Trading Policy. These policies include restrictions on outside business activities and employment and have certain requirements on personal trading. You may request copies of these policies from PERA's talent acquisition team and any questions can be answered by PERA's Investment Administration team.
Requirements
As a senior member of the team, the ideal candidate leads the delivery of features end-to-end, mentors less-experienced developers, participates in architecture and technology decisions, and brings deep back-end expertise in Java/Spring Boot, REST APIs, and relational data.
They are a strong communicator and collaborator, work effectively across project and product management, design, data, security, and infrastructure teams, and bring a continuous-improvement mindset to both the code and the way the team works., * Bachelor's degree in Computer Science, Software Engineering, or related field, or equivalent experience.
- 5-8+ years of software development experience.
- Strong proficiency in Java and the Spring Boot framework for back-end development.
- Experience designing and building RESTful APIs.
- In-depth experience with relational databases, PostgreSQL preferred.
- Working knowledge of Angular and TypeScript for front-end development.
- Experience building and deploying containerized applications (e.g., Docker/Podman).
- Experience with CI/CD pipelines (e.g., Jenkins).
- Proficiency with Git-based source control (Bitbucket/GitHub) and issue tracking (Jira).
- Experience leading projects and mentoring other developers.
- Strong problem-solving, debugging, communication, and collaboration skills.
- Nice to have:
- Hands-on DevOps experience (CI/CD ownership, infrastructure automation)
- Experience with pension benefits administration systems
- Experience maintaining or migrating legacy enterprise applications
- Exposure to Oracle and/or IBM i (DB2 for i) databases
- Familiarity with Kubernetes or other container orchestration.
Working Conditions
The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. Reasonable accommodation may be made to enable individuals with disabilities to perform the essential functions.
- Standard office environment with frequent telephone communication, computer operation, and other office productivity machinery, such as a copy and printer machine.
- Occasional moving and positioning supplies in excess of 20 pounds
- All employees are expected to present themselves in a professional manner in alignment with the financial services industry
- Ability to sit for prolonged periods of time
- Ability to operate standard PC equipment
- Ability to manage frequent deadlines and tight schedules
Benefits & conditions
PERA invests in our employees in ways that matter; from comprehensive benefits and generous paid time-off to thoughtful everyday amenities that enhance the office experience. Employees are encouraged to continue learning through training, mentoring, and development at every stage of their careers. We champion a workplace where people feel valued, inspired, and equipped to grow.