Software Developer
Job Overview
Responsible for designing, developing, integrating, testing, deploying, and supporting software solutions that meet business and technical requirements. The Software Developer works collaboratively with technical teams, business stakeholders, and university partners to deliver secure, scalable, maintainable, and user-centered applications and integrations.
This role will primarily support the development and modernization of web-based applications, APIs, system integrations, databases, and cloud-based solutions within a predominantly Microsoft .NET development environment.
This is a temporary assignment anticipated to last approximately one to two years. The individual selected for this role will be engaged through a third-party staffing/payrolling agency and will not be an employee of the University of Cincinnati. The position will work closely with and as part of University of Cincinnati technology teams throughout the assignment.
Primary Technology Environment
The University's software development environment is primarily based on Microsoft .NET technologies. Candidates should have strong experience with, or the ability to work effectively within, technologies including:
- C# and .NET/.NET Core
- NET Core and web application development
- RESTful APIs and web services
- HTML, CSS, and JavaScript
- Relational databases and SQL
- Entity Framework or comparable object-relational mapping technologies
Essential Functions
- Design, develop, test, deploy, maintain, and enhance full-stack software applications, APIs, integrations, and supporting database components.
- Develop and maintain intermediate to advanced applications using C#, .NET, and other modern development frameworks while following established software engineering practices.
- Work with business and technical stakeholders to understand requirements, evaluate solution options, and translate business needs into effective technical solutions.
- Design, develop, maintain, and consume APIs and system integrations connecting enterprise applications, databases, cloud platforms, and other services.
- Create and maintain technical designs, application documentation, API specifications, configuration documentation, and other artifacts needed for ongoing support and maintenance.
- Develop realistic technical estimates and identify assumptions, dependencies, risks, and technical requirements to support project and delivery planning.
- Build reusable software components and apply appropriate software design patterns to improve maintainability, scalability, consistency, and performance.
- Write unit, integration, and automated tests and participate in functional, regression, performance, and other testing activities as appropriate.
- Diagnose and resolve application defects, integration issues, performance concerns, and production support issues.
- Participate in peer code reviews and contribute to established coding standards, development practices, source-control practices, and technical documentation.
- Use source control, automated builds, continuous integration/continuous delivery (CI/CD), and related DevOps practices to support efficient and reliable software delivery.
- Develop applications in accordance with university security, privacy, accessibility, architecture, and technology standards, including secure coding and web application security best practices.
- Participate in Agile and other iterative delivery practices, including backlog refinement, planning, technical design discussions, demonstrations, and retrospectives.
- Collaborate with software developers, integration and DevOps engineers, architects, quality assurance and accessibility professionals, database and data teams, information security, infrastructure teams, and other technology partners throughout the software development lifecycle.
- Contribute to the continuous improvement of development practices, technical standards, application architectures, and software delivery processes.
- Maintain appropriate technical documentation and actively support knowledge transfer to university personnel to ensure applications and solutions can be effectively supported following completion of the assignment.
Required Skills & Qualifications
Software Development
- Demonstrated experience developing modern web applications using both front-end and back-end technologies.
- Strong proficiency with C# and .NET/.NET Core.
- Experience developing web applications using ASP.NET Core or related Microsoft development technologies.
- Experience with HTML, CSS, JavaScript, and modern web development practices.
- Experience designing, developing, integrating, and consuming RESTful APIs and web services.
- Experience working with relational databases and SQL.
- Understanding of object-oriented programming, software design principles, reusable components, and application architecture.
- Ability to troubleshoot complex application and integration issues.
Testing, Security & Quality
- Experience with unit testing, integration testing, and automated testing practices.
- Knowledge of secure software development practices and common web application security risks.
- Understanding of authentication, authorization, and appropriate protection of application and user data.
- Commitment to developing reliable, maintainable, accessible, and supportable production applications.
Key Competencies
- Strong analytical and problem-solving skills.
- Ability to independently investigate technical challenges and develop practical solutions.
- Ability to communicate technical concepts clearly to both technical and non-technical audiences.
- Ability to collaborate effectively within cross-functional and Agile development teams.
- Strong attention to software quality, security, documentation, maintainability, and operational support.
- Ability to manage multiple priorities and deliver work within established commitments and timelines.
- Ability to adapt to changing priorities and technical requirements.
- Willingness and ability to learn new technologies, tools, and development approaches as needed.
Employment Arrangement: This position will be employed and paid through a third-party payrolling agency. The selected candidate will be subject to the payrolling agency’s applicable employment, payroll, tax, and benefits policies and procedures. The University of Cincinnati will direct the day-to-day work and responsibilities associated with the position.