SOFTWARE ENGINEER

Updated: over 2 years ago
Location: Seattle, WASHINGTON
Deadline: Open Until Filled

As a UW employee, you have a unique opportunity to change lives on our campuses, in our state and around the world. UW employees offer their boundless energy, creative problem solving skills and dedication to build stronger minds and a healthier world.

UW faculty and staff also enjoy outstanding benefits, professional growth opportunities and unique resources in an environment noted for diversity, intellectual excitement, artistic pursuits and natural beauty.

The Paul G. Allen School of Computer Science & Engineering at the University of Washington educates tomorrow’s innovators, conducts cutting-edge research in core and emerging areas of the field, and leads a broad range of multi-disciplinary initiatives that demonstrate the transformative power of computing. Consistently ranked among the top computer science programs in the nation, the Allen School is widely recognized for the excellence and impact of our research and teaching across the region and around the globe. As a leader in efforts to broaden participation in computing, we are committed to advancing diversity, equity and inclusion in our program and in our field. Members of the Allen School actively work to cultivate a welcoming community in which students, faculty and staff with diverse backgrounds, identities and experiences can thrive. The Allen School occupies two spectacular buildings — the Paul G. Allen Center and the adjacent Bill & Melinda Gates Center — located at the heart of the UW campus in Seattle.

The Allen School has an outstanding opportunity for a Software Engineer.

The Software Engineer is a member of the Computer Science Laboratory Group (CSL), an experienced and diversely skilled IT organization, that creates and supports innovative administrative, academic and research computing needs of the Allen School.

The Software Engineer works independently under the direction of the Manager, Departmental Computing, and is responsible for gathering requirements, designing, developing, testing and implementing complex database-backed software applications that support critical research, instructional, and administrative functions within the Allen School. This includes writing new software in consultation with users, and maintaining or modifying hundreds of existing websites, applications, and database systems across dozens of local servers and cloud-based resources. Additionally, the Software Engineer provides technical support to members of the Allen School in the use of these systems.  This position also works closely with faculty and staff across the UW by sharing knowledge, participating in working groups, and integrating University-wide systems and initiatives into locally built software and systems.

RESPONSIBILITIES:

Support and Maintenance of Existing Applications and Infrastructure (40%)
• Implement feature requests in existing custom application.
• Implement UI/UX and accessibility improvements in existing applications
• Investigate Bug reports and implement fixes.
• Implement Security fixes and mitigation as necessary.
• Apply vendor security patches in 3rd party applications (Drupal, WordPress, etc)
• Maintain Apache Configurations
• Extend/Modify SQL schemas
• Optimize SQL queries
• Maintain Application level Web SSO configuration

Building New Applications (30%)
• Gathering Requirement from end-users
• Design Data models and database schemas
• Design User Interfaces
• Develop applications
• Write Automatic Test harnesses
• Deploy Applications

End-User support (15%)
• Provide timely responses to new tickets as assigned.
• Provide succinct and creative solutions to issues escalated to the Web Data Group.
• Evaluate service incidences, escalating to and working with other lab staff
• Occasional emergency/deployment work required outside of normal business hours

Miscellaneous (15%)
• Document new programs and procedures
• Update lacking documentation when necessary
• Research and implement industry-standard technologies and best practices.
• Other duties as assigned

REQUIREMENTS:

• Bachelor’s Degree in Computer Science, Information Systems, or a related field
• At least 3 years of related experience, to include the following:
• 3 years of experience designing, writing, and debugging complex software applications.
• 2+ years of experience programming in a web-focused server-side language (PHP, Perl, Ruby, etc.), using front-end technologies (HTML/CSS/JavaScript), and writing SQL queries.
• 2+ years of experience administering and configuring Apache web servers.
• 2+ years of experience using JavaScript front-end frameworks such as Angular, React, Vue, etc.
• Ability to design well normalized relational database schemas.
• Proficient at modeling complex data and business logic interpreted from user requirements.
• Ability to work independently as well as collaboratively in a heterogeneous technical environment.
• Proficient with Linux operating systems and basic Unix tools (grep, awk, vi, etc.).
• Experience using version control systems such as Git in daily development workflows.
• Solid understanding of web application security including authentication, authorization, XSS attacks, SQL injection, etc.
• Excellent written and oral communication skills.
• Demonstrated commitment to valuing diversity and contributing to an inclusive working and learning environment.

Equivalent education/experience will substitute for all minimum qualifications except when there are legal requirements, such as a license/certification/registration.

DESIRED:

• Experience developing and deploying full stack web applications from scratch.
• Demonstrated understanding and use of SOLID design principles and test-driven development practices.
• Familiarity with continuous integration and continuous delivery (CI/CD) practices.
• Experience with application containerization using tools such as Docker, Kubernetes, etc.
• Experience writing unit and integration test suites.
• Proficiency with a web analytics package (Google Analytics, AWStats, etc).
• Understanding of web SSO, primarily SAML/Shibboleth.
• Familiarity with AWS.

CONDITIONS:

• Flexibility in schedule and additional hours beyond standard office hours may be required to meet time-sensitive deadlines, respond to outages, or critical security issues.
• Able to navigate throughout and between the Allen School buildings to attend meetings.

Application Process:

The application process for UW positions may include completion of a variety of online assessments to obtain additional information that will be used in the evaluation process.  These assessments may include Workforce Authorization, Cover Letter and/or others.  Any assessments that you need to complete will appear on your screen as soon as you select “Apply to this position”. Once you begin an assessment, it must be completed at that time; if you do not complete the assessment you will be prompted to do so the next time you access your “My Jobs” page. If you select to take it later, it will appear on your "My Jobs" page to take when you are ready. Please note that your application will not be reviewed, and you will not be considered for this position until all required assessments have been completed.



Similar Positions