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 to understand their unique requirements for academic scheduling and faculty assignments.
- Coordinate with Student Leaders and Groups to integrate their needs for event management and student engagement into the system.
- Facilitate Discussions with Administrative Personnel to gather inputs on student data management and compliance needs.
- Document system builds and application configurations; maintain and update documentation as needed.
- Utilize Modern Documentation Tools such as Markdown and UML diagrams.
- Develop and Maintain a Custom Knowledge Base tailored to specific needs.
- Enforce Documentation Standards through DevOps practices.
- Continuous Documentation Updates to reflect system upgrades and changes.
- Leverage Documentation Generators and AI for accurate documentation.
- 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.
- Lead projects, especially in complex areas, and engage in strategic planning.
- 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.
- Communicate effectively with both technical teams and non-technical clients.
- Conduct regular training sessions for the development team on effective documentation techniques.
- Serve as a technical resource for applications.
- Clarifying complex functionalities, optimizing system performance, and troubleshooting.
- Proactively enhance team expertise through targeted knowledge-sharing sessions.
- Maintain a shared repository of issues and solutions.
- 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.
- Focus on enhancing user feedback mechanisms across all applications.
- Follow team software development methodology.
- Focus on iterative development, continuous feedback, and adaptive planning.
- Adopting Agile Practices into structured bi-weekly sprints.
- Mentor lower level software developers.
- Provide mentoring to business analysts in the development of eForms.
- Maintain a Learning Resources with links to resources for learning various technical skills.
- Additional Duties
- Manage continuous integration/continuous deployment (CI/CD) pipelines.
- Collaborate with CTSC to evaluate and redesign system architectures.
*Other duties may also be assigned
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.
- Strong communication skills with both technical and non-technical clients.
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.
PHYSICAL REQUIREMENTS:
- Constantly perform desk-based computer tasks.
- Frequently sit, grasp lightly/fine manipulation.
WORK STANDARDS:
- Interpersonal Skills: Demonstrates the ability to work well with Stanford colleagues and clients.
- Promote Culture of Safety: Demonstrates commitment to personal responsibility and value for safety.
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.