Categories
3D Collaboration Process Troubleshooting VR

Salvaged PR Opportunity

(Decorist : 3/19-3/19)

Challenge

Marketing opportunity showcasing company’s proprietary shop-the-room modeling was four months behind and at-risk after key in-house designer departed and PR client was losing patience.

Action

I took ownership of project management, working with new designer and remote Pakistani VR engineering team, introducing a lightweight process (spreadsheet-based and daily 15m check-ins) in order to get backlog of shop-the-room models modeled and bundled into our VR (Unity-based) design app.

Results

Categories
Management Monitoring Process Site Reliability Troubleshooting

All the False Positives

(Decorist : 9/18-12/18)

Challenge

Inherited a situation where there were incomprehensible 1000+ issues per day in exception reporting software (Sentry.)

Action

Identifed and delegated KR to FE lead to create a daily process to chip away at remediation. Encouraged accountability by having FE lead give status report weekly.

Results

  • 1000+ to 7 system alert notifications.
Categories
Coordination Distributed Teams Leadership Process

An American Helps Ukrainians Transfer Knowledge to Indians

(Decorist : 8/18-9/18)

Challenge

One week after joining, I realized that a Knowledge Transfer trip (T-3 weeks) for the 8-person Kiev team to handover reins to the newly-formed 25-person Delhi team based was in jeopardy because travel logistics had not been taken care of.

Action

I persistantly followed-up with six East coast corporate travel coordinators over two weeks, advocating on behalf of the Ukrainian team while also securing my own travel.

Early Sep 2018, I hopped on a flight to Delhi. Before we got down to business, we enjoyed a day outing.

Then, we gathered to kickoff the week.

Results

  • Coordinated travel, led the agenda, and ensured a smoothly-faciliated-transfer while on-site.
Categories
Management Process

Impactful Planning

(Bluxome Labs : 11/17-11/17)

It has been my finding in small, medium, and large engineering orgs that any engineering leader faces challenges in primarily these three areas

  1. recruit and retain top-notch engineering talent
  2. engineer appropriate level of software quality
  3. ensure stewardship of engineering costs

I was brought in to consult, delivering an approach as well as methodology for measuring progress in those areas. Below is the generalized version of my deliverable.

30 Day Plan

  • Establish presence and key relationships
    • establish trust and rapport through get-to-knows with
      • execs
      • key business partners in ENGR, PROD, DSGN, etc., and
      • impactful ICs
    • understand engineers’ motivations
  • Get familiar with the company
    • become conversant around business
      • get a better understand of company values/KPIs
      • review product roadmap and identify engineering objectives
      • identify/facilitate improvements for any engineering/product bottlenecks
    • familiarize self with engineering processes
    • get hands-on with codebase; implement features and/or fix bugs
  • Recruit top-notch engineering talent
    • formulate/revise current job reqs as necessary
    • reach out to own network to populate open reqs
    • incentivize engineers to recruit friends/former co-workers
  • Retain top-notch engineering talent
    • review/establish benchmarks around engineer productivity
    • establish monthly Developer NPS
    • encourage pairing
    • engage engineers around
      • SDLC processes, including TDD/testing and release management
      • tools (scripts, shells, editors, aliases, etc.)
  • Engineer appropriate level of software quality
    • review/establish benchmarks around software quality
    • examine engineering/product relationship for any potential improvement wins
  • Ensure stewardship of engineering costs
    • review engineering spend
    • identify categories for re-allocation as appropriate

60 Day Plan

  • Get feedback from C-Suite
  • Recruit top-notch engineering talent
    • internally-facing
      • review anticipated engineering challenges of next 24 months
      • review/assess Applicant Tracking System (e.g. JobScore)
      • ensure that company is represented on GlassDoor
      • present to executives a review of needs vs. current team resources
    • externally-facing
      • setup engineering blog (one-time)
      • incentivize engineers to provide content for engineering blog (ongoing)
      • post job reqs to Hacker News on the first of the month
  • Retain top-notch engineering talent
    • internally-facing
      • review/revise engineer productivity benchmarking
      • establish engineering orgs values; establish any further training needs
      • tie company initiatives back into engineering efforts
      • establish
        • catered team lunches (weekly)
        • refactoring Reviews (monthly)
        • lunchtime tech-talks (monthly)
    • externally-facing
      • strategize around engineering at company as a desirable place to work (as determined by positive reviews on GlassDoor)
  • Engineer appropriate level of software quality
    • review/revise benchmarks around software quality
    • inventory/assess/establish action items around
      • performance, scalability, and stability of key user experiences
      • testing strategy
  • Ensure stewardship of engineering costs
    • socialize generalized cost details among trusted advisors in my network for further ideation around cost reduction

