C

Chris Westin

Co-Founder

San Francisco, California, United States31 yrs 4 mos experience

Key Highlights

  • Expert in large-scale web infrastructure and services.
  • Proven track record in database optimization and design.
  • Strong leadership in architectural design and mentoring.
Stackforce AI infers this person is a Backend-heavy Fullstack Engineer with expertise in Database Technology and Cloud Computing.

Contact

Skills

Core Skills

Software EngineeringMobile DevelopmentDatabase EngineeringSoftware DevelopmentArchitectural DesignPerformance EngineeringCloud ComputingBackend DevelopmentArchitectural LeadershipTechnical StrategySystem ArchitectureFrontend Development

Other Skills

JavaAndroidGoogle Play ServicesJSONMapRDBOJAIRecommendation SystemsApache DrillGoCloudSQLRESTful Web ServicesPostgreSQLC++MongoDBAggregation Framework

About

Design and lead the construction of software systems, including libraries, server components, servers, web sites, web services, and back-end systems. Current focus on scalability and availability of web infrastructure; database expertise; interested in branching into mobile development. I like to manage technology. My preferred role is as an Architect or Senior Individual Contributor that has some degree of design and oversight responsibility as well as ownership of some piece of code. I like to keep my hands in the code so I stay current with whatever I'm working on, as well as with developing technologies. The balance of architecture and coding can vary depending on the project size and current needs. I like to partner with development managers and provide technical guidance while they manage the project. I'm happy to work with engineers at a range of experience levels, providing mentoring and engineering guidance as required. It's not about the title or the size of the company, it's about how interesting the work is, and what I get to do. General interests include large-scale web infrastructure, web services and service oriented architecture, availability, scalability, database kernels, and programming languages. Generally not interested in heavy front-end development, although I do this as a means to an end, e.g., to access my own tools or dashboards. Not interested in managing. Specialties: Excellent generalization and abstraction skills; strong coding discipline geared towards performance, reusability, scalability, and availability; excellent writing and teaching skills; learn quickly -- I can pick up and evaluate any language, library, or system when I need to; highly self-motivated, requiring little supervision.

Experience

31 yrs 4 mos
Total Experience
1 yr 10 mos
Average Tenure
--
Current Experience

The harker school

Teacher

Jun 2019Jul 2019 · 1 mo · Santa Clara

  • Teach Advanced Programming for Summer School for students preparing for the Advanced Placement Exam in Computer Science.

Google

Senior Software Engineer

Jul 2018Feb 2019 · 7 mos · San Francisco Bay Area

  • Working on Google Play Services for Android. Simple wrapper to emulate newer job scheduling features in older versions of Android. Instrumentation to perform experiments to find ways to save power.
JavaAndroidGoogle Play ServicesSoftware EngineeringMobile Development

Mapr technologies

Principal Software Engineer

Sep 2016Jul 2018 · 1 yr 10 mos · San Francisco Bay Area

  • Designed and implemented the JSON document query engine for MapRDB 6.0 (exposed via the OJAI 2.0 interface). Used the new secondary indexes to optimize single table queries, including support for concatenated key indexes, partial indexes, projections, covering and non-covering indexes, relational and non-relational operators (like, exists, is null, etc), limits, sorts, and simple costing for choosing among multiple candidate indexes. Generated Drill SQL queries when index statistics predicted larger result sets whose work could be parallelized, or which would require large (disk-bound) sorts. Designed and implemented enhancements for MapRDB 6.1 to add JSON array query capabilities based on secondary indexes of individual array elements.
JSONMapRDBOJAIDatabase EngineeringSoftware Development

Ooyala

Architect

Nov 2015Aug 2016 · 9 mos · San Francisco Bay Area

  • Helping multiple teams with big picture design of their systems. Primary focus has been on the design of the infrastructure to support a recommendation system built around prediction.io.
System ArchitectureRecommendation SystemsArchitectural DesignSoftware Engineering

