Michael Safyan

Michael Safyan

Away on vacation
Mentor
5.0
(1 reviews)
US$15.00
For every 15 mins
2
Sessions/Jobs
free badge
First 15 mins free for your first session
ABOUT ME
Senior Software Engineer at Google
Senior Software Engineer at Google

Senior Software Engineer at Google Inc. on Google Cloud Platform, formally on Search, with experience in C++, Java, Python, and more. For my resume: resume.michaelsafyan.com

English
Eastern Time (US & Canada) (-05:00)
Joined March 2016
EXPERTISE
12 years experience
C++ is the first programming language I ever learned, so I literally have been programming in C++ as long as I've been programming. Thoug...
C++ is the first programming language I ever learned, so I literally have been programming in C++ as long as I've been programming. Though I am no Matt Austern (a fellow Googler who sits on the ISO C++ standards committee), I am extremely well-versed in C++ and consider myself to be an expert in the langauge. I use C++ for my work on a regular basis, contributing new and modifying existing C++ code in a massive, highly complex code base. I regularly conduct code reviews for C++ changes by fellow Googlers, and I conduct code reviews where the candidate's primary language is C++. Prior to Google, I used C++ all throughout my college years (and before that, in high school, when I taught myself the language) and in various internships. In addition to the language, itself, I am also rather familiar with systems programming; at one point, as hobby / when I was first learning C++, I attempted to write a cross-platform library that incorporated nearly every capability imaginable. While this turned out to be an ill-informed and fruitless effort, it resulted in gaining deeper knowledge of the UNIX (a.k.a. IEEE Std 1003.1 POSIX) specification as well as their analogues in the WIN32 API. Both C++ and Java are my strongest programming languages, and I consider myself extremely qualified to provide help and advice related to C++ programming. I hope that you will take advantage of my knowledge and experience in this area. For more about my qualifications, please see: https://www.michaelsafyan.com/resume
ArrayInitializationMemory allocationDynamic arraysLinked listLinkedlistCircular doubly linked listSTLHeader filesTemplateConstructorsReferencesMakefileGnu makeGCCG++PointersPass by referencePass by valueTemplate meta programmingDestructorRaiiScopingException handlingException safetyMultithreadingThread safetyStandard libraryLibraryPolymorphismOOPVirtualSmartpointersBoostIostreamUnixPosixPthreadsC++11C++
View more
11 years experience
As a Senior Software Engineer at Google, I am frequently writing new Java code and contributing to existing Java code in a massive, highl...
As a Senior Software Engineer at Google, I am frequently writing new Java code and contributing to existing Java code in a massive, highly complicated code base. I frequently advises / mentor more junior engineers on Java-related changes. I've provided 1:1 mentoring in Java to other software engineers at Google. I also regularly review Java code changes at Google and conduct interviews with candidates programming in Java. While I'm no Joshua Bloch (the creator of the Java API), I do consider myself to be a Java expert. Both Java and C++ are my strongest programming languages, and I consider myself extremely qualified to provide help and advice related to Java programming. I hope you will take advantage of my expertise. For more about my qualifications, please see: https://www.michaelsafyan.com/resume
7 years experience
Python is one of my favorite programming languages. I've used Python extremely frequently during and since college (where I used it for a...
Python is one of my favorite programming languages. I've used Python extremely frequently during and since college (where I used it for a large fraction of my assignments). Outside of work, most of my Python usage has been in the creation of websites hosted on Google App Engine (such as my personal website). And, at work, I've written an internal debugging tool on App Engine with Python, I've modified or contributed to numerous Python-based tools, and written Python scripts to automate my own workflows. I also review Python code written by fellow software engineers and conduct interviews of candidates whose primary language is in Python. For more about my qualifications, please see: https://www.michaelsafyan.com/resume
7 years experience
At Google, I have written JavaScript on more than one occasion (usually in conjunction with the Google Closure library), I review and cri...
At Google, I have written JavaScript on more than one occasion (usually in conjunction with the Google Closure library), I review and critique JavaScript code written by fellow engineers, and I conduct interviews for candidates whose expertise is in JavaScript. I have also used JavaScript in some of my internships and courses prior to Google. Outside of work, I have written and continue to write JavaScript code for various hobbyist projects, usually with the aim of sharpening my skill set and picking up new frameworks; lately, I have been experimenting with Polymer web components. For more about my qualifications, please see: https://www.michaelsafyan.com/resume
5 years experience
At Google, I have written plenty of HTML and CSS code for various pieces of the Knowledge Graph UI in Search. I also regularly review HTM...
At Google, I have written plenty of HTML and CSS code for various pieces of the Knowledge Graph UI in Search. I also regularly review HTML and CSS contributions to Google Search from fellow software engineers. And I continue exercising my skills in a hobbyist capacity (such as for my own personal website). For more about my qualifications, please see: https://www.michaelsafyan.com/resume
5 years experience
I've used a number of different build systems, ranging from GNU Make to Bazel (Google's open source build system). I also have some passi...
I've used a number of different build systems, ranging from GNU Make to Bazel (Google's open source build system). I also have some passing familiarity with Ant, Maven, Gradle, Grunt, etc. I am very comfortable with Make and know enough about these other systems to be dangerous with them. If you need help deciding on a build system, setting up a build workflow, or debugging your build process, this is something that I can likely help you with.

REVIEWS FROM CLIENTS

5.0
(1 reviews)
David Lee
David Lee
April 2016
Super helpful! Gave really clear in-depth explanations of concepts I have been struggling with.