90 Day Plan

  • Recruit top-notch engineering talent
    • internally-facing
      • monitor GlassDoor for action items (monthly)
    • externally-facing
      • continue to post job reqs to Hacker News on the first of the month
      • participate (and incentivize participation amongst engineers) in outreach towards 1) recruiting 2) promoting the company’s engineering culture and 3) professional development
      • host a Meetup on engineering-relevant topic (quarterly)
  • Retain top-notch engineering talent
    • internally-facing
      • review results of Developer NPS; assess any action items
      • establish
        • 2-day Hackathons (semi-annual)
        • team-building offsites (quarterly)
        • leveling plan
  • Engineer appropriate level of software quality
    • support culture of data-driven decision-making
    • continually review overall tact as manifestation of company/engineering values
  • Ensure stewardship of engineering costs
    • ensure that any new initiatives involving ENGR meet key criteria for ROI
    • review forthcoming scalability, security, reliability goals; organize initiatives accordingly

Results

  • Delivered immediate-term vision and strategy towards high-performance engineering culture.
Categories
Integration Process

Planning @ TRR

(The RealReal : 9/16-9/17)

Upon learning of a shift in business logic potentially adding $500K to the bottom line, worked with a junior engineer to apply an Occam’s Razor approach for planning necessary system changes; empowering said engineer to run point, taking the rest of the team with, delivering functionality without bugs and well ahead of project schedule.

Lacking a company-adopted product management tool, built spreadsheet for tracking engineering efforts as they facilitated delivery against business initiatives and key product priorities (against milestones tracked in Pivotal.)

Regarding Engineering org’s movement towards an Elixir-based SOA:

  • Scoped 50K-ft-view project plan towards porting all functionality
  • Coordinated efforts of local and remote engineers for prioritized, accelerated port of supply-side acquisition funnel from Rails to Phoenix

Provided high-level technical scoping for company’s best-performing (2017) lead-acquisition features:

  • friend referral (via Friendbuy) and
  • reconsignment (e.g. demand-side users selling items they previously bought)

Facilitated logistical and technical scoping around periodic (~2x/year) commission rule changes affecting key business metric : cost-of-consignment.

Led engineering effort around integration of third-party referral program (Friendbuy,) providing guidance that we could deliver in six weeks, then leading post-mortem around process inefficiencies preventing us from delivering before eight weeks.

Led representation around quality initiatives while interfacing with 3rd-party provider (Rainforest QA.)

Results

  • Contributed strategically and tactically towards planning and executing work.
Categories
Innovation Leadership Process Prototyping SOA supply-side

Phoenix Homepage POC

(The RealReal : 2/17-3/17)

Early in 2017, a Tiger Team formed of me, a Lead ENGR, the CTO, the VP PROD, and a PM.

The CTO and VP PROD had an idea to empower Merchandising and Marketing to further drive content/conversions from the Homepage. While they previously had some power to manage that content through an admin interface with a limited schema, the idea was to give them even more creative expression, allowing them free-reign over their HTML.

A few weeks into the project, the Lead ENGR, who had been tasked with building out the intial POC, left (leaving us in a lurch.) Under pressure, I still delivered basic CMS functionality via Rails and demo’d same to the C-suite.

Shortly thereafter, when requirements radically changed and the mandate from the CTO was suddenly to move towards a WYSIWIG experience through a 3rd party Content-as-a-Service provider as rendered via Phoenix, while moving away from a lazy-load landing page to a 3×3 grid, I built out a simple placeholder homepage in Elixir and then evaluated and prototyped against several CaaS vendors (e.g. Prismic, Kentico Cloud, Contentful.)

When the CTO settled upon Prismic for us to move forward with, I conceived the project plan for engineers to carry the effort forward while also developing the initial migration plan for porting route-by-route from Rails to Phoenix.