Mapr technologies

Principal Software Engineer

Oct 2014Oct 2015 · 1 yr · San Jose, CA

  • Work on Apache Drill. Java. Finished the scalar replacement feature, which uses ASM to rewrite Java bytecode to replace boxed values in generated code with scalars for performance improvements. Improved the control flow around query fragment execution and cleanup to make cancellation and error handling more consistent and stable in order to prevent hanging. Rewrote the direct memory allocation system to simplify it and increase it's accounting strictness and improve memory leak detection; fixed many memory leaks (found with the improved allocator) as part of this project. Assorted other bug fixes, and code cleanup.
JavaApache DrillSoftware DevelopmentPerformance Engineering

Google

Senior Software Engineer

Apr 2013Oct 2014 · 1 yr 6 mos · Mountain View, CA

  • March 2014 -- October 2014: Worked on the control plane for CloudSQL (hosted MySQL on Google Cloud Platform). Java.
  • September 2013 -- March 2014 : Began working on an unannounced development tool targeted at GCE (Google Compute Engine). C/C++. Project was canceled.
  • April 2013 -- September 2013: Worked on an internal infrastructure project to build a key-value store for storing system configuration parameters. Added thread-safety and multi-client capabilities to existing single-process server written in Go; deployed server for load-balanced use.
JavaGoCloudSQLCloud ComputingSoftware Engineering

Ultimate food fight

Co-founder, CTO

Jun 2012Apr 2013 · 10 mos · San Francisco Bay Area

  • Built the applications and technology infrastructure behind them for Ultimate Food Fight.
  • Ultimate Food Fight is a mobile social app that connects foodie passion with consumers who seek out great food. Behind the scenes it serves as a social marketing platform for food and beverage retailers and brands by reflecting social activity onto Facebook. Ultimate Food Fight promises to become the most comprehensive, trusted, and reputable destination for food recommendations available.
  • I built our backend using Java: embedded Jetty for RESTful web services and pages, Jersey, JAXB, Akka, my own Mustache4j, JavaMail, JDBI, Joda-Time, Apache HttpComponents, Trove, urlrewritefilter, and suites of JUnit tests. I've implemented Facebook OAuth, Open Graph posts, Wall posts, and a few feed queries. I've built development mode features to enable page development by non-engineers. I build RPMs for deployment to Fedora hosts (via my own yum repo) on Rackspace Cloud. Data is kept in Postgres 9.1. I've also implemented some small features and bug fixes for our native iOS client. I manage the production, test, and development deployments for our small team.

10gen, the mongodb company

Software Engineer

Feb 2011Jun 2012 · 1 yr 4 mos · Palo Alto, CA

  • Built the new aggregation framework for the core MongoDB server (a NoSQL JSON document store implemented in C++), providing functionality similar to SQL's group-by; this is an implementation of dataflow concepts in a loosely typed environment. MongoDB obtained a patent for this #8,996,463, "Aggregation Framework System Architecture And Method." Fixed bugs in other parts of the server. Spoke at meetups and conferences. Answered support questions in free forums and for paid support customers. Delivered customer training. Onsite consulting at customer sites.
JavaRESTful Web ServicesPostgreSQLMobile DevelopmentBackend Development

#lspe meetup

Co-organizer

Jun 2010Feb 2014 · 3 yrs 8 mos · Sunnyvale, CA

  • I choose the topics and organize the speakers for this popular Bay Area meetup. Each month I invite two to four speakers to talk about a variety of topics related to large-scale web engineering. I partner with HR folks at Yahoo! who provide the location and refreshments for the events.
  • Check us out at http://www.meetup.com/SF-Bay-Area-Large-Scale-Production-Engineering/ .

Yahoo!

Chief Architect

