The RAND Corporation seeks an experienced Software Engineer to serve as the Senior Technical Programming Lead supporting RAND’s American Life Panel, the RAND Educator Panels, other online data collection services and other multidisciplinary software development activities. The Senior Technical Programming Lead will work directly with a team of 3-4 research programmers involved in online survey software development and delivery.
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. Qualified candidates will have demonstrated excellence in client engagement skills and experience recommending technical solutions for software and data migration projects.
The selected candidate will work on project teams of research staff and domain experts and must be comfortable acting as the sole software engineer on the project. Technical needs will vary by project so the selected candidate must be a well-rounded generalist able to develop solutions in more than one of the following application paradigms: desktop, web, mobile, database, modeling & simulation, big data analytics including machine learning, statistical analysis, and visualization.
- Proactive communication with project teams
- Suggesting technical solutions and providing technical advice to the RAND American Life Panel Director and General Manager on how to best execute complex technical survey design projects.
- Developing in part or in whole interactive applications including the graphical user interface to back end server components and databases
- Providing strategic technical inputs into computer programming and software integration, software transition/migration and software management activities
- Developing applications or scripts to data mine, analyze, and visualize data sets
- Briefing others on software design, software development progress, and software tool results
- Providing programming time estimates for proposals and client budgets
- Participating in software development QA activities
- Writing documentation of software and software tool results for inclusion in customer briefings and RAND publications
- Expertise with at least one database platform such as MONGODB, MYSQL, or POSTGRES
- Working knowledge of object oriented analysis and design
- Some expertise in PYTHON, JAVA, C#, R, C++, OR C
- Willingness to pick up new technologies on a frequent basis
- Software testing including unit, integration, and acceptance testing
- Excellent written and verbal communication skills
- Works best as part of a collaborative team
- Server management
- Web application development
- Cloud service providers like AWS or AZURE and tools in those ecosystems
- Big data analytic platforms like HADOOP or SPARK
- Experience working in a research environment
- Experience with Confirmit survey programming
- Experience with system administration
- BA/BS required, MA/MS preferred, preferably in computer science or highly related field such as information systems, computer engineering, etc.
- 6 years minimum relevant experience required. 8 or more years relevant experience preferred.
Santa Monica, Pittsburgh, Washington D.C., Boston
Equal Opportunity Employer: race/color/religion/sex/sexual orientation/gender identity/national origin/disability/vet