Research Software Engineer (Entry Level)
Research Software Engineers at the RAND Corporation work in a multidisciplinary environment in support of research on a wide range of issues spanning health care, education and labor, social and economic wellbeing, national security, and military manpower. Research Software Engineers work closely with research staff in creating and managing applications to support research projects. Research Software Engineers are expected to acquire an understanding of the research topic and apply their programming and analytic skills to the research needs.
The position requires eliciting requirements from
users, designing software products with researchers, implementing designs in
code, and iterating with users and researchers to ensure functional and quality
requirements are met. The selected candidate will work on project teams of
research staff and domain experts and must be comfortable acting as part of a
small team of software engineers. Technical needs will vary by project so the
selected candidate must be a generalist interested in gaining experience in
more than one of the following application paradigms: web, mobile,
desktop, database, modeling & simulation, and data analytics such as
machine learning, statistical analysis, or visualization.
· Proactive communication with project teams, including explaining software design, software development progress, and software tool results
· Some of the following tasks:
o Developing in part interactive applications including the graphical user interface, back-end server components, and/or databases
o Developing applications or scripts to data mine, analyze, and visualize data sets, often developing expertise in that data
o Providing technical inputs into computer programming and software integration, software transition/migration and software management activities
· Limited participation in software development QA activities
· Writing documentation of software and software tool results for inclusion in client briefings and RAND publications
· Working knowledge of object-oriented analysis and design
· Experience with any of the following programming languages:
o Database platforms (e.g. MongoDB, PostgreSQL)
o Data analysis languages (e.g. R, Julia)
o General programming languages (e.g. Java, Python, C++)
· Willingness to pick up new tools and technologies on a frequent basis
· Some experience with software testing, including unit, integration, and/or acceptance testing
· Excellent written and verbal communication skills
· Works best as part of a collaborative, multi-disciplinary team
· Experience working in a research environment
· Experience with any of the following:
o Web application development
o UI/UX Design
o Modeling and Simulation
o Cloud service providers like AWS or Azure and tools in those ecosystems
o Big data analytic platforms like Hadoop or Spark
BA/BS required, MA/MS preferred, preferably in computer science
or highly related field such as information systems, computer engineering, etc.
2 years minimum relevant experience required.
Ability to obtain and maintain a U.S. government security
clearance is preferred.
Writing Sample/Coding Sample Required
Applicants will be required to provide Code sample(s) -related
work uploaded as a writing sample.
Santa Monica, CA; Pittsburgh, PA; Washington DC; Boston, MA
Equal Opportunity Employer: race/color/religion/sex/sexual orientation/gender identity/national origin/disability/vet