Software Engineer III - University of Rochester
Rochester, NY
About the Job
GENERAL PURPOSE:
The Software Engineer III provides technical expertise in all aspects of software development, including the design, coding, deployment, testing, debugging, maintenance and basic project management of software applications and systems. Meets with customers to perform business analysis and generate project requirements. Proposes and creates robust and secure system architectures and solutions, and is proactive in making recommendations for improvements to systems and processes. The Software Engineer III is part of a team of software engineers and web professionals who collectively build websites and software applications that provide significant functionality and value to the University and customers. Supports existing applications/systems while providing excellent customer service. Performs daily tasks with limited oversight and direction from management, leads projects and teams when necessary and mentors other Software Engineers via code reviews, training and general guidance on development best practices.
**JOB DUTIES AND RESPONSIBILITIES:**
1. Uses modern programming languages to build software to meet business requirements, including full-stack functional code development, implementing data integration and building APIs for data sharing. Designs functional processes, user experiences and user interfaces. Designs data models and database schemas.
2. Adds functionality and features to existing applications. Replaces aging code with modern best practices and coding practices.
3. Generates secure, efficient and robust fault-tolerant architectures for business processes.
4. Provides mentorship to other software engineers to enhance skills and effectiveness. Completes code reviews, training and general guidance on development best practices.
5. Investigates reported issues with applications and systems. Resolves issues through critical thinking and debugging. Maintains legacy applications and systems and replaces them when deemed appropriate. Documents systems, procedures and policies to assist with ongoing support.
6. Participates in project management and planning of projects. Estimates efforts for assigned tasks and sets milestones for project deliverables. Communicates expectations and status around project tasks. Analyzes customer needs, generates scope and requirements of efforts and makes recommendations for a solution. Develops planned system architectures and designs.
7. Keeps abreast of the latest application development trends and applies them when appropriate. Participates in knowledge sharing efforts within the team and across the organization and code reviews.
Other duties as assigned.
**QUALIFICATIONS:**
High School diploma or equivalent required; Bachelor's degree in related discipline such as Computer Science, Software Engineering or Web and Mobile Computing preferred. 5 years of relevant experience required or an equivalent combination of education and experience. Required experience: Experience with and knowledge of a modern object-oriented programming language and framework; Experience retrieving and writing to databases; Experience designing database schemas and data models; Experience with industry standard development tools and technologies, including IDEs, such as Visual Studio, and source control tools, such as Git; Experience building excellent system architectures and well-designed software systems. Preferred experience: Experience in the higher education, medical or healthcare industry; Experience with multiple programming languages and frameworks; Experience with project management methodologies, including Agile, from planning through implementation. Required knowledge, skills and abilities: Excellent verbal and written communication skills; Understanding of secure coding best practices. Preferred knowledge, skills and abilities: Exposure to administering servers, including patching, configuring and debugging issues; Understanding of basic networking concepts, such as DNS, subnets, CNAMEs and firewalls; Understanding of basic database administration concepts. Cloud developer certification, such as Azure Developer or AWS Developer Associate preferred.
The University of Rochester is committed to fostering, cultivating, and preserving a culture of equity, diversity, and inclusion to advance the University’s mission to Learn, Discover, Heal, Create – and Make the World Ever Better. In support of our values and those of our society, the University is committed to not discriminating on the basis of age, color, disability, ethnicity, gender identity or expression, genetic information, marital status, military/veteran status, national origin, race, religion/creed, sex, sexual orientation, citizenship status, or any other status protected by law. This commitment extends to the administration of our policies, admissions, employment, access, and recruitment of candidates from underrepresented populations, veterans, and persons with disabilities consistent with these values and government contractor Affirmative Action obligations.
**How To Apply**
All applicants must apply online.
_EOE Minorities/Females/Protected Veterans/Disabled_
**Pay Range**
Pay Range: $84,700 - $ 127,100 Annually
_The referenced pay range represents the minimum and maximum compensation for this job. Individual annual salaries/hourly rates will be set within the job’s compensation range, and will be determined by considering factors including, but not limited to, market data, education, experience, qualifications, expertise of the individual, and internal equity considerations._
**Location:** Central Administration
**Full/Part Time:** Full-Time
**Opening:** Full Time 40 hours Grade 055 University IT / Admin Apps
**Schedule:** 8 AM-5 PM
Source : University of Rochester