Apr 2010Jan 2011 · 9 mos · Sunnyvale, CA

  • Oversee Service Engineering organization: track and push global initiatives such as IPv6 adoption, infrastructure modernization, process improvements, career development, and hiring process improvements; chair council of leading service engineers from across the company: identify expertise, best practices, and solutions that could apply across organizations, and drive adoption; work with product architects to ensure development efforts result in products that meet Yahoo! operability and service standards.
C++MongoDBAggregation FrameworkDatabase EngineeringSoftware Development

Netflix

Senior Software Engineer

Mar 2009Apr 2010 · 1 yr 1 mo · Los Gatos, CA

  • Fix bugs in the web application core. Investigate storage technologies for long term availability and scalability strategy. Begin the re-engineering effort to decompose the monolithic application into distinct scalable available RESTful web services. Built highly available web service to handle streaming device registration.
Service EngineeringInfrastructure ModernizationArchitectural LeadershipTechnical Strategy

Loomia

Senior Architect

Oct 2008Jan 2009 · 3 mos · San Francisco, CA

  • Designed and built a downloadable Flash/actionscript3 widget to display content recommendations from within Brightcove (a video CDN) video players; specified web service interfaces required for the widget to operate. Enhanced existing feed processing mechanisms (written in Python) to support additional formats for Video content. Enhanced incremental feed URL handling. Document design best practices. Install and maintain TWiki for internal documentation; wrote Python scripts to migrate data dump from decommissioned hosted JotSpot Wiki.
Web ServicesRESTful APIsSoftware DevelopmentSystem Architecture

Yahoo!

Senior Principal Architect

Mar 2005Oct 2008 · 3 yrs 7 mos · Sunnyvale, CA

  • Lead a team of senior engineers in the creation of an architecture for the Media groups’ properties’ long-term requirements, supporting loosely coupled components including feed processing, metadata enrichment, storage, caching, and presentation; oversee construction of the constituent components and the design of the protocols between them. Created an information architecture for component documentation. Devised the long-term architectural plan for the Media group’s presentation framework, a page generation engine designed to serve the needs of front-end engineers, production staff, and business analytics. Designed and implemented an XML DOM composition and caching service (DOM kernel). Designed and implemented PHP libraries to simplify the implementation of pure REST web service clients and services. Resident REST expert for the Yahoo! Media group; architectural evangelist, producing a great deal of documentation.
FlashActionScriptWeb ServicesFrontend DevelopmentSystem Architecture

Tivo

Architect

Dec 2002Mar 2005 · 2 yrs 3 mos · Milpitas, CA

  • Designed and implemented widgets and mechanisms for TiVo’s custom user interface toolkit, Silicon, which has a strong resemblance to java.awt at its lowest levels, but is implemented in C++. Built simple HTML text formatting, various widgets, focus management, highlighting, and rule-based dynamic layout. Introduced an object composition mechanism that provided more flexibility in mixing and matching screen and widget behaviors than would be possible with inheritance. Worked extensively with the user interface design team to build a flexible framework on top of this toolkit that would make building TiVo user interface screens easy and consistent. Supported internal use of this toolkit for work on various partner projects, providing enhancements and bug fixes as needed. Periodically assisted with implementation and bug fixing on other projects that were late.
ArchitectureComponent DesignArchitectural LeadershipTechnical Strategy

Ms2

Business Objects Team Lead

Mar 1998Sep 2002 · 4 yrs 6 mos · Palo Alto, CA

  • Designed and built various components for MS2’s distributed marketing automation tool, “Accelerate.” Designed the client-server change replication framework, including publish/subscribe, conflict detection and version management; designed the property subsystem. Managed data persistence using an object database (ODI). Led the design, and implementation of a replacement data store based on ODBC/MSSQLServer.
C++User Interface DesignFrontend DevelopmentSystem Architecture

Brio

Architect

Dec 1997Mar 1998 · 3 mos · Palo Alto, CA

  • Built a prototype reporting engine to demonstrate how to obtain functionality required for Brio’s next generation reporting tool.
