Rohan Jhunjhunwala

I love

On this site, I continue to document all of my experiences, both technical and nontechnical. These experiences have formed me in a way that will help me be an asset on any development team.



Education

University of California, Berkeley

Bachelor of Science
Electrical Engineering and Computer Science
GPA: 4.0 Degree Conferred: May 2020

Malvern Preparatory High School

High School Diploma
GPA: 4.40 Class Rank: 1/120 Diploma Awarded: May 2018

Experience

Citadel, Software Engineer NXT (2021 - )

Building quantitative tooling using data management tools like Python, SQL, and domain specific tools in order to better inform traders decisions around risk.

Sambanova Systems, Software Engineer (2020 - 2021)

  • Generated Pytorch models with Erdos-Renyi random topology and uncovered 10+ bugs in our Machine Learning compiler tool chain.
  • Integrated tensorboard in order to visualize ML networks at levels of abstraction ranging from the high-level vector algebraic representation to the on-chip network representation
  • Used machine learning and data visualization Python libraries to visualize, understand and combat performance degradation
  • Added hooks to our C++ compiler toolchain to serialize and deserialize internal state, providing engineers a window into a black-box simulated-annealing algorithm.
  • Course Staff, Discrete Mathematics Berkeley Electrical engineering and Computer Science (2019-2020)

  • Provided timely feedback in a 700-student course
  • Taught small group classes, organized productive office hours, critiqued effective assessments and designed equitable rubrics.
  • Booz Allen Hamilton — 2019 Summer International Space Station Developer Intern

  • Built MSSQL database to track Space Station Inventory generating documentation saving 60+ hours/flight.
  • Designed python approximation algorithms for computational problems stemming from spacecraft dynamics and geometry
  • UC Berkeley Student Tech Services— Web Designer/ Developer (2019-2020)

    Part-time web developer for UC Berkeley Student Tech Services: identifying key features, improving user engagement and experience, and designing backend/frontend integration with client’s vendors.

    Penn Medicine—​ ​Research Intern

    Assisted a nuero-radiologist in order to build a model of brain temperature based on DTI (Diffusion Tensor imaging, a way to quantify the orientation and behavior of fibers) data and also worked in data entry for a longitudinal study on Parkinson’s disease. Part of the training included HIPAA compliance and a discussion of ethical processing of patient data.

    FIRST Robotics Team 1168—Chief Operating Officer

    Led FRC team 1168 to its first championship banner in its 14 years by writing software for tele-operated and autonomous navigation and supervising team logistics, including starting our first-ever off-season training sessions.

    North South Foundation—Volunteer Teacher

    Volunteer taught online classes to middle school students in the United States and the proceeds would go towards scholarships for the underprivileged in India.

    Projects


    Y-Combinator Hackathon - Encryption Accessibility Aid

    Within 24 hours, learned fundamentals of Python Flask and web architecture to build a Web API, which allowed clients to verify an RSA signature against a public key. Concurrently, assisted on a pair of projects. One used OpenCV and a convolutional neural network to automatically output HTML from a website sketch, and one counted cells from a microscope image.

    NASA Space Apps Challenge: Global Judging Nomination

    Collaborated on an interactive phone-bot using Twillio's natural language processing API and on a website to improve our response to natural disasters.

    DiBot.ml

    Dynamic Programming, Bellman Equation

    Implemented a dynamic programming solution which would use Bellman’s equation to create a near-optimal strategy to the given non-deterministic game of imperfect information. The bot ranked 11th against a competitive group of 124 others.

    Minimax AI with Alpha-Beta Pruning

    Wrote a pure Java (no libraries) implementation of a minimax AI, which would play Chess and other deterministic games (Reversi, tic-tac-toe, etc...) by solving out a game tree out to a finite depth.

    Programming Language, Interpreter, and Extensible, Integrated Development Environment

    Wrote a fully-functional interpreter for a “Turing-Complete” language of my own design, and co-wrote a set of packaged development tools to allow users to work with this language and other “esoteric languages”.

    3D Graphics Engine

    Wrote a pure Java implementation of a 3D rendering engine where the camera has all six necessary degrees of freedom along with code to provide varying scenery, including procedurally generated terrain (perlin noise).

    Gesture-Based Playlist Controls

    Within a 36 hour Hackathon (PennApps), co-built a system to allow a user to control a Spotify Playlist with a number of gestures, and built an LED Glove to sync to the beat of the song being played.



    Skills

    Programming Languages & Tools

    Interests

    I enjoy puzzles of all kinds, and I've explored this in a number of different ways ranging from Game-Theory for board-games to solving shortest-code challenges ("code-golfing") on this StackExchange, and I've spent a number of different Friday afternoons doing recreational mathematics.


    In a similar vein, I really enjoy reading academic satire. This years iteration of SIGBOVIK, a satirical conference out of Carnegie Mellon, features some excellent "scholarly research" including a chess engine that does not know where it's own pieces are, as well as an article I wrote "proving" "P = NP" by running away from problems and redefining my cowardice as an "approximation scheme."


    After a long day of tiring myself out trying to solve these problems or making sense of pointlessly elaborate humor, I have two ways to "unwind". The first way is watching/reading Dystopian and Sci-Fi fiction, but the second is distance running.


    Teaching and Research

    While it's true that most of the papers I've typeset are actually just satire pieces for CMU, I'm really interested in CS theory, and I'm openly recruiting for research assistant roles or part time teaching positions in fields relating to Computer Science, Math, Statistics, or Data Science.


    As a teacher, I believe my job is to help not only provide formalisms that lead to a correct answer but also (and more importantly), provide an intuition for why this approach matches our intuitive reasoning. As I evolve as an instructor I think my work will start to reflect this ethos more and more, but for now, and I'll have more academic papers and course handouts to share here, but for now I'll share a worksheet I made for CS 70 (Berkeley, Discrete Mathematics and Probability Theory) along with it's answer key .


    For SIGBOVIK (a satirical conference out of Carnegie Mellon) I was working on a framework for "reluctant proofs" these are proofs such that reading the entire proof is both necessary and sufficient to solve a given NP complete problem. The core primitive in such a proof is that a series of bits with the last one chosen so that the xor of the bits of the bits encodes a bit, look like a series of Bernouli random variables, and the encoded value can only be recovered with all of the bits. However, this left an open question: how long is the minimum witness length for Circuit sat? This took me down an interesting rabbit hole of a relatively interesting result: Conditioned on ETH the minimum witness string for Circuit SAT is ((1 - o(1)) * n) ( proof! ) Please note that the write up is quite informal as it was more of a really fun hobbyist project.


    About Me!

    These images are irrelevant to my abilities as a software developer. Instead, these pictures capture moments I found particularly satisfying for any reason: big or small. I hope these images will capture these little memories in a persistent way and serve as an outlet to show you who I am.


    Simply put, I hope to build more of these moments (no matter how silly) at my next employment or educational opportunity.

    Acknowledgements

    It's important to acknowledge the resources we use, especially when building software. This site was built using Bootstrap. In particular, I adapted this template. Both the template and the Bootstrap framework are licensed under an MIT License.

    Artist's Credit: Stephanie Bie helped out with some of the art on the site. More to come.