Software Developer 🔍School of Engineering, Stanford, California, United States
📁Information Technology Services📅Feb 17, 2023 Post Date📅97977 Requisition #This is a 1 year fixed term position.Applicants must be eligible to work in the United States. The School of EngineeringStanford Engineering
has been at the forefront of innovation for nearly a century, creating pivotal technologies that have transformed the worlds of information technology, communications, health care, energy, business and beyond. Our faculty and students are creative risk-takers who pursue excellence across a breadth of disciplines. Our alumni include some of the world's most successful leaders in technology and business. Our staff are critical to enabling Stanford Engineering to accomplish its mission: seeking solutions to some of the world's most urgent challenges and educating leaders who will make the world a better place through the power of engineering principles, techniques and systems.The Stanford Vision and Learning Lab
(SVL) at SAIL
/the Computer Science Department addresses the theoretical foundations and practical applications of computational vision. We are focused on discovering and proposing the fundamental principles, algorithms, and implementations for solving high-level visual perception and cognition problems involving computational geometry, automated image and video analysis, and visual reasoning. At the same time, our curiosity leads us to study the underlying neural mechanisms that enable the human visual system to perform high level visual tasks with amazing speed and efficiency. The Stanford Vision and Learning Lab (SVL) is looking for a full-time Software Developer
to develop software for exciting research projects related to robotics. The main focus of this position will be related to a core project of SVL, the BEHAVIOR benchmark, a platform on which robots can learn to solve household activities like washing dishes or cleaning floors. Built on our OmniGibson simulation platform, BEHAVIOR is a combination of simulation software and data assets intended to support robot learning use cases, such as training learning-based agents (e.g. in paradigms such as Reinforcement Learning or Imitation Learning), with the long-term goal of enabling the development of advanced robots to help humans with everyday activities. To effectively enable robot learning workflows, BEHAVIOR needs to be high-performance and high-realism. The goal of this position is to contribute to the development of BEHAVIOR in these directions and help us lead it to widespread adoption as a performant and easy-to-use robot learning platform. You can find out more about BEHAVIOR on https://behavior.stanford.edu. You will co-lead the project under the guidance of the SVL faculty to gain first-hand experience in developing software for advanced, impactful research. You will have the chance to join us as an author on papers we publish at top AI conferences such as CVPR/NeurIPS/ICRA/CoRL. Your responsibilities include:
*Other duties as assigned. Education & Experience (Required):
- Conceptualize design, implement, and develop solutions for complex system/programs independently. Take ownership of the above open-source projects as their lead maintainer.
- Interact with an internal and external client base to gain information and triage and address bugs.
- Document system builds and application configurations; maintain and update documentation as needed.
- Work as a project leader, as needed, for projects of moderate complexity. Responsible for CI pipeline, conducting code reviews, etc.
- Develop and maintain robotics simulation software (including features of physics simulation, AR/VR, rendering, task and motion planning, reinforcement learning, etc.), using platforms such as pyBullet and NVIDIA Omniverse.
- Mentor lower level software developers.
Knowledge, Skills, & Abilities (Required):
- Bachelor's degree and five years of relevant experience, or a combination of education and relevant experience.
Education & Experience (Desired):
- 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.
- Experience with software design and development, particularly in Python and C++.
- Experience with active practice of Git-based CI/CD workflows.
- Experience with docker / container frameworks.
- Experience developing and maintaining open source software.
- Familiarity with the fundamentals of linear algebra, robotics and computer graphics.
- Experience with machine learning algorithms and tools (e.g. PyTorch, Tensorflow).
*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 the job. Working Conditions:
- 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.
Pay Range:The expected pay range for this position is $97,000 to $161,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. Why Stanford is for You:
- 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.
Imagine a world without search engines or social platforms. Consider lives saved through first-ever organ transplants and research to cure illnesses. Stanford University has revolutionized the way we live and enrich the world. Supporting this mission is our diverse and dedicated 17,000 staff. We seek talent driven to impact the future of our legacy. Our culture and unique perks empower you with:
How to Apply:
- Freedom to grow. We offer career development programs, tuition reimbursement, or audit a course. Join a TedTalk, film screening, or listen to a renowned author or global leader speak.
- A caring culture. We provide superb retirement plans, generous time-off, and family care resources.
- A healthier you. Climb our rock wall, or choose from hundreds of health or fitness classes at our world-class exercise facilities. We also provide excellent health care benefits.
- Discovery and fun. Stroll through historic sculptures, trails, and museums.
- Enviable resources. Enjoy free commuter programs, ridesharing incentives, discounts and more!
We invite you to apply for this position by clicking on “Apply for Job”. To be considered, please submit a cover letter, résumé, and your GitHub page with your application. The cover letter should briefly describe why you believe you are a good fit for this position. As part of the interview process, you will be asked to discuss your past open source projects, design systems for project requirements, and solve simple programming exercises in the computer graphics / robotics domain. *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. *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.
- Schedule: Full-time
- Job Code: 4822
- Employee Status: Fixed-Term
- Grade: J
- Requisition ID: 97977
- Work Arrangement : Hybrid Eligible, On Site