New Header logo

Back to Search Results

SLAC National Accelerator Laboratory is one of 17 Department of Energy (DOE) National Laboratories, and operated by Stanford University on behalf of the DOE. SLAC develops and operates some of the world’s premier science facilities, including the first hard X-ray free-electron laser. Research at SLAC explores the structure and function of matter and the properties of energy, space and time, at the smallest and largest scales, all with the goal of solving problems facing society and advancing human knowledge.

 

 


Senior Software Application Developer and Architect

Job Requisition #: 2316
Classification Title: Software Developer 3
Grade: L
Location: Menlo Park, CA (HQ)
# of openings: 1

Description

POSITION OVERVIEW: 

The Advance Instrumentation for Research Division in the Technology Innovation Directorate (TID-AIR) is involved in many national and international projects, among others the instrument development for the Large Synoptic Survey Telescope (LSST) camera, the Linac Coherent Light Source (LCLS) experiments, the Cryogenic Dark Matter Search (CDMS) experiment, the LHC ATLAS detector at CERN, and accelerator controls for LCLS-II.

This position is to architect, design, develop and deploy controls infrastructure software applications. Contribute to the development and maintenance of the open source Experimental Physics and Industrial Control System (EPICS) toolkit. Maintain and migrate legacy applications to a more modern platform such as python/QT.  Develop multi-threaded control systems infrastructure and middle-ware software on a Linux platform using C/C++.  Follow the standard Software Development Cycle in order to design, develop, test and integrate robust, production level software applications. Communicate and work effectively with other staff to determine project requirements and appropriate implementation. Gather requirements from users (mostly physicists) and operators. Produce requirements, architecture and design specification documentation. Present and communicate effectively with users, team members and management. Perform requirements, design, and code reviews. Investigate new technologies. 

JOB PURPOSE:

Perform difficult or complex programming and analysis work typically involving multi-project leadership or broad responsibility. Contribute to all phases of a project, including systems analysis, program design, development, and implementation. Work on systems and programs typically covering two or more functions, large single functions, or major portions of large functions, interfacing with other complex systems and programs. Provide innovative programming and analysis skills.

CORE DUTIES*:

  • Propose, conceptualize, design, implement, and develop solutions for difficult and complex applications independently.
  • Oversee testing, debugging, change control, and documentation for major projects.
  • Supervise professional staff, as necessary, working on all phases of application development projects.
  • Engage in long-term strategic planning.
  • Define complex application development administration and programming standards.
  • Oversee the support, maintenance, operation, and upgrades of applications.
  • Troubleshoot and resolve complex technical problems.
  • Review the physical design of existing systems for optimizing performance.
  • Lead projects, as necessary, for special systems and application development in areas of complex problems.
  • Work with other technical professionals to develop standards and implement best practices.

* - Other duties may also be assigned

MINIMUM REQUIREMENTS:

Education & Experience:

Bachelor's degree in computer science or engineering and eight years of relevant experience, or a combination of education and relevant experience.

Knowledge, Skills and Abilities:

  • Ability to quickly learn and adapt to new technologies and programming tools.
  • Demonstrated experience in designing, developing, testing, and deploying applications.
  • Strong understanding of data design, architecture, relational databases, and data modeling.
  • Thorough understanding of all aspects of software development life cycle and quality control practices.
  • Ability to define and solve logical problems for highly technical applications.
  • Strong communication skills with both technical and non-technical clients.
  • Demonstrated experience leading activities on structured team development projects.
  • Ability to select, adapt, and effectively use a variety of programming methods.
  • Ability to recognize and recommend needed changes in user and/or operations procedures.

Preferred Qualifications:

  • Strong background in Object Oriented Analysis and Design, Python, QT, GUI design, Model View Control, Design Patterns, Software Development Cycle.
  • Strong background and experience with C/C++.
  • Experience in developing control systems software applications on a Linux platform using C and/or C++
  • Strong working knowledge of client/server Linux, scripting, relational database design, Eclipse IDE, JVM, SQL, JDBC/Relational DB, ant, HTML, XML, J2EE application servers.
  • Demonstrated experience using process oriented approach to complete responsibilities.
  • Project management skills
  • Familiarity with the Motif/X-Window tool kit
  • Experience with EPICS.
  • Experience with Continuous test and integration concepts and tools.

SLAC Competencies:

  • Effective Decisions:  Uses job knowledge and solid judgment to make quality decisions in a timely manner.
  • Self-Development:  Pursues a variety of venues and opportunities to continue learning and developing.
  • Dependability:  Can be counted on to deliver results with a sense of personal responsibility for expected outcomes.
  • Initiative:  Pursues work and interactions proactively with optimism, positive energy, and motivation to move things forward.
  • Adaptability:  Flexes as needed when change occurs, maintains an open outlook while adjusting and accommodating changes.
  • Communication:  Ensures effective information flow to various audiences and creates and delivers clear, appropriate written, spoken, presented messages.
  • Relationships:  Builds relationships to foster trust, collaboration, and a positive climate to achieve common goals. 

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.

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 environment, safety and security; communicates related concerns; uses and promotes safe behaviors based on training and lessons learned.  Meets the applicable roles and responsibilities as described in the ESH Manual, Chapter 1—General Policy and Responsibilities: http://www-group.slac.stanford.edu/esh/eshmanual/pdfs/ESHch01.pdf
  • 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.

  


SLAC National Accelerator Laboratory is an Affirmative Action / Equal Opportunity Employer and supports diversity in the workplace. All employment decisions are made without regard to race, color, religion, sex, national origin, age, disability, veteran status, marital or family status, sexual orientation, gender identity, or genetic information. All staff at SLAC National Accelerator Laboratory must be able to demonstrate the legal right to work in the United States. SLAC is an E-Verify employer.

 

Final candidates are subject to background checks prior to commencement of employment at the SLAC National Accelerator Laboratory.

Internal candidates, who are selected for hire, may require degree verification and/or credit checks based on requirements of the new position.

 

For Clery Act Information click here: http://www.stanford.edu/group/SUDPS/safety-report/security-authorities.shtml




Are you a returning applicant?

Previous Applicants:

If you do not remember your password click here.

New Search

slac_footer 


Powered By Taleo