Clint Andrew Hall Email: resume@clintandrewhall.com Web: https://www.clintandrewhall.com ================================================================================ I'm an Engineering Lead and User Interface Engineer. I work to make the web beautiful, both on its surface and beneath. I'm a demonstrated expert in HTML, CSS and JavaScript, React/Flux/Relay, and more. I specialize in techniques promoting web agnostics, semantics, and accessibility. I'm comfortable with varying levels of skill in any web full stack, having written and maintained production code in JS, PHP, Java and Ruby-on-Rails. I currently prefer React+Node or React Native for most of my personal projects. I'm a regular consumer and occasional contributor to open source projects and client APIs. If I have a suggestion for a website or application, I prefer to demonstrate the idea using an API rather than just describe it-- Code Wins Arguments. I look for opportunities where I can make strong, direct and meaningful contributions to a team, to users and to the web. I'm comfortable functioning as both designer and engineer, advising on both the technical and aesthetic. I'm affable and good-natured, yet results-driven and competitive. I have extensive experience working remotely, particularly during my time at Facebook and Elastic. EMPLOYMENT --------------------------------------------------------------------- Tech Lead, Shared UX, Elastic (2021-12 — Present) I'm the Tech Lead for Shared User Experience (Shared UX) for the Application Experience organization at Elastic. The team was conceived by myself and other leaders to bridge the gap between design and the myriad of solutions that comprise the Application Experience organization. Our mission is to make consistency across our solutions a product. My role is leading the team through a technology lens, coordinating projects, and consulting with other tech leaders across Elastic. My team is responsible for creating, maintaining and supporting Shared UX infrastructure, like components, hooks and services. We also promote patterns from our design organizations, fostering adoption through evangelism and codifying them in our infrastructure. We're also responsible for unique UX solutions, driving our projects across organizations, and consulting with teams to deliver consistent experiences. - [kibana/138962](https://github.com/elastic/kibana/pull/138962) - Complete package architecture migration - [kibana/136488](https://github.com/elastic/kibana/pull/136488) - Package architecture + storybook mock - [kibana/130355](https://github.com/elastic/kibana/pull/130355) - Create multi-package strategy for components - [kibana/127546](https://github.com/elastic/kibana/pull/127546) - Create Package-based Architecture for Shared UX - [kibana/123772](https://github.com/elastic/kibana/pull/123772) - Create Customer Chat component for Kibana in Cloud - Pitch and develop team mission, strategy, and roadmap Area Lead, Presentation Team, Elastic (2020-10 — 2021-12) The Kibana organization created a new team-- Presentation-- responsible for [Canvas](https://www.elastic.co/what-is/kibana-canvas), [Dashboard](https://www.elastic.co/kibana/kibana-dashboard), and any other product considered a "presentation container". I became the Area Lead for this new team, coordinating efforts between these products and the rest of Kibana. I continued my previous responsibilites, this time on a larger scale: overseeing and coordinating technical efforts, representing the team across the org, and contributing significant or moonshot enhancements. - [kibana/103202](https://github.com/elastic/kibana/pull/103202): Convert Canvas to use Service Abstractions API - [kibana/102446](https://github.com/elastic/kibana/pull/102446): New Canvas Homepage - [kibana/95435](https://github.com/elastic/kibana/pull/95435): "Labs" service for enabling experimental projects. - [kibana/88112](https://github.com/elastic/kibana/pull/88112): Plugin Services abstraction and shared component library. - [kibana/51318](https://github.com/elastic/kibana/issues/51318): Coordinated completion of "Time to Visualize". Area Lead, Canvas, Elastic (2018-10 — 2020-10) In October of 2018, I accepted a role with [Elastic](https://www.elastic.co) to work on [Kibana](https://www.elastic.co/kibana), specifically a new, ground-breaking beta plugin called [Canvas](https://www.elastic.co/what-is/kibana-canvas). Soon after, I was named the new Area Lead. I was responsible for overseeing and coordinating our technical efforts, representing the team across the org, and contributing significant or moonshot enhancements. During my tenure I directed project efforts for 1 major and 9 minor releases, including the General Availability (GA) release of Canvas from beta. I introduced a number of technologies and architecture approaches that stabilized and enhanced the plugin, and oversaw migration of valuable bespoke technology to the Kibana ecosystem, (e.g. [`expressions`](https://www.elastic.co/guide/en/kibana/current/kibana-expressions-plugin.html)). - [kibana/46278](https://github.com/elastic/kibana/pull/46278): Built novel means of embedding Canvas Workpads. - [kibana/38850](https://github.com/elastic/kibana/pull/38850): Introduced [Storybook](https://storybook.js.org) for rapid development and testing. - [kibana/36252](https://github.com/elastic/kibana/pull/36252): Introduced internationalization architecture. - [kibana/35087](https://github.com/elastic/kibana/pull/35087): Introduced Typescript. - [kibana/31734](https://github.com/elastic/kibana/pull/31734): Significant React performance investigation. User Interface Engineer, Facebook NYC (2015-04 — 2018-06) When I first moved to the NYC Facebook office, I joined the Composer team for a "hack-a-quarter", converting the Composer to React, and then worked on the Share Dialog. Eventually Events found themselves with a large number of React and Relay projects, so I rejoined my former team remotely. I built the new Events Dashboard and Permalink, and implemented many "under the hood" improvements. - New Events Dashboard for desktop in Relay. - New Events Dashboard for the mobile site in XHP. - New Events Permalink for all web surfaces in XHP. - New React + Flux Composer, and the new Share Dialog using that component. - New 'Minutiae' controls-- the structured data (Photos, Activity, Tags) found in Composer. User Interface Engineer, Facebook Vancouver (2013-08 — 2015-04) In 2013 I joined the Vancouver office with an amazing cadre of engineers from all over the world. With a Canadian fiance, it made sense for me to bring Facebook experience (and culture) to a group of "n00bs". While there, I worked on the Protect and Care team developing a new Messaging Inbox built in React. I also implemented the Open Graph Share dialog for FB Platform in XHP. - New Help Center Inbox for desktop in React. - New "How-to" panels for the Help Center. - New Platform Share Dialog for mobile and desktop in XHP. User Interface Engineer, Facebook HQ (2012-01 — 2013-08) I joined Facebook in 2012 as a User Interface Engineer (UIE) on the Mobile Core Web team. I then joined the Accessibility team to help make Facebook more useful to everyone on the web. After several hackathons involving Events, I joined the team full time to rewrite the web experiences on both the mobile and main website. Afterwards, I spent some time with the Platform team, reworking a number of different web flows, like OAuth, and embeddable components like Share, Hashtags and Topics. - New OAuth flow dialogs for developers using Facebook. - New Share, Hashtags and Topics plugins for developers. - New mobile web experience for the Events Dashboard and Permalink. - Improved the Accessibility of Facebook, including a new way to "see" photos. - New core components for mobile web for product teams. Web Evangelist, Cerner Corporation (2009-10 — 2012-01) As Cerner's first Web Evangelist, I was responsible for advancing web best-practices to teams, both existing and emerging. I basically served as ad-hoc advisor with respect to semantics, accessibility, web agnostics and the responsible use of CSS and JavaScript. - New OpenID SDK for the iPhone. - Redesigned a semantic search servive to use JSON-P - "Proscenium", an experimental technique of compiling templates in JS libaries for isomorphic rendering. - Spoke about Progressive Enhancement as a necessary philosophy. Principal Architect, Socially Adept Geek, LLC (2010-10 — 2012-01) In my spare time I operated a consultancy where I helped clients and friends with custom code, strategies and advice on their web projects. I shuttered this consulting business as part of my agreement to work at Facebook. Software Architect, Cerner Corporation (2007-01 — 2009-10) For a several years I was a Software Architect for Healthe, enforcing cross-browser compatibility, semantic markup and accessibility, developing CSS layouts and advanced JavaScript controls, and conducting platform research. I would also prototype HTML code based on paper designs, allowing the team to communicate intent to clients, stakeholders, usability and engineers. - Inculcated a comprehensive browser-agnostic web philosophy, massively improving accessibility, portability and performance. - Invented the 'Web Bootstrapper', a patented technology that allowed semantic web pages to adapt to the heuristics of any device, dynamically. - Consultant and mentor to teams and engineers on web technology and development. Sr. Software Engineer, Cerner Corporation (2005-01 — 2007-01) For several years I worked on the ePrescribing (eRx) and Community Health Record (CHR) solutions for treating Medicare populations in several states. I would interpret functional requirements into a coherent user interface and visual design. - Proposed and built the "New Navigation" project, which was a radical redesign of the UI based on usability studies and feedback from sales. - Novel architecture pattern discarding JSPs in favor of full modules of aggregate presentation components, adding entire workflows to any WAR using standard J2EE and Struts configurations. - Mentored software engineers and other architects in semantic markup practices and prudent Javascript. Application Developer, Cerner Corporation (2003-10 — 2005-01) When I joined Cerner, I took on the role of Presentation Layer Developer for the "Web Experience" solution, specifically Order Management. I would design, document, and develop the UI for order placement, drug catalog browsing, and proactive interaction checking and alerting. - Reusable, component-based rendering system which resulted in an 80% reduction in markup in JPSs, as well as sharing between solutions. - Subject matter expert for most presentation layer technologies, and reviewed most of that code from my (and other) teams. I ended up teaching a few courses for new associates. Application Developer II, Sprint (2003-06 — 2003-10) I held a brief role at Sprint, transitioning from Accenture Outsourcing to Sprint PCS. I rolled on to the Architecture team, and was responsible for applying design patterns, creating interfaces to back-end applications, and overseeing code development across releases. Outsourced Analyst, Accenture (2001-07 — 2003-06) Employed as an Analyst in the Outsourcing organization for a number of client engagements. - At a Wireless Telecom engagement, I wrote web-based Java interfaces for a customer care billing platform. - At a Long Distance Telecom engagement, I was on-call and responsible for monitoring load balance and processing time on switches using SQL. - At a Broadband Telecom engagement, I created test plans for development teams across the US and Canada. Intern, Symbol Technologies (1998-01 — 2001-01) I spent three summers writing complete web-based applications for quality control efforts. EDUCATION ---------------------------------------------------------------------- Rockhurst University (1997-09 — 2001-08) Major in Computer Science, minor in Theatre WRITING ------------------------------------------------------------------------ Web Presentation Layer Bootstrapping for Accessibility and Performance (W4A, 2009-04-20) In this paper, I present a the Web Bootstrapper, a technique that allows a developer to write a single site while still providing multiple experiences, or "skins," without altering source or running costly client-side code. It is a process by which an accurate collection of only those static resources and metadata necessary for a unique experience be delivered passively, by the most performant means possible. RECOGNITION -------------------------------------------------------------------- Irene Ryan Acting Scholarship, KC/ACTF (May 2001) Three-time nominee for excellence in Acting. 2nd Place - Arts and Literature, ThinkQuest (Oct 1997) Created "Shakey's Place", a website about Shakespeare featuring a 3D Globe Theatre. Placed Second in Arts and Literature category totaling $48,000 in scholarships. Team Leader, designed interface and 3D graphics, programmed Perl 5 scripts, designed HTML layout.