Ravi Shankar


Programming Skills:

Languages: Rust, Python, Swift, HTML5, Vanilla JS (also Typescript), CSS, Bash.

Technologies: Unix (OS X, Ubuntu), Git, REST, Vue JS, Docker, Kubernetes, PostgreSQL, Heroku, DigitalOcean.

Practices: Version controlled, Agile, Test-driven.

Experience:

Full-stack Developer
Omnijar Studio ( October, 2017 - Present )
  • Writing backend microservices in Swift for an open-source e-commerce platform.
  • Also writing frontend applications in Typescript and Vue for a client using the same platform.
Full-stack Developer
Surematics ( June - August, 2017 )
  • Contracted for a startup that develops applications for insurance brokers, which participated in the YCombinator summer (S-17) batch.
  • Wrote code for backend microservices in Rust, laid out the infrastrucure in Kubernetes, and helped with frontend development.
Backend Developer
Genome Life Sciences ( January, 2016 - January, 2018 )
  • Wrote utilities in Rust for bulk parallel processing of chromosome and DNA sequence data in FASTQ, SAM and VCF file formats.
  • Notable tools:
    • A species finder which takes DNA sequence(s) and finds known species in O(1) time.
    • A sequence aligner which uses Burrows-Wheeler transform and FM-index to backtrack and map DNA sequences to the human reference genome in O(n) time.

Open source contributions:

Servo

  • Contributor and reviewer for the Servo browser engine project (2015 - 2017).
  • I worked on the style system, python-based build system, and mentoring newcomers. Apart from helping folks in IRC and Github issues, I've authored more than 100 commits and reviewed more than 200 pull requests.
  • Implemented code for parsing and serialization of CSS grid shorthand and longhand properties.
  • Wrote handlers for highfive (a bot that responds to Github webhook payloads by welcoming newcomers, assign/tag issues and pull requests, post build failures, etc.) and a "mark and sweep" JSON cleaner for its tests.
  • Created a watcher that tests Servo builds in a dedicated machine, analyzes the logs, maintains a database of "rr" recordings of intermittent failures, and uses the Github API to file issues or comments to notify the people who work on such issues.
  • Wrote a compiler plugin for checking sorted order of declaration statements.

Other

Personal projects:

Miscellaneous: