Michael Safyan

Resume

Objective

Senior software engineer with 5+ years of industry experience and a masters in computer engineering seeks a rewarding career working on interesting, challenging, impactful projects that will benefit society and leave the world a better place.

Skills

Languages

C++

Java

Python

HTML

CSS

JavaScript

Platforms

App Engine

Android

UNIX

Experience

Google Inc.

Cloud Platform Engineer on Stackdriver Monitoring

  • Assisted the team in fixing bugs that were blockers towards making a "beta" feature "generally available". These bugs included numerous changes throughout many layers of a complicated tech stack that spans several languages as well as many different styles and procedures (as some of the components were homegrown, following typical company conventions, while others were brought in through an acquisition and have not yet been brought into consistency with the rest of the system).

Knowledge Graph Backend Engineer

  • Designed and implemented a simple, stable, easy-to-use RPC and JavaScript API for retrieving Knowledge Graph data in Search and other Google products as well as in prototyping new features.
  • Collaborated with the Google Web Server team in the design and implementation of an internal service provider interface for augmenting the capabilities of the Knowledge Graph data API in a modular way.

Knowledge Graph Frontend Engineer

  • Designed and implemented various APIs and infrastructural simplifications to make it easier for feature developers to add new components to knowledge graph cards and other types of cards in Search.
  • Designed, implemented, and lauched the frontend and backend serving code for the knowledge graph music actions feature on an aggressive timeline, successfully meeting the Google I/O launch deadline (it was used in a demo for the Future of Apps and Search presentation at the Google I/O developers' conference). This included fetching the data from a backend database, ranking the links, and rendering them as well as reading/writing search history to boost the last clicked entry on subsequent searches and spanned multiple systems and languages, including C++, Java, HTML, CSS, and JavaScript. Also managed and oversaw the contributions to this feature from three more junior team members.
  • Designed a configuration file format for describing fake knowledge graph cards and implemented a system to load and display these within Search using the standard knowledge graph rendering in order to enable the creation of the Halloween knowledge graph easter eggs by allowing the Doodle team to provide simple configuration files for each monster. Design to launch was completed with less than a month's notice.

Google Web Server (GWS) Engineer

  • Implemented a system that allows for the proprietary templating language used within Search to call back into functions written in C++ or Java. This feature is widely used in the Search HTML code to query configuration logic from within templates as well as to invoke i18n formatting routines on template inputs.
  • Designed and implemented an extension to the proprietary templating engine used within Search to simplify the use of JavaScript. In particular, this extension enables feature developers to write JavaScript directly in their templates and have the JavaScript automatically appended to a section for deferred JavaScript at the bottom of the page rather than rendered where their template had been invoked.
  • Lead the i18n rollout of SSL Search on the standard www.google.* domains and contributed to the rollout of SSL Search on www.google.com, including various rollout configurations, the creation of a commit hook to detect mixed mode content in code prior to submission, various types of production monitoring to detect mixed mode content in production, automating the rewriting of certain resource URLs for HTTPS pages in the templating engine, and triaging and fixing numerous mixed mode bugs.

Step Ahead Studios

  • Designed and implemented a minigame framework for controlling the progression, difficulty, and scoring of minigames and developed a couple minigames using this framework.
  • Created various libraries in ActionScript 3.0 to support the game, including a logging library similar to log4j, a persistence library built on top of SharedObject, and a localization library for looking up translations in both the audience's' language and the language being taught.

Do-A-Poll

  • Designed the schema for the MySQL database to represent the various types of users and polls.
  • Implemented a PHP wrapper library on top of the MySQL database for creating and retrieving poll data.
  • Evaluated varous open source page templates and adapted the template to create the Do-A-Poll website.

Exegy

  • Modified C++ monitoring software to persist monitoring data to a MySQL database using MySQL++.
  • Created a Java Swing desktop GUI that retrieves the monitoring data over RMI and displays it.
  • Modified the C++ CORBA code on the robot to support the play/record wheel movement commands.
  • Implemented a minimal robot remote control GUI in Java/Swing to facilitate testing.
Education
  • Master of Science in Computer Engineering (M.S.Co.E.)
  • Bachelor of Science in Computer Engineering (B.S.Co.E.)
Honors
  • Magna Cum Laude
  • Dean's List
  • Tau Beta Pi
Disclaimer

My statements are my own and do not necessarily reflect the opinions of Google Inc.