Senior Software Engineer2014 - 2019Google (Search Team)
- Served as the tech lead of a system for querying and interpreting data from various search engines. Led a team of three engineers plus contributors in providing consultation and custom dev work to dozens of search sub-teams.
- Developed means to integrate disparate sources of data (from UI, logs, additional side channels) for cohesive analysis.
- Spearheaded cross-department initiative and design to transition from consulting model to principled API with plugin points.
Senior Software Engineer, Infrastructure2012 - 2014Google (Chrome Team)
- Acted as the tech lead and manager for Chrome's WebDriver automation initiative (aka ChromeDriver). The team included three full-time engineers and a half dozen contributors from stakeholders across Chrome and Google.
- Established dev processes for building, testing, releasing, bug handling, and customer interaction.
- Integrated ChromeDriver into the test cycle of popular Google products.
- Represented the Chrome team in several W3C WebDriver standardization meetings.
Software Engineer in Test2009 - 2012Google (Chrome Team)
- Created a system in Python to traverse the web, perform rudimentary UI interaction, and detect/triage/report crashes. Integrated system with Chrome's fuzzing infrastructure and crash database.
- Extended Chrome (C++) to allow for automation of e2e test cases involving DOM querying/manipulation. Provided IPCs to allow vendors to write out-of-process tests using Python.
- Created a C++ framework (based on GTest/GMock) for the ChromeFrame team to write e2e tests with Internet Explorer (IE). Allowed configuring canned HTTP server responses and basic IE automation through MS Active Accessibility and IAccessible2.
- Extended Chrome extensions C++ testing framework (based on GTest) to run on Mac and to support extension update/installation test case scenarios. Improved test stability by fixing race conditions on Linux.
- Inherited a lab with GPUs for automated testing of O3D, a 3D graphics browser plugin. Wrote the infrastructure to automate various OS' browsers and perform snapshot-based testing. Integrated with Buildbot CI and made a web app for debugging failures.
Software Engineer Intern2008 - 2008Argon ST
Technologies: Multithreading, C++, Java
- Wrote integration tests for Java and C++ applications.
- Debugged test failures and other bugs in multithreaded C++ code.
- Participated in team design and bug triage meetings.
Software Development Engineer Intern2007 - 2007Microsoft
Technologies: MacOS, Objective-C, Cocoa
- Developed a macOS desktop application for integrating with a Windows-only issue/bug management system.
- Learned and made use of MacOS's Cocoa and Core Data frameworks, as well as team-specific Objective-C conventions.
- Held a design/code review meeting and presented the application at a department meeting.
Software Developer Intern2005 - 2006NASA
Technologies: C++, Objective-C, Cocoa, MacOS, Linux
- Contributed to the development of a platform for viewing/exploring data in virtual 3D reality as a member of a student team. Wrote C++ to allow recording and playing back flights on Mars terrain.
- Added functionality to CFD application in Objective-C to automatically determine the curve of intersection between two meshes. Exposed functionality and configuration parameters via a UI.
- Helped present and demo both technologies at department and school meetings.