Results

  • Built MVP of company’s Rails-to-Phoenix migration.
Categories
demand-side eCommerce Frontend Innovation OOJS Process Prototyping

Better NUX

(Bluxome Labs : 6/16-6/16)

Towards improving the New User Experience, Design came up with the idea to use Callouts around page elements whose affordance wasn’t intuitive.

Given the mockup, I set about implementing it pixel-perfectly.

For the first pass, I simply crafted the markup based on Bootstrap’s Alert and hid it by default, revealing it with JS if logic was met.

Then, realizing that the Bootstrap Alert wasn’t sufficient for Design’s needs and that the Bootstrap Popover was, as well as that there would be opportunity to re-use the code elsewhere in the platform, I created a JS Class for the NUX (a.k.a. “Callout”) and subclassed (example) accordingly, modifying the markup accordingly.

Results

  • Established team habit around refactoring and improving OOJS.
Categories
Architecture Building buy-in Collaboration demand-side eCommerce Frontend Leadership Performance Engineering Process

UI Tech Debt

(Bluxome Labs : 3/16-6/16)

A remnant of the legacy codebase from the company’s origins eight years ago, the two most important routes on the platform for quality assurance had never been moved from the company’s original Merb app to its companion (upgraded) Rails experience (back when a first movement towards SOA happened three years prior.)

They were rightly regarded with trepidation given their dependence on MooTools when the rest of the platform had been moved to jQuery, especially as the Jasmine suite for their coverage had been mothballed about 18 months before and those same MooTools libs were tightly-coupled between two platform applications.

Towards a future of less frontend tech debt, I seized on the opportunity to champion and shepherd the project (as a Q2 engineering goal) through to completion.

Over the course of three months, I led the effort around project scoping, weekly communication around engineering effort, and architecting and leading the implementation, interfacing with Product and Design to ensure quality in light of the absent test coverage.

Results

  • Delivered on decoupling strategy for static asset management / Webpack’d bundles while collabratively iterating with VPE/VP PROD and Sr. Engineers
Categories
Building buy-in Frontend Optimization Process

Shifting Mindset

(Bluxome Labs : 4/16-6/16)

Prior to Q2 2016, the team had supported Product’s goals for delivering feature-value without ever considering engineering goals (better code quality/maintainability, page performance, workflow improvement, etc.) I took initiative to flesh out high-level deliverables for the quarter.

Below is an example of a set of performance metrics around the most-highly-trafficked page on the platform.

Though we didn’t meet this particular goal for the quarter – mostly because of a move to Webpack from RequireJS in late-April and then the introduction of React on the page in mid-May – the simple fact that the data was being tracked represented a major paradigm shift towards that of being a data-driven team, whether around page performance OR engineering deliverables.

Results

  • Introduced quarterly, data-driven, engineering KPIs.
Categories
Architecture Building buy-in Collaboration demand-side eCommerce Management Process

Overhauling Quality

Bluxome Labs : 4/16-4/16)

Test Questions have long been the quality assurance mechanism of the CrowdFlower platform.

The interactivity behind them was created around 2008 in MooTools as part of a Merb application; that interactivity was never ported, even as the company increasingly adopted Rails and jQuery. For over three years, discussion has been of porting the Test Question interface out of Merb (the last presentation-layer in that app) and into a company-standard Rails app. Given the expected amount of effort with little user-benefitting ROI to be realized for simply a straight port, it’s easy to understand why it had only ever remained a discussion.

Finally, in April, 2016, the stars aligned when the VP of Product expressed a desire to spend time on improving Test Questions usability while the VP of Engineering decided the time was right for moving forward on a micro-service architecture, dividing “frontend” and “backend” responsibilities accordingly. I seized on the opportunity (without being mandated to do so) because I saw that we could kill two birds with one stone

Following is an inventory (I created the initial format for) of JS libs across three different routes (completed by a junior engineer)

I then used this inventory in conjunction with a Jira report to help scope the effort and parcel out work to likely candidates, an example of which can be seen below

Finally, I tracked progress in a wiki page, providing status updates to key stakeholders.

Results

  • Laid groudwork for complete FE overhaul, including success criteria and risks, after shopping technical ideas around with Lead engineers, VP PROD, VP ENGR.