Skip to main content

This job has expired

Software Engineer

Employer
STANFORD UNIVERSITY
Location
California, United States
Closing date
4 Dec 2019

View more

Job Type
Professional Services, IT Services
Contract Type
Permanent
Hours
Full Time

Are you an individual ready to make an impact leveraging your programming skills to change the world? Do you have experience scripting, integrating disparate systems, and developing tools? Do you say no to the status quo? Are you looking to join and exciting team that has over 100 years’ experience developing and supporting applications for Stanford University?

As a Service Reliability Engineer, you will need to be curious and possess deep technical knowledge. You will need to engage and build deep expertise with Stanford data and tools; apply high standards to the code around you and develop an ability to identify highly impactful projects in a complex domain.

You will be responsible for building, maintaining and enhancing the internal systems and tools that the Stanford Communications Services operations teams rely on to help resolve issues for our community and partners. Those who join this team are incredibly passionate about their work and thrive working with cross-functional teams so that they can improve their operational efficiency through the development of tools and automation. This is your chance to join the team that helps build intelligent and efficient tooling to ensure that people who use and rely on Stanford Communication Services have the best possible experiences.

We are looking for passion, attention to detail, taking pride in one's work, taking ownership, and having ideas/opinions. Above all, you will need to be able to work independently: asking questions to understand the requirements, estimate the level of effort for your development, and manage to a timeline.  You’re a problem solver and someone who uses ingenuity to solve hard problems. If you’re an enthusiastic team player who cares about the infrastructure, remains calm in crisis, collaborates cross functionally, and loves writing code to improve operations we want to talk to you.

You'll be a part of a modern, lean, self-governing engineering team. We value transparency and trust. We continue to create purpose in our work, seek individual mastery and encourage autonomy.

So… what do we do? At the end of the day, our organization’s mission is to deliver world-class service and technological solutions in support of research, teaching and learning, administration, and healthcare at Stanford. Our team gets pulled into projects requiring custom development of any kind. This development typically involves quickly learning 3rd party APIs, developing automation critical to the implementation or maintenance of an application or service, automating tasks in support of reliability, or developing tools where no software solution exists on the commercial market. 

The Service Reliability Engineer is a member of the Automation and Service Reliability team in the Communication Services division of University IT (UIT), the central IT organization for Stanford University. This position will report directly to the Director of Automation and Service Reliability.

CORE DUTIES:

  • Work independently including asking questions to understand the requirements, estimating the level of effort for your development, and managing development to a timeline. 
  • Learn quickly and apply knowledge to ones work to deliver solutions quickly.  
  • Lead projects, as necessary, for special systems and application development in areas of complex problems.
  • Design and develop features in both the cloud and on premise that enable radically simplified automation.
  • Innovate new tools that allow our organization to deliver our services more quickly: self service provisioning, deprovisioning and management of services at scale. 
  • Improve scalability, service reliability, capacity, and performance.
  • Propose, conceptualize, design, implement, and develop solutions for difficult and complex applications independently.
  • Leverage third party APIs to build integrations with other systems.
  • Possess expert programming and troubleshooting skills in order to resolve highly complex problems where the analysis and resolution requires extensive knowledge of the many diverse system components, such as: authentication, networking, firewalls, databases, operating systems, storage, and server hardware.
  • Participate in meetings with senior level staff and possess professional services level soft skills.
  • Oversee testing, debugging, change control, and documentation for projects.
  • Improve the physical design of existing systems to optimize performance. 

MINIMUM REQUIREMENTS:

Education & Experience:

Bachelor's degree and eight years of relevant experience, or a combination of education and relevant experience.

Knowledge, Skills and Abilities:

  • Domain experience with building solutions or applications on premise or in the cloud.
  • Experience with building web services using REST.
  • Proficient understanding of code versioning tools, such as Git.
  • Experience with continuous integration preferred.
  • Ability to learn quickly and adapt to new technologies and programming tools.
  • Demonstrated experience in designing, developing, testing, and deploying applications.
  • Demonstrated experience leveraging third party APIs to build integrations.
  • Demonstrated experience with application technologies such as servlet, JSP, JSTL, XHTML, XSLT, PHP, CSS, Javascript, Perl, Flash, jQuery, and JSON and AJAX. Python experience required.
  • Strong understanding of data design, architecture, relational databases, and data modeling.
  • Must have extensive understanding of networking protocols (TCP/IP, HTTP, SSL, DNS, FTP, etc) and extensive knowledge of complex firewall topologies.
  • Must have extensive experience in Web Services (REST, SOAP), XML and data persistence layer framework design and development.
  • Thorough understanding of all aspects of software development life cycle and quality control practices.
  • Must have a deep understanding and good working experience in application servers like Apache, Tomcat etc.
  • Bonus points if you have experience with Mulesoft or telephony APIs: Avaya API, Cisco Call Manager API, Level 3 API.
  • Strong communication skills with both technical and non-technical clients.

Certifications and Licenses:

None

PHYSICAL REQUIREMENTS*:

  • Constantly perform desk-based computer tasks.
  • Frequently sit, grasp lightly/fine manipulation.
  • Occasionally stand/walk, writing by hand.
  • Rarely use a telephone, lift/carry/push/pull objects that weigh up to 10 pounds.

* - Consistent with its obligations under the law, the University will provide reasonable accommodation to any employee with a disability who requires accommodation to perform the essential functions of his or her job.

WORKING CONDITIONS:

  • May work extended hours, evening and weekends.

WORK STANDARDS:

  • Interpersonal Skills: Demonstrates the ability to work well with Stanford colleagues and clients and with external organizations.
  • Promote Culture of Safety: Demonstrates commitment to personal responsibility and value for safety; communicates safety concerns; uses and promotes safe behaviors based on training and lessons learned.
  • Subject to and expected to comply with all applicable University policies and procedures, including but not limited to the personnel policies and other policies found in the University's Administrative Guide, http://adminguide.stanford.edu

Additional Information

  • Schedule: Full-time
  • Employee Status: Regular
  • Grade: L

Get job alerts

Create a job alert and receive personalised job recommendations straight to your inbox.

Create alert