Objective
build Things that last
That is my guiding principle when it comes to building software, teams and relationships. This does sometimes make my passion for innovating at the bleeding edge more difficult because I will forgo taking shortcuts whenever possible to create a long term solution. I have found however that putting the right machinery in place early on will often be a force multiplier to future progress and will make you more resilient to sudden changes in the ecosystem you inhabit. A case in point being my most recent project which is bringing the best of what VMware has to offer to the field of Spatial Computing. You can see a quick preview of the work we have been doing in the header video. I made early decisions to build on top of extensible open source tooling and to contribute back to it whenever possible which has meant that despite the rapid introduction of new hardware we are able to, with the help of the open source community, keep pace with the industry.
Experience
VMware, Palo Alto - Architect AR / VR
November 2018 - Present
I am the software Architect for VMware's efforts around Spatial computing. This project was pitched by myself and two colleagues to our Office of the CTO accelerator program XLabs. It was approved for three years of funding by our ex-CTO Ray O'Farrel and we are due to exit this program in 2021, then graduate into an existing business unit at VMware.
-
Hired and onboarded a team of eight engineers which involved things like creating a HackerRank test focused on Spatial Computing and playing the role of a "bar-raiser" in our interview loops to make sure we were asssessing the right skills
-
Created the high level product architecure and validated it with our Technical Fellow community and worked with individual engineers to create their detailed functional specifications to establish a technical roadmap for our funding period (three years)
-
Participated in customer briefings (Gulfstream, ARAMCO, etc..) and partner discussions (NVIDIA, Facebook, MagicLeap, etc...) to provide technical expertise with the aim of creating and solidifying these relationships
-
Created a set of contribution processes (Coding standards, reviews and unit/functional testing) and established tooling (Unity, Gitlab etc...) that would allow us to execute in a space totally new to VMware
-
Own on time delivery of releases for major milestones such as VMworld 2019 where we presented our augmented workflows soluton to the VMworld customer/partner community and Michael Dell
-
Provide onging technical leadership to the team which involves thought leadership (Two filed patents), making high impact technical decisions (When to use and contribute back to OSS for example VRTK), conducting code-reviews for major features and mentoring junior employees (three interns)
-
Developed a patent pending cloud based object recognition solution that would enable Augmented Reality devices to stream frames from their camera to a server which would run inferences using CV and then reproject those bounding boxes back into three dimensional world space and render on device
-
Developed a patent pending schema based approach to create both VR immersive training and AR workflow guidance from a single source of truth that establishes the components of the workflow, their spatial relationships in an assembled state and the steps required to connect them
-
Created a POC demonstrating streaming a Virtual Reality application using the NVIDIA CloudXR protocol from a virtual machine running in VMware's SDDC with a virtual GPU attached. Optimized the performance of the virtualizaton layer to achieve two simultanous sessions on a single VM at 60fps each
VMware, Palo Alto - Staff Software Engineer
July 2016 - November 2018
I was a technical lead on the team that migrated the functionality of the vRealize Suite of products to the micro-services based cloud-native product Cloud Automation Services. In particular, I owned the framework that enables automated management of various cloud services from AWS, Azure, GCP etc…
-
Created a GoLang microservice which ran open source Terrafrom providers as a scalable cloud service that formed the backbone of our desired state configuration engine for public cloud services. This enabled us to roll out support for a new service in a matter of days instead of weeks
-
Contributed to and acted as a team-wide expert on our homegrown Java microservices framework Xenon (Now open sourced) that unified load balancing (Custom), asynchronous business logic (Netty) and data storage (Lucene+RAFT) into a single node which could then be scaled horizontally to meet demand
-
Authored Lucene document schemas that would be used for backend data storage to ensure that data could be queried as quickly as possible while maintaining clear architectural boundaries between components
-
Created a zero-downtime upgrade system that would allow data migration from blue to green nodes, while intelligently load balancing the traffic based on the "owner" of a document
-
Utilized 20% time to create a Virtual Reality application to enable visualization and management of the datacenter at scale (10,000+ VMs) which was presented on stage at VMWorld 2017 by our CEO Pat Gelsinger
VMware, Palo Alto - Sr. Member of Technical Staff
July 2014 - July 2016
I was part of the team that built vRealize Automation 7 and vRealize Code Stream. Our focus was on making the experience of managing the private and public cloud as seamless as possible and fully automating every part of the cloud-native application lifecycle.
-
Created a patent pending plugin based approach to CI/CD artifact management that would allow Code Stream to integrate with multiple repositories like Jfrog Artifactory
-
Open sourced the SDK for creating similar plugins so that other external partners (Puppet, Chef, ...) could extend CodeStream CI/CD pipelines with their own building blocks
-
Migrated UI framework from Google Web Toolkit to ExtJS and modernized the look and feel of the vRealize suite of products
-
Became a member of our University Propel mentoring program which involves working closely with a hand picked new college graduate over an extended six month internship with the goal of placing them in a full time position at VMware
Microsoft, Mountain View - Software Development Engineer 2
December 2011 - July 2014
I worked on the Microsoft Terminal Services team building iOS and Android applications to give users on these platforms a first party experience. Prior to this my main focus was developing high speed image processing algorithms for the Terminal Services codec.
-
Re-architected a number of legacy Win32 libraries to cross compile on Windows, iOS and Android to enable a cross platform Terminal Services Client using one codebase
-
Created a framework to allow drawing and displaying user interface elements on both the iPhone and the iPad using a single codebase
-
Designed and implemented a suite of UI controls that would allow users to interact with keyboard/mouse driven windows desktop naturally while using a touch driven iOS device
-
Modified a platform independent HTTPS transport stack to support federated authentication using a proprietary authentication scheme which is slated for use across all our platforms
-
Developed patented high speed image processing algorithms for Microsoft Terminal Server using Intel SSE3 vector instructions to enable doubling the compression of our codec with no subjective quality loss and a less than 1% increase in encoding time
Microsoft, Redmond - Software Development Engineer
September 2008 - December 2011
I worked on the Microsoft Windows Home and Small Business Server team building their Out Of Box Experience and then on the Microsoft Terminal Services team using the Windows Azure platform to develop various components for our enterprise cloud services.
-
Implemented a network based setup for Microsoft Small Business Server comprising a web based front end driving an OS setup bootstrap which applied the settings over a reboot
-
Architected an HTML5 front end framework on top of Microsoft’s ASP.Net to enable writing an AJAX-enabled, multi-browser, lightweight UI that could be written using Microsoft tools
-
Wrote a build system on top of Microsoft Team Foundation Service optimized for building, automatically testing and deploying live services currently in use by a team of 30+ developers
-
Was part of a team wide initiative to come up with best practices and methodologies for agile development in order to enable Windows Server to build services with weekly release cycles alongside in-box products with yearly cycles from a common codebase
Platforms
Languages
Frameworks
Interests
LEGO
Sci-Fi & Fantasy
Motor Racing
Archery
Taiko
Education
Stanford Graduate School of Business, California
Stanford Ignite Accelerator
Graduated May 2018
Stanford University,
California
B.S. Computer Science with a minor in Economics
Graduated May 2008
Ibn Seena English High School, United Arab Emirates
A levels in Physics, Chemistry, Math & Economics
Graduated June 2004