Redwood City, California, USA
5 days ago
Software Developer 2

JOB PURPOSE:

We are looking to bring in a 1 year fixed term Software Developer to be part of our Student Information Systems team within Student and Academic Services.  The Software Developer will execute all programming tasks, including programming, analyzing, designing, developing, implementing, modifying, and maintaining computer programs.  Additionally they will specify, build, document, secure, deploy, and maintain the administrative applications housed within our proprietary CRM. This position will collaborate closely with various stakeholders to understand their needs and integrate their feedback effectively. We are seeking someone who is able to navigate through the intricacies of diverse systems and APIs, ensuring seamless integration and optimal performance.

CORE DUTIES*:

Conceptualize design, implement, and develop solutions for complex system/programs independently. Independently spearhead the creation, development, and implementation of assigned key platforms Serve as the primary Software Developer for Stanford Navigator and Stanford eForms redesign. Serve as the backup Software Developer for Farmhand and existing eForms. Conceptualize and design complex systems from the ground up and align them with long-term strategic goals. Manage all aspects of these projects, from overseeing testing and debugging to ensuring their continuous maintenance, operation, and upgrades. Work with a variety of users to gain information, and develop intra-system tradeoffs between different users, as necessary; interact with a diverse client base and outside vendor contacts. Consult with Academic Staff and Department Heads:  consult with heads of departments and academic staff across Student and Academic Services to understand their unique requirements for academic scheduling and faculty assignments. Balance and integrate these needs into the system, ensuring that it accommodates various departmental workflows and reporting standards. Coordinate with Student Leaders and Groups:  work directly with student leaders, such as those from the Associated Students of Stanford University (ASSU), to integrate their needs for event management and student  engagement into the system. This engagement helps in fine-tuning features like event registration and student organization management, aligning them with student preferences and university policies. Facilitate Discussions with Administrative Personnel: Engaging with administrative personnel, particularly from the Registrar’s and Admissions offices, gather inputs on student data management and compliance needs. These discussions are crucial for developing compliant processes and ensuring that the systems uphold privacy standards while remaining user-friendly for staff operations. Document system builds and application configurations; maintain and update documentation as needed. Utilize Modern Documentation Tools: Use Markdown for its simplicity and versatility in creating readable and maintainable docs. This is complemented by UML (Unified Modeling Language) diagrams, to visually represent system architectures, workflows, and data models, making complex system interactions understandable at a glance. Develop and Maintain a Custom Knowledge Base: This internal tool is tailored to specific needs, allowing for the dynamic generation of documentation that adapts as the system evolves. It includes detailed entries on every module, API endpoint, and UI component, ensuring that all team members have instant access to the latest information. Enforce Documentation Standards through DevOps: Implement strict documentation standards that are enforced through DevOps practices. This includes automated checks that ensure every code commit is accompanied by corresponding updates to documentation, thereby maintaining synchronicity between the system’s operational capabilities and its documented state. Continuous Documentation Updates: Continuously update the documentation to reflect system upgrades, configuration changes, or any modifications stemming from feedback loops with users. Leverage Documentation Generators and AI:integrate advanced tools such as documentation generators which pull comments and annotations directly from the code to create accurate, up-to-date documentation. Additionally, leverage large language models to automate the generation of more nuanced documentation content, such as troubleshooting guides and detailed explanations of complex functionalities, reducing the manual effort required and enhancing the depth and accuracy of the documents. Provide technical analysis, design, development, conversion, and implementation work. Provide technical analysis, design, development, and implementation of the three main software platforms: Farmhand, Stanford Navigator, and Stanford eForms. Optimize the performance of these systems, leveraging a deep understanding of data design, architecture, and relational databases. Lead projects, especially in complex areas, and engage in strategic planning to align these platforms with long-term goals. Maintain a strong commitment to quality control throughout the software development life cycle. Work as a project leader, as needed, for projects of moderate complexity. Serve as a lead developer for all three major software platforms:  Farmhand, Stanford Navigator, and Stanford eForms  each of which covers multiple functions and interlocks with other complex systems and platforms. Communicate effectively with both technical teams and non-technical clients to ensure that the development and implementation of these platforms meet the organizational needs efficiently. Conduct regular training sessions for the development team on effective documentation techniques and the importance of maintaining clear, comprehensive  accessible documentation. Responsible for ensuring that applications comply with relevant data protection and privacy regulations, including FERPA and GDPR.  Conduct regular security assessments, lead compliance audits and implement security best practices across all layers of the infrastructure . Serve as a technical resource for applications. Serve as a technical resource for the SIS team. Clarifying complex functionalities, optimizing system performance, and troubleshooting. Ensure availability via Slack and email to promptly address technical queries, helping the team understand intricate processes and implement solutions effectively. Proactively enhance team expertise through targeted knowledge-sharing sessions. These sessions cover new developments and best practices within the platforms, fostering a robust understanding across the team. Maintain a shared repository of issues and solutions Provide insights and recommendations on technology trends, software upgrades and new tools that could impact the strategic direction to Senior Management. Compare, evaluate, and implement new features and technologies, and integrate them into the computing environment. Engage in evaluating and comparing new technologies to enhance the computing environment. Evaluate on parameters like cost, scalability, and feature set Focus on enhancing user feedback mechanisms across all Student Information System (SIS) and possibly Student Web Services (SWS) applications. This involves evaluating several feedback collection platforms to implement a universal form that can be seamlessly integrated across the ecosystem. The goal is to standardize the feedback collection process, making it more streamlined and accessible, thereby increasing user engagement and satisfaction. Software development in the environment also frequently requires the careful selection of libraries and frameworks.  Use a systematic approach to selecting technologies to ensure the adoption and integration of new tools are integrating solutions that enhance functionality and user experience across platforms. Follow team software development methodology. Focus on iterative development, continuous feedback, and adaptive planning Adopting Agile Practices into structured bi-weekly sprints.  This includes clear task prioritization, regular sprint reviews and retrospectives, which will improve the responsiveness and flexibility in development. Utilize Github to record and transition issues into development and deployment. Use  formal processes such as pull requests, code reviews, code ops, and security scanning, leveling up the development life cycle within SIS. Monitoring and Adjustment processes as needed, and actively seek improvements to refine the development approach. Mentor lower level software developers. Provide mentoring to business analysts in the development of eForms, Github issue creation and processing. Allowing analysts to develop eForms as well as contribute to issue creation, testing and deployment within Github. Provide mentoring to other developers in order to share skill sets and introduce custom development in Farmhand. Maintain a Learning Resources with dozens of links to resources for learning the various technical skills that are relevant to the different roles in SIS. Additional Duties Manage continuous integration/continuous deployment (CI/CD) pipelines. This  involves setting up, maintaining, and optimizing deployment environments, which currently run on a combination of on-premises servers and cloud-based infrastructure with AWS. Oversee the transition of projects from development to production, ensuring that all deployments are smooth and meet stringent reliability and uptime standards. This includes script writing for automation, configuring server environments, managing Docker containers, and overseeing Kubernetes orchestration for scalable deployment processes. Collaborate with CTSC (Stanford Server team) to evaluate and redesign system architectures to improve performance and scalability. This includes refactoring code, upgrading systems to support new software versions, and integrating cutting-edge technologies that enhance capabilities.