Distributed SystemsChange ReplicationSoftware DevelopmentSystem Architecture

@home networks

Engineer

Apr 1997Nov 1997 · 7 mos · Redwood City, CA

  • As a member of the Set-Top team, evaluated cross-platform development tools for building embedded systems. Built a prototype electronic program guide in Java and JavaScript which provided user controllable scrolling, expanded program information on demand, and television program bookmarking; developed CGI programs which could be used to bookmark the guide from TV network web sites, as well as from within the guide itself. Continued on to build a real version of the program guide for the Navio set-top box.

Connect inc

Senior Systems Architect

Mar 1994Apr 1997 · 3 yrs 1 mo · Mountain View, CA

  • Designed and developed the V2 client and server (OneServer), including a generic marshaling service for transmitting and receiving objects; a portable co-operative thread library, memory allocators, output formatting, data structure packages, a data dictionary on top of Oracle for storing composite application-specific types, and rule based access control. Worked with early adopters on application design, and on specifications of future features. In the fall of 1995, promoted from Senior Systems Architect to Chief Software Architect; also served as Acting Director of OneServer development; continued design and some development while managing 14 engineers. Resumed full-time design and development spring 1996; designed and built high-performance portable synchronization primitives; built a shared memory cache for our server; led and reviewed designs for other projects being developed in our group; built a proof-of-concept prototype for a Java forms package for use with OneServer.

Microsoft

Member of Technical Staff

Dec 1991Mar 1994 · 2 yrs 3 mos · Redmond, WA

  • Prototyped software component connection system demonstrating the ability to use components in Microsoft applications such as Word, Excel, Publisher, and Powerpoint. Components included windows, controls, tools, toolbars, text containers and viewers, table containers and viewers, and graphical elements. Designed and built a production quality version for release with Cairo using OLE2, supporting strongly-typed bi-directional connections, peer-to-peer connections, parent-child connections, hierarchical composition, and live composition of software components in something like an EECAD tool. Microsoft obtained two patents for this work under the titles "Method and system for notifying clients using multicasting and for connecting objects using delayed binding" (#5,794,038), and “Method and system for interfacing components via aggregate components formed by aggregating the components each with an instance of a component manager” (#5,517,645).
JavaThread ManagementSoftware DevelopmentSystem Architecture

Metaphor

Staff Engineer

Jul 1991Nov 1991 · 4 mos · Mountain View, CA

  • Research, design, and prototyping for a new workstation environment that would support and promote end-user connectable software components. The target was to build a second generation version of the Metaphor Data Interpretation System (DIS) product, but which would support third-party components and connection signatures. Contributed to papers on technical and marketing requirements.
OLE2Component DesignSoftware DevelopmentSystem Architecture

Oracle

Senior Technical Staff

Sep 1986Jun 1991 · 4 yrs 9 mos · Redwood Shores, CA

  • Designed and implemented shared cursors for Oracle V7 (A SQL RDBMS implemented in C): set up parse time data structures to share cursor execution plans and manage user state storage. Designed and built the data layer for Oracle V6: manage space within db blocks; format and manipulate db rows; create log records for changes to rows; handle row-level locking; set up parse-time structures for run-time DML operations. Designed and built sequence number facility for V6. Led the design phase of a team project to build a fast data loader for V6. Designed and built a hook to provide a replicated data facility in V6. Fixed bugs in various parts of the system. Provided technical support to other organizations within the company. Reviewed and made corrections to RDBMS manuals. Taught sessions to new hires on ORACLE coding disciplines. Made significant contributions to Oracle C coding standards, ensuring ANSI compliance, and writing comprehensive sections of the coding standard document.

Education

Yale University

BSEE — Electrical Engineering

Jan 1981Jan 1985

Stackforce found 100+ more professionals with Software Engineering & Mobile Development

Explore similar profiles based on matching skills and experience