< Back to Sunjay.ca Download PDF Version

Sunjay Varma

Proven, exceptional skills refined by over 8 years of experience writing high quality software

Work Experience

Software Developer - konradgroup.com Konrad Group, Toronto, ON, Jan - Apr 2016

  • Led the planning and implementation of the entire frontend and backend for a project from start to finish
  • Cleanly implemented the entire frontend of the project following the standard practices for combining Redux and React
  • Learned ASP.NET MVC in a matter of days and effectively used it to create the backend APIs of several projects using C#

Lead Software Architect & Developer - janetingley.com/anyware/ anyWare (University of Waterloo), Waterloo, ON, May - Aug 2015

  • Led a small team in the design and development of the entire software architecture for orchestrating many robotic sculptures
  • Created a system and set of algorithms for reliably synchronizing multiple clients in realtime despite high volumes of input
  • Intelligently chose state-of-the-art technologies and design patterns to reduce development effort and improve code

Intermediate Web Software Developer Co-op - smartamp.com SMART Technologies, Calgary, AB, Sep - Dec 2014

  • Performed at or above the level of an intermediate/senior developer, implementing complex Java and Ember.js features
  • Commended by CTO of company at the end of work term for outstanding performance

Web Software Developer Co-op - smartamp.com SMART Technologies, Calgary, AB, Jan - Apr 2014

  • Quickly mastered Ember.js and developed many robust features
  • Became fully integrated member of team in just a few weeks

Full-stack Developer Part-time - clinicsense.com Clinic Sense, Toronto, ON, Jul 2013 - Oct 2014

  • Reliably delivered excellent, high quality and robust software above and beyond given specification

Page 2

Sunjay Varma

Personal Software Projects & Open Source Work

Snake Game AI - sunjay.ca/snake/ Artificial intelligence that plays the game snake quite well (most of the time)

  • Designs a multistage, real-time algorithm to effectively play the game snake at 15 FPS
  • Intelligently uses assumptions to refine knowledge representation and produce better results
  • Organizes design process in great detail with diagrams and thorough explanations (see GitHub issues)

Reversi Game Implementation & AI - github.com/sunjay/reversi Functional programming implementation of the game Reversi using Haskell with AI to play the game against you

  • Modelled rules and data of the game Reversi using functional paradigms in Haskell
  • Applied the negamax artificial intelligence algorithm to create a program capable of defeating humans
  • Achieved a reasonably user friendly text interface for playing the game in a terminal

Evaluating Simple Math Expressions With Units - github.com/sunjay/lion An interpreter for a non-programming language that makes it easy to evaluate math expressions with units

  • Developed a simple domain-specific language that makes incorporating units into calculations intuitive
  • Implemented scanner, lexer, parser and evaluation runtime using idiomatic Rust with high test coverage
  • Algorithmically used relationships between units to avoid exhaustively defining every possible conversion

Maze Generator - sunjay.ca/maze-generator/ Visualization of a custom designed algorithm that generates mazes and then solves them

  • Designed an effective knowledge representation for a maze that ensures that there are no cyclic paths
  • Created an algorithm to generate interesting, reasonably complex mazes of arbitrary size
  • Visualized proven maze solving algorithms like A* and backtracking with a real-time animation

Fast Sudoku Solver - github.com/sunjay/sudoku Very fast sudoku solving algorithm implemented in C (with sudoku formatter for readability)

  • Exhaustively searches for a solution in an intelligent way which fills in "obvious" solutions to save time
  • Optimized algorithm by reducing memory allocation and applying heuristics before naive search methods
  • Of the 21,885 puzzles tested, 87.2% were completed in less than 1 second, 81.9% were completed in less than half of a second, 71.1% were completed in less than 0.1 seconds

Tile-based Universe Creator - sunjay.ca/tile-universe/ 3D editor for making tile-based landscapes; built as an AI playground (using Three.js)

  • Developed a clever algorithm for generating undirected graphs through the 3D geometry of each tile
  • Created a fully-featured 3D editor interface for modelling and saving tile-based worlds
  • Implemented a wandering car artificial intelligence to explore the roads of the created worlds

More projects as well as my writings on various technical topics can be found on my website: sunjay.ca