Computer Science - Full Stack Software Developer (Experienced)
Company: Sandia National Laboratories
Location: Albuquerque
Posted on: May 3, 2024
|
|
Job Description:
About SandiaSandia National Laboratories is the nations premier
science and engineering lab for national security and technology
innovation, with teams of specialists focused on cutting-edge work
in a broad array of areas. Some of the main reasons we love our
jobs:Challenging work with amazing impact that contributes to
security, peace, and freedom worldwideExtraordinary co-workersSome
of the best tools, equipment, and research facilities in the
worldCareer advancement and enrichment opportunitiesFlexible work
arrangements for many positions include 9/80 (work 80 hours every
two weeks, with every other Friday off) and 4/10 (work 4 ten-hour
days each week) compressed workweeks, part-time work, and
telecommuting (a mix of onsite work and working from home)Generous
vacations, strong medical and other benefits, competitive 401k,
learning opportunities, relocation assistance and amenities aimed
at creating a solid work/life balance*World-changing technologies.
Life-changing careers. Learn more about Sandia at:
http://www.sandia.gov*These benefits vary by job
classification.What Your Job Will Be LikeAre you a full stack
developer with a love of science and engineering? Do you desire to
lend your skills to improving scientific and engineering software
to improve global security, address energy issues, and help address
climate change issues? We are seeking an enthusiastic and
resourceful Full Stack Software Engineer to participate in
multi-team collaborations that will directly impact computational
science and engineering efforts spanning the research to production
spectrum! Software Engineers work closely with research staff in
creating and managing applications to support research and
production projects. This position offers the opportunity to
improve the stability, productivity, and security of software; to
address performance challenges of existing software on emerging
next generation platforms; and to guide researchers toward better
software engineering practices.On any given day, you may be called
on to:Collaborate with colleagues across application-to-hardware
domainsDevelop and test high quality software including web
applications using modern technologies; write clean, efficient, and
well-documented code; design and develop databases; detect,
diagnose, and resolve software bugs; participate in code reviews
and provide constructive feedbackIncorporate DevOps best practices
for continuous integration and deliveryLearn how to optimize
software and algorithms on powerful testbed computers and
supercomputers at Sandia and other DOE facilities and apply that
knowledgeLearn new programming languages, paradigms, and APIs
relevant to High-Performance Computing (HPC) environmentsWorking on
challenging problems in a research and development team
environmentGood communication, interpersonal, and teaming skills
for effectively working in multi-disciplinary teams of
mathematicians, engineers, and scientistsCollaborate with
engineers, mathematicians, scientists, and other scientific
programmers across diverse fieldsMentor staff in various software
engineering areas and better software engineering practicesThe
selected applicant can be in person in Albuquerque, NM or a virtual
worker located in any U.S. State or District of Columbia (preferred
onsite in Albuquerque). Regular or periodic travel to your assigned
work location will be required if a virtual worker.Qualifications
We RequireBachelor's degree in a science, technology, engineering,
or mathematics (STEM) field plus 5 or more years experience in full
stack software developmentExperience in at least one server-side
programming language (e.g. Python, Ruby, Java)Experience with
front-end frameworks such as React, Angular, Django, etc.Experience
with database design and SQLExperience with Linux shell
environments and scriptingExperience with one or more of the
following: configuration management, issue tracking, continuous
integration, software testingAble to acquire and maintain a DOE
Q-level security clearanceQualifications We DesireIn addition to
the qualifications we require, the ideal candidate would have some
experience in two or more of the areas of software engineering
listed below and willingness to learn many of these items on the
job:Programming skills applicable to the HPC environment (C/C++,
Fortran, Bash, Python, Julia, R, or similar languages)Developing
software with modern high-performance computing development stack
(e.g., C /C++ including the use of templates, Python, Java,
Fortran, CMake, Bash)Creating, maintaining, and automating (unit,
integration, performance, acceptance) test suitesAgile software
engineeringProgramming for shared and distributed memory
parallelism (OpenMP, MPI) and accelerators (GPUs)Techniques to
resolve complex software problems in applications and libraries,
e.g., debugging tools, unit tests, and other techniquesRunning and
optimizing software on parallel systems: experience with HPC queue
management software (e.g., PBS, Slurm, Flux); ability to compile,
configure, and integrate open-source applications into HPC
environments; experience with performance tuningModern DevOps
infrastructure and practices (e.g., Git, CI /CD, GitLab and its
workflows, Jenkins, VMs and/or containers, correctness testing
including static, coverage, and memory analysis) and the use of
branches and pull requests for change managementAbout Our TeamThe
Software Engineering and Research Department (1424), located within
the Center for Computing Research researches, develops, and deploys
software capabilities to accelerate science and engineering. This
dynamic team of experts conducts fundamental and applied research,
development and application in software engineering, design, and
the processes and principles that underlie the establishment of
quality, difficulty, correctness, and repeatability in the
implementation of algorithms and applications in software for high
consequence applications. The team focuses on applications for
scientific computing, computational algorithms, large scale data
analytics, and operating system components such as run-time systems
and application programming interfaces. A key element of the work
is teaming with application and algorithm researchers to establish
a solid foundation in software methodologies, innovative practices,
and maintenance and support for production codes and libraries. The
department works closely with other organizations across Sandia and
with external collaborators. The department is part of the Extreme
Scale Computing group, which unifies computer engineering and
science fields to advance highly scalable and performant computing
architectures based on current conventional, as well as future
non-conventional, technologies.Join our team and achieve your
dreams while making a difference!Posting DurationThis posting will
be open for application submissions for a minimum of seven (7)
calendar days, including the posting date. Sandia reserves the
right to extend the posting date at any time.Security
ClearanceSandia is required by DOE to conduct a pre-employment drug
test and background review that includes checks of personal
references, credit, law enforcement records, and
employment/education verifications. Applicants for employment need
to be able to obtain and maintain a DOE Q-level security clearance,
which requires U.S. citizenship. If you hold more than one
citizenship (i.e., of the U.S. and another country), your ability
to obtain a security clearance may be impacted.Applicants offered
employment with Sandia are subject to a federal background
investigation to meet the requirements for access to classified
information or matter if the duties of the position require a DOE
security clearance. Substance abuse or illegal drug use,
falsification of information, criminal activity, serious misconduct
or other indicators of untrustworthiness can cause a clearance to
be denied or terminated by DOE, resulting in the inability to
perform the duties assigned and subsequent termination of
employment.EEOAll qualified applicants will receive consideration
for employment without regard to race, color, religion, sex, sexual
orientation, gender identity, national origin, age, disability, or
veteran status and any other protected class under state or federal
law.NNSA Requirements for MedPEDsIf you have a Medical Portable
Electronic Device (MedPED), such as a pacemaker, defibrillator,
drug-releasing pump, hearing aids, or diagnostic equipment and
other equipment for measuring, monitoring, and recording body
functions such as heartbeat and brain waves, if employed by Sandia
National Laboratories you may be required to comply with NNSA
security requirements for MedPEDs.If you have a MedPED and you are
selected for an on-site interview at Sandia National Laboratories,
there may be additional steps necessary to ensure compliance with
NNSA security requirements prior to the interview date.Position
InformationThis Limited Term Employee (LTE) position is a temporary
position for one year term, which may be renewed at Sandia's
discretion up to a maximum of seven years.Individuals in LTE
positions may bid on regular Sandia positions as internal
candidates, and in some cases may be converted to regular career
positions during their term if warranted by ongoing operational
needs, continuing availability of funds, and satisfactory job
performance.by Jobble
Keywords: Sandia National Laboratories, Albuquerque , Computer Science - Full Stack Software Developer (Experienced), IT / Software / Systems , Albuquerque, New Mexico
Click
here to apply!
|