Viraj Bangari's CV
This is a collection of all my work experiences, side projects, and school work. To contact me, please use LinkedIn.
Work Experience
Apple: Software Engineer (iOS Backup)
Jan 2020 - Present, Cupertino, CA, USA
Apple: Software Engineer Intern (Core Build Technologies)
May 2019 - Aug 2019, Cupertino, CA, USA
- Developed software for the distributed build system used for macOS, iOS, watchOS and tvOS releases.
- Experience with MapReduce workloads for Apache Spark using Python and C.
- Parallelized I/O-bound workloads by using asynchronous ThreadPools.
- Saved 450 MB of RAM usage for Spark workers and 250 MB for disk images that customers will install.
Microsoft: Software Engineer Intern (Azure Compute)
May 2018 - Jul 2018, Redmond, WA, USA
- Developed a high-performant and reliable “record and replay” service for the Azure fabric controller.
- High performance and space-efficient HTTP serialization using bond, kernel ETW events and Kusto. Multi- threaded and asynchronous programming in C#. Tool had a negligible overhead in response times.
- Successfully recorded twelve hours of production traces and replayed it locally.
Queen’s University: Software Engineer
Sept 2017 - Apr 2018, Kingston, ON, Canada
- Maintained and developed for the open source Qlicker project (meteor.js)
- Introduced continuous integration, improved performance in various places, and reduced third-party dependencies by using ES6 features.
Microsoft: Software Engineer Intern (Dynamics 365)
May 2017 - Aug 2017, Toronto, ON, Canada
- Created functionality to un-provision accounts from the Business App Discovery Resource Provider to ease the transition towards GDPR compliance. A script that used this functionality was safely ran on over three million accounts in production.
- Added end-to-end features to the D365 portal, from API calls to React bindings and GUI rendering.
- Improved and standardized telemetry reporting to understand user behaviour and root cause issues.
Phase Shift: Web Developer
May 2016 - August 2016, Mississauga, ON, Canada
- Designed and deployed a responsive website using Flask, jQuery and Materialize CSS.
- Created a secure MySQL-based portal to allow marketing teams to easily customize content.
SBE International: Software Developer Intern
May 2016 - July 2016, Shenzhen, Guangdong, China
- Designed and documented an automated integration testing framework built with jUnit and selenium webdriver.
- Tests were implemented into the continuous integration pipeline.
Kingston Frontenac Public Library: Code Dojo Mentor
Jan 2016 - April 2016, Kingston, ON, Canada
- Designed fun exercises to teach programming for children and preteens.
Education
- Bachelor of Applied Science from Queen's University
- Engineering Physics with Computing Specialization
- 2015 - 2019, Dean's Scholar
Skills
-
Proficient in C, C++, Objective-C, Python and MATLAB.
-
Software: Concurrency, Atomics, System-level software, RTOS, Compilers, Numerical Computing.
-
Hardware: Oscilloscopes, Microcontrollers, Signal Processing, Lock-in Amplifiers.
Projects
puthreads
A preemptive userspace threading library written in C. It also comes with spin locks, timers, non-blocking semaphores and barriers.
Ultrafast photonics for Convolutional Neural Networks (Undergraduate Thesis)
Designed a hardware architecture to perform convolutions using silicon photonics, RF and waveguides. The design is estimated to be up to 14 times faster than GPUs for performing convolutional tasks. A hardware simulator was also written.
SimpleCoin: Cryptocurrency
Created a functional cryptocurrency, from scratch, in less than 1000 lines of python using SHA256 and RSA.
Quby: Compiler
Modified a four-stage, S/SL Pascal compiler from the 1980s to compile the “Quby” programming language. Created rules for the scanner/screener, parser, semantic analyzer and code generator.
Thermocycler for Queen’s Reduced Gravity Design Team
Cartridge-heater based thermocycler that operates in a zero gravity environment. Implemented the heater design, PID control software, state machines and user interface.
Solar Cell SAST and IV Tracer
Single axis solar tracker and IV tracer that works with a BPW34 photodiode. Experience with LabVIEW programming, signal processing, Solid Edge CADing and 3D printing.
Neural Networks
Implemented a feed-forward neural network from scratch in C++. Up to 86% accuracy with the wine quality dataset.
QFace
Architected an OpenCV and C++ powered facial recognition app using agile methodologies with team of six.
Jsonfun
A tiny, single-allocation, dynamically structured JSON library for C.
Achievements
- Engineering Physics Design Award (Best Thesis), 2019
- Microsoft college coding competition, 1st place, 2016
- Limestone hacks, 3rd place, 2016