Software Engineer
2014 - 2016Soundrop- Worked on the back-end of the music marketing web app, show.co, whose campaigns are seen by hundreds of thousands of end users.
- Implemented a payment and subscriptions system using Braintree as the service provider.
- Wrote microservices in Erlang and Haskell using REST and WebSocket RPC for inter-service communication.
- Co-wrote an efficient, scalable chat system whose synchronization algorithm was presented at the Commercial Users of Functional Programming conference (CUPF) in 2014.
- Integrated logging and error reporting to our systems using services such as Rollbar.
Technologies: Erlang (OTP), PostgreSQL, Haskell, ErlangSoftware Engineer
2013 - 2014Telenor Comoyo- Worked on moving payment in-house as a PCI-DSS compliant service provider.
- Maintained and improved the payment and subscriptions system.
- Led a team of interns in creating a proof-of-concept mobile banking app for the Malaysian market.
Technologies: Python, JavaR&D Intern
2013 - 2013Galois Inc.- Worked on the Ivory language (http://ivorylang.org).
- Helped develop features for a Haskell EDSL for building high-assurance, embedded software for microcontrollers.
- Developed a run-time verification library for ensuring that a given set of temporal logic invariants held.
- Wrote a GCC compiler plugin that allowed variables in C code to be instrumented and monitored at run-time.
Technologies: Formal Methods, Domain-specific Languages (DSLs), GCC, HaskellEngineer
2011 - 2013ARM- Developed Linux drivers for the Mali-400 series GPUs.
- Worked with customers such as Samsung to resolve issues with new and existing hardware products.
- Added support for new kernel features as they were adopted by Android and Tizen.
- Did QA work in preparation of releases of our drivers to customers.
- Worked on confirming and analyzing bug reports from QA testing from customers and reports from customers' end users.
Technologies: C, Linux