We have multiple openings for Software Developers with a combination of education and experience commensurate with supporting a variety of software development assignments. The selected candidates will work on multi-disciplinary teams in an environment that encourages the support of the academic research community while focusing on problems of interest to LLNL and DOE programs as a member of a dynamic, multidisciplinary team environment. These positions will be within a group in the Computing Directorate.
This position will be filled at either level based on knowledge and related experience as assessed by the hiring team. Additional job responsibilities (outlined below) will be assigned if hired at the higher level.
In this role you will
- Provide computer science and software development support using industry standard software development practices and modern programming languages and operating systems.
- Develop a range of applications including scientific, graphical user interface, database, and visualization applications on UNIX platforms.
- Participate in the requirements definition, analysis, design, implementation, debugging, testing, and optimization of computer programs on workstations.
- Participate on a research team to support work and research papers.
- Contribute to the fulfillment of technical projects and organizational objectives, functioning as an effective team member on multi-disciplinary teams.
- Engage other developers frequently to share relevant knowledge, opinions, and recommendations.
- Perform other duties as assigned.
Additional job responsibilities, at the SES.2 level
- Design, implement, deploy, and maintain software systems using object-oriented analysis, design, and programming techniques.
- Provide solutions to moderately complex problems involving largely identifiable factors.
- Bachelor’s degree in computer science, computer engineering, or a related field, or the equivalent combination of education and related experience.
- Skilled in all aspects of software project life cycle: feasibility, requirements, design, implementation, integration, test and deployment.
- Experience developing software with either Python, C++ or JAVA within Linux, UNIX, and/or Windows environments.
- Ability to effectively manage concurrent technical tasks with competing priorities and meet deadlines that are important to project success.
- Experience approaching difficult problems with enthusiasm and creativity.
- Effective interpersonal skills necessary to interact with all levels of personnel with the ability to work independently in a multi-disciplinary team environment.
- Effective written and verbal communication skills to prepare, present, and document technical information.
Additional qualifications at the SES.2 level
- Ability to work effectively with minimal guidance.
- Experience providing innovative approaches and applying new technologies to broadly defined tasks and projects.
- Broad experience applying effective analytical and problem-solving skills to moderately complex problems.
Qualifications We Desire
- Master’s Degree in Computer Science or related field.
- Experience with Perl, Web Technologies, Ajax, or HTML5, Oracle database schema design and SQL, distributed control systems, real-time operating systems, Big Data analytics, NAS, platforms, resource management systems, Linux virtualization, cloud computing technologies, grid frame works, and cloud file systems, revision control systems, remote boot protocols, and/or experience in a High Performance Computing environment.
- Experience with application development using object oriented methods, an understanding of fundamental networking and distributed computing concepts, and/or experience maintaining a High Performance Computing system.