*  Other duties may also be assigned

 

 

The expected pay range for this position is $131,992 to $150,000 per annum. 

Stanford University provides pay ranges representing its good faith estimate of what the university reasonably expects to pay for a position. The pay offered to a selected candidate will be determined based on factors such as (but not limited to) the scope and responsibilities of the position, the qualifications of the selected candidate, departmental budget availability, internal equity, geographic location and external market pay for comparable jobs.

At Stanford University, base pay represents only one aspect of the comprehensive rewards package. The Cardinal at Work website (https://cardinalatwork.stanford.edu/benefits-rewards) provides detailed information on Stanford’s extensive range of benefits and rewards offered to employees. Specifics about the rewards package for this position may be discussed during the hiring process.

MINIMUM REQUIREMENTS:

Education & Experience: 

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


Knowledge, Skills and Abilities: 

Expertise in designing, developing, testing, and deploying applications. Proficiency with application design and data modeling. Ability to define and solve logical problems for highly technical applications. Strong communication skills with both technical and non-technical clients. Ability to lead activities on structured team development projects. Ability to select, adapt, and effectively use a variety of programming methods. Knowledge of application domain.

Technical Proficiencies:

Proficient with the latest versions of ECMAAScript (Javascript) as well as HTML and CSS Knowledge of React and common tools used in the wider React ecosystem such as Node.js and npm Familiarity with common programming tools such as Redux, IDEs, Restful API’s, Git repositories, TypeScript, version control software and remote deployment tools.  An understanding of common programming paradigms and fundamental React principles, such as React components, hooks and the React Lifecycle. . Experience in both front-end and back-end application development.  Development in Java and experience with AWS applications is also favorable.

 

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. This position is hybrid, 2 days onsite at Stanford’s Redwood City office. Able to work on evenings and weekends, as needed.

 

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. 

The job duties listed are typical examples of work performed by positions in this job classification and are not designed to contain or be interpreted as a comprehensive inventory of all duties, tasks, and responsibilities. Specific duties and responsibilities may vary depending on department or program needs without changing the general nature and scope of the job or level of responsibility. Employees may also perform other duties as assigned.

Consistent with its obligations under the law, the University will provide reasonable accommodations to applicants and employees with disabilities. Applicants requiring a reasonable accommodation for any part of the application or hiring process should contact Stanford University Human Resources by submitting a contact form.

Stanford is an equal employment opportunity and affirmative action employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, protected veteran status, or any other characteristic protected by law.

Additional Information Schedule: Full-time Job Code: 4822 Employee Status: Fixed-Term Grade: J Requisition ID: 105491 Work Arrangement : Hybrid Eligible
Confirm your E-mail: Send Email