Sam Rawlins

Software Engineer

Phone » (602) 348-2450
GitHub » github.com/srawlins
Email » sam.rawlins@gmail.com
LinkedIn » linkedin.com/in/sam-rawlins-a721ab79/
Web » srawlins.dev - live version of this resume with hyperlinks to open source work
Experience
2018 Nov - current

Senior Software Engineer

Google Inc

Aug 2016 - Nov 2018

Software Engineer

Google Inc

Feb 2013 - Aug 2016

Software Engineer in Test

Google Inc

 
Dec 2010 - Jan 2013

Principal Systems Analyst/Developer

University of Arizona

 
Oct 2006 - Dec 2010

System Test and Performance Engineer

IBM

Education
May 2008

Bachelor of Science - Mathematics and Computer Science

University of Arizona, Tucson, AZ - 3.1 GPA

Hard skills
mastery
Software development - developer tools
mastery
Software development - build systems / large codebases
excellence
Software development - front end
Technologies
mastery
Dart language
excellence
Java language
mastery
Ruby language
experienced
Bazel build system
mastery
Python language
experienced
AngularDart / Angular
excellence
Sass language
experienced
node.js
excellence
JavaScript language
experienced
git
excellence
HTML/CSS languages
experienced
Unix shell
Soft skills
mastery
Team communication - communicating with teammates both local and remote does not just mean email; I work efficiently to tighten communication loops within and across teams.
mastery
Code review - working together on teams requires competent and compassionate code reviews; I deliver thorough and pragmatic code reviews.
mastery
Test culture - from working for years as a Software Engineer in Test, I promote a culture of good testing practices, from unit testing to end-to-end testing, from testing one thing at a time, to testing public API, checking in regression tests for bug escapes to failing tests for open bugs, earning good test coverage (but not necessarily perfect), and more.
excellence
Agile methodologies - I have worked on Agile teams with scrum masters, Kanban boards, true stand-ups, and safe, effective retrospectives; I believe in the effectiveness of choosing work cycle methods per-team, per-project that best help the team get things done.