Senior Software Engineer (Limited-Term)
Role details
Job location
Tech stack
Job description
We're seeking a thoughtful, collaborative engineer to join our team and help us design, develop, and maintain a comprehensive financial forecasting and grant management application used by grant holders and administrators across the university. This web-based tool supports projected and actual expense tracking, what-if scenario modeling, employee and fund distribution management, automated salary and benefits calculations, burn rate analysis, and forward financial projections using integrated data feeds from university financial and HR systems. You will join a small, collaborative team of software engineers and QA engineers working within an Agile environment. Work will include maintaining and evolving an existing legacy application while contributing to decisions about the system's long-term technical direction. The current system is a server-rendered PHP application that is largely procedural, with a front end built using JavaScript and jQuery UI, backed by a relational database following common MySQL patterns. This existing stack reflects where the application is today, not necessarily where it is headed, and you will have a meaningful opportunity to help shape its modernization direction. This is a 3-year term position. CU is an Equal Opportunity Employer and complies with all applicable federal, state, and local laws governing nondiscrimination in employment. We are committed to creating a workplace where all individuals are treated with respect and dignity, and we encourage individuals from all backgrounds to apply, including protected veterans and individuals with disabilities., * Develop moderately complex features, enhancements, and data integrations, accounting for edge cases and corner cases in implementation.
- Write and maintain automated unit and integration tests to ensure appropriate coverage and that code meets acceptance criteria.
- Diagnose and solve moderately complex issues, identify root causes, and develop fixes for existing applications.
- Monitor and update application dependencies and libraries to maintain security and compatibility.
- Identify and implement performance improvements, including optimizing data access and network operations.
- Mentor and support junior developers through code reviews, pair programming, and day-to-day technical guidance.
- Manage source control workflows, including maintaining branching strategies and resolving merge conflicts independently.
- Contribute as an active member of an agile development team, delivering incremental value through iterative development cycles.
Deployments and Operations:
- Perform application deployments and maintain automated CI/CD pipelines, developing new pipelines as needed.
- Develop and manage applications using container technologies and virtual machines.
- Maintain application monitoring, dashboards, and alerting to ensure system health and performance.
Work Coordination/Collaboration:
- Collaborate with partner teams and interested parties, such as Platform and System Engineering, UX, service owners, and business analysts, to accomplish application and project goals.
- Work with QA to identify testing needs and edge cases and ensure appropriate test coverage is implemented.
- Interpret moderately complex business requirements, asking clarifying questions to ensure accurate understanding before accepting work.
- Communicate technical concepts clearly to developers and non-technical partners, using appropriate analogies and examples.
- Write and update documentation for application support and sharing knowledge.
- Provide constructive, actionable feedback during code reviews and team discussions.
Research and Analysis:
- Analyze business requirements and recommend technical solutions for moderately complex subsystems and applications.
- Research and evaluate new application frameworks, development tools, and technologies, and make recommendations on adoption.
- Analyze disparate information systems and contribute to technical plans for data integrations.
- Analyze and take appropriate steps to identify and mitigate application security vulnerabilities.
- Evaluate and recommend improvements to existing development processes and workflows.
Professional Development:
- Maintain and expand technical proficiency through available resources, conferences, seminars, and coursework.
- Keep up to date with emerging technologies and industry standard methodologies through collaboration with colleagues and peer institutions., * Accept the university's mission and demonstrate commitment to positively impacting the experience of students, faculty, researchers, and colleagues.
- Proactively find opportunities for improvement and constructively challenge existing approaches to drive better outcomes.
- Advocate for ideas with conviction while remaining open to and thoughtfully considering differing perspectives.
- Collaborate effectively in team settings while also demonstrating the ability to work independently and manage responsibilities with minimal direction.
- Demonstrate adaptability by taking on unfamiliar challenges and responsibilities beyond core engineering disciplines.
- Approach complex problems with curiosity and persistence, seeking thorough and well-reasoned solutions.
- Prioritize the needs of the team, organization, and customers served when making decisions and recommendations.
- Lead with confidence while remaining receptive to feedback and acknowledging the contributions of others.
- Demonstrate self-awareness and emotional intelligence, navigating interpersonal dynamics with professionalism and care.
Requirements
- Bachelor's degree in Computer Science or related field. A combination of education and or relevant experience may be substituted for the degree on a year for year basis.
- 3 years of software development experience.
- Due to requirements to access export-controlled data and information, only U.S. citizens, lawful permanent residents (green cards), or other protected individuals (i.e., persons designated as an asylee, refugee, or a temporary resident under amnesty provisions) may apply., * Proficiency in object-oriented languages (e.g., Java, C#) and modern frameworks (e.g., Spring Boot, .NET).
- Proficiency in scripting languages (e.g., Python, Bash, PHP).
- Expertise in front-end technologies: HTML, CSS, and JavaScript or TypeScript.
- Proficiency with modern JavaScript frameworks, particularly Angular.
- Proficiency with relational databases such as MySQL, Oracle, or PostgreSQL, including database design, optimization, and query performance tuning.
- Expertise in RESTful API design and development.
- Familiarity with GraphQL API design and development.
- Proficiency with CI/CD pipelines and automated deployment practices.
- Proficiency with containerization and environment management tools (e.g., Docker).
- Proficiency with version control systems, particularly Git.
- Proficiency in software architecture and system design principles.
- Proficiency in application security standard processes (e.g., OWASP Top 10, input validation, authentication/authorization).
- Expertise in testing methodologies, including unit, integration, and end-to-end testing.
- Expertise in troubleshooting and debugging across the full stack.
- Familiarity with Agile/Scrum development methodologies.
- Proficiency with command-line and shell environments.
- Experience with higher education enterprise systems such as student information systems, learning management systems, or financial/HR platforms.
- Proficiency with AI-assisted development tools such as GitHub Copilot or similar coding agents.
Benefits & conditions
At the University of Colorado Boulder, we are committed to supporting the holistic health and well-being of our employees. Our comprehensive benefits package includes medical, dental, and retirement plans; generous paid time off; tuition assistance for you and your dependents; and an ECO Pass for local transit. As one of Boulder County's largest employers, CU Boulder offers an inspiring academic community and access to world-class outdoor recreation. Explore additional perks and programs through the CU Advantage program.