Full Stack Developer (Software Developer 2)
Full Stack Developer (Software Developer 2)
Job Number: 81568
Job code: 4822
The Department of Biomedical Data Science at Stanford University is looking for an experienced full stack software developer to join the ClinGen group in Dr. Carlos Bustamante's lab (https://bustamantelab.stanford.edu). We are part of the NIH-funded Clinical Genome Resource project (https://www.clinicalgenome.org) dedicated to building an authoritative central resource that defines the clinical relevance of genes and variants for use in precision medicine and research.
We are a small team of senior biocurators and engineers collaborating with external stakeholders and community members to develop software applications for standardizing the curation of clinically relevant genes and variants. The full stack software developer will be a new addition to the team, extending and improving the existing software applications and the underlying architecture. Our stack includes Python (Pyramid), ReactJS, Node.js, ElasticSearch, Postgres, cloud-enabled services, and other open-source tools.
You are a solid full stack software developer who is experienced and comfortable working in all stages of software development cycle from implementing user interface to configuring cloud services. Everyday at Stanford will present learning opportunities in which your comfort zone will be continually challenged. The qualified candidates are expected to contribute to all phases of software development at ClinGen, including systems analysis, application design, development, implementation, modification, and maintenance, as well as to comply with and support University and government health & safety regulations & policies.
We are looking for a software developer who demonstrates the following:
- Expertise with SQL and relational databases such as PostgreSQL
- Expertise with search engine such as ElasticSearch
- Understanding of data modeling
- Solid software engineering skills and testing practices to ensure high quality solutions
- Strong team player and individual contributor
- Ability to learn and apply new technologies quickly as needed
- Ability to communicate clearly and represent projects in writing and verbally to all stakeholders
- Experience in contributing to open source projects will be a bonus
- 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.
- Demonstrated ability in building and maintaining complex web applications.
- Experience in working with JSON data and RESTful services.
- Solid understanding of web standards and usability methods.
- Experience in working with git and UNIX.
- Substantial expertise in building maintainable software applications.
- Working experience in AWS and cloud deployment.
- Experience in writing unit tests and browser behavioral tests.
- Current knowledge of latest software building standards and best practices.
- Familiarity with data model concepts of non-relational databases.
- Excellent communication and interpersonal skills.
- Bachelor's degree and five years of relevant experience, or a combination of education and relevant experience.
- 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.
May work extended hours, evening and weekends.
Location: School of Medicine, California, United States
To be considered for this position please visit our web site and apply on line at the following link: stanfordcareers.stanford.edu
Stanford is an equal opportunity employer and all qualified applicants will receive consideration without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, veteran status, or any other characteristic protected by law.
Copyright ©2017 Jobelephant.com Inc. All rights reserved.
Posted by the FREE value-added recruitment advertising agency