Software Developer, Senior Software Engineer
Job Code: 4822
Job Grade: J
Do you have the desire to make a positive difference in the world? Are you ready to take ownership over a brand-new web application which serves the world’s leading medical research community, and then take it to the next level? Join the Biobank Informatics team at Stanford, and help leap Stanford's cutting edge medical science even further! Stanford University is seeking a Software Developer 2 to execute all programming tasks, including programming, analyzing, designing, developing, implementing, modifying, and maintaining computer programs.
Take ownership over a novel, open-source, biobanking web-based system.
Assume full responsibility, and independently manage, maintain and develop the system to:
- Integrate with various medical data sources.
- Enhance the user experience.
- Innovate and add new features.
- Maintain and enhance the security and stability of the system.
This role requires the ability to independently learn an existing (documented) full stack code-base, based on an HTTPD-Tomcat-Oracle-Angular-RESTful architecture, in a Linux environment
Experience with SQL, Java, OOP and Angular, as well as the above architecture are required.
Additional helpful skills and experience:
- Unit testing, and automated testing
- DBA experience
- Graphs and Data Visualizations, D3.js
- User centered UI development
The global impact of biobanks is at the fore-front of precision medicine efforts in clinical and translational research. The informatics support of biobanks has a prominent role in facilitating and accelerating biomarker discoveries and novel therapeutics. The primary objective will be to oversee the software on our secure (HIPAA compliant) server and build out custom features to connect with medical and lab technology softwares. The incumbent will have direct exposure to building key informatics applications in the clinical research domain, with the ability to learn more about scientific theory and design.
- Conceptualize design, implement, and develop solutions for complex system/programs independently.
- 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.
- Document system builds and application configurations; maintain and update documentation as needed.
- Provide technical analysis, design, development, conversion, and implementation work.
- Work as a project leader, as needed, for projects of moderate complexity.
- Serve as a technical resource for applications.
- Compare, evaluate, and implement new features and technologies, and integrate them into the computing environment.
- Follow team software development methodology.
- Mentor lower level software developers.
* - Other duties may also be assigned.
EDUCATION & EXPERIENCE (REQUIRED):
Bachelor's degree and five years of relevant experience, or a combination of education and relevant experience.
KNOWLEDGE, SKILLS AND ABILITIES (REQUIRED):
- 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.
- 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.
May work extended hours, evening and weekends.
- 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.