Duties & Responsibilities
MSC is searching for a Back-End Developer for Cloud Services to work within a multidisciplinary team supporting our work at NIH. The candidate should be a skilled and motivated developer with expertise in open source automated cloud storage, file syncing from local drives, and automated database queries from commercial/open databases. The successful applicant will be involved with developing automated data ingestion pipelines for syncing solutions for large (TBs-PBs) collections of information, including images and other data acquired in collaboration with scientists, biologists, and/or clinicians across the NIH, as well as third-party commercial and open database sources with relevant biological, genomic, or proteomic data. This opportunity is a full-time position with MSC and it is on-site at NIH in Rockville, MD.
- Lead the technical planning, feature selection, and coding of a project.
- Guide and manage other developers that are contributing code to the project.
- Estimate the level of work of development tasks within a project. Identify and correct complex bugs and problems.
- Plan technical architectures that minimize or eliminates performance problems, complexity, or solution fragility, i.e. server traffic engineer.
- Review mockups and other artifacts.
- Create and update models, views, and templates. Work with front-end developers to integrate their Angular (4+) code.
- Minimum of B.S. degree in computer science, computer engineering, or related technical discipline
- Must have experience in open source development of cloud storage and file syncing solutions and/or database traffic engineering
- 4+ years of node.js experience and ideally experience within a single page web app environment
- 3+ years’ experience with database design and maintenance (MongoDB, PostgreSQL, Apache Arrow/Apache Parquet)
- 2+ years professional experience with cloud-based providers (Amazon, Google, Microsoft) developing scalable websites/services
- Proficiency in administering large databases (MongoDB and PostgreSQL)
- High proficiency with back-end caching strategies (memcached, redis, varnish)
- High proficiency working within Unix environments
- Proficiency with functions as a service (Lambda, OpenWhisk, Kubeless, Knative, or equivalents)
- Hands-on experience developing, releasing, and maintaining large-scale software applications (web/mobile)