The newly formed Cancer Data Sciences group at the UCLA David Geffen School of Medicine and UCLA Jonsson Cancer Center is seeking a Programmer/Analyst with extensive research and development experience. The successful candidate will be working with a diverse team of Data Scientists, developing new quantitative strategies to improve our understanding and ability to treat cancer. Programmer/Analysts in our team are passionate about applying their knowledge of software development and design to improve scientific research. They develop scalable and distributed software solutions that maximize utilization of both local high-performance computer infrastructure and a growing set of cloud-based assets. Our datasets comprise several petabytes, and are growing rapidly, creating fascinating problems in storage, access, parallelization, distributability, optimization, containerization and core algorithm design. This requires a strong background in computer science, providing a platform for technical leadership, but linked to strong personal communication and leadership skills, to help ensure insights are broadly adopted. The successful candidate will be helping us perform research that will transform the lives of cancer patients.
Your responsibilities will be wide-ranging, and include an emphasis on using design, analysis and programming skills to create systems that improve code quality and boost productivity of the entire team. You will help drive professional level design and development practices throughout the entire team, and serve as a local point of expertise for workflow optimization and containerization. You will typically have one or two major and several minor projects at any point in time, making appropriate prioritization, time management and reporting across these. We are in a rapid growth phase, and the successful candidate will be involved in hiring, recruiting, onboarding and mentoring junior data scientists and software engineers. You will have experience in either data-intensive research and software engineering, or in a large-scale professional software engineering environment.
UCLA is an Equal Opportunity/Affirmative Action employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or protected Veteran status.
• Extensive applied software-engineering experience (5 years minimum, 10 years preferred)
• Bachelor’s degree in Software Engineering or Computer Science (highly desired)
• Detailed working knowledge of C++, Perl or Python programming/scripting design
• Working knowledge of software development tools and CASE tools
• Strong verbal, interpersonal, and written communication skills
• Experience with the full software development process including gathering requirements, turning them into a design, implementing the design, and validating the implementation against the original requirements.
• Knowledge of LINUX/Unix operating system, and source-code versioning systems
• Strong computer science knowledge, including software design patterns
• Knowledge of SQL and data modeling
• Working knowledge of containerization (e.g. Docker, Singularity)
• Experience developing R-based code
• Experience with machine-learning, bioinformatics and cancer or molecular biology
• Knowledge of relational database software (e.g. Oracle, Postgres)
• Familiarity with distributed programming
• Understanding of core LAN networking protocols including ethernet, IP, TCP, UDP, ICMP