Categories
3D Architecture Distributed Teams eCommerce Frontend Innovation Management Performance Engineering VR

New VR UX For Nurseries

(3/19-10/20)

Challenge

Ship new, web-based, VR-powered, eCom experience as requirements changed.

Action

Act 1 : 3/19-5/19

While on my trip to India in April 2019, I formed a Tiger team of one of my best Lead Engineers, a project manager, and two junior engineers, coaching them to see the similarity between what was the business was asking for and current existing components of the system (PLP, PDP, NUX, and Checkout,) setting a plan in motion towards delivering an MVP for the 6/26/19 deadline.

They went heads-down and we successfully shipped v1 (following) on 5/29/20.

ecom landing page

Business priorities shifted and the project was moth-balled, leading to Act 2.

Act 2 : 8/19-10/19

Having shifted focus to more product-based eCom (see Act 1,) the business decided to leverage existing shop-the-room modeling infrastructure in a more user-friendly, web-based purchase flow.

While the original plan was to have them spin up a completely new POC with a new checkout flow, I intervened and met with the remote Technical Project Manager and Architect, providing guidance around the existing monolith marketplace system, knowing it could serve as enough of a “buy” to meet requirements so as not to have to “build” a custom solution.

Shipped v1 in Oct 2019:

Landing Page

Room Detail Page

I saved $40K in redo work after guiding the non-primary, remote, web team around component re-use while then shipping web-based, VR-powered shop-the-room.

Act 3 : 3/20-10/20

Under tight deadline, coached the Pakistani team to iterate and improve perceived and actual load times using CSS Sprites, caching via HTTP headers, use of a spinner, and gzipping in order to get a usable UI to market sooner:

Landing Page

Drilling down, a user looking to design a nursery can swap out items (made possible by a compositing technique with Three.js and photo spheres)

Room Page

Lastly, recognizing future strategic value-add within corporate partnerships, guided the team to decouple the frontend as a Single Page App for iframe embedding after having decreased page load times, introduced progressive enhancement / graceful degradation, and led the SPA strategy.

Results

New VR-powered site finally launched in Feb 2021.

Categories
Culture Execution Leadership Management Process

Lightweight Innovation Delivery

(10/20-2/21)

Challenge

Force-multiply in a process vacuum to deliver re-platformed SPA.

Action

At the beginning of December, the CEO announced we’d need to ship the next version of the application by Dec 18th. A BHAG for sure, it was ambitious but not impossible.

As most of the members of the team had not worked together for longer than two months, there hadn’t been much time for the usual storming/norming/forming.

Absent any process, I knew the path to successful launches would require as little overhead as possible. To that end, I peppered my stand-up updates with the terms of “divide-and-conquer,” “punch list” & “dog-fooding” – concepts that neither engineers nor marketers were familiar with.

When shortly before the 18th the cheese moved, and the delivery date became the 3rd week in January with the scope of the application changes increasing, and a new website was to be launched, I knew my efforts were succeeding when those same previously skeptical team members began using my terminology in their own updates, reinforcing a shared and common understanding of what it meant to keep eyes on the prize and ship “good enough.”

Result

Realized my thought leadership was succeeding when others began using same terminology.

Categories
Forecasting Management Process Troubleshooting

Rolling With the Punches

(11/18-5/20)

Challenge

Finding the right-sized engineering team as the business ebbed and waned.

Action

Nov 2018 – Mar 2019

Two months after joining, in Oct 2018, was surprised by request to provide KLO budget slashing engineering by 60%.

Having only a basic understanding of team members’ strengths and weaknesses, I anticipated the following year’s needs and then presented guidance w/SVP PROD & CEO to corporate parent COO.

We secured fiscal year funding to ensure team/business continuity @ 38 headcount.

Dec 2019

In Nov 2019, was informed we needed to reduce our 25 person Delhi team to 8 for the 2020 fiscal year. I looked over the skillsets of the team and – with a solid year under my belt and experience of who top performers were – decided who would stay.

Saved company $800K by reducing engineering headcount from 38 to 25.

Mar 2020

Then, with the onset of COVID, needed to further reduce team-size, for both India and Pakistan teams.

Given impact of COVID, made decisions leading to add’l $840K reduction from 25 to 9.

Results

  • Adjusted team size as necessary to meet needs of the business.
Categories
Architecture eCommerce Management Process Re-platforming Roadmapping SOA

Changing Engine Mid-flight : Again

(Decorist : 8/18-12/19)

Challenge

Take a half-baked v1.5 SOA and continue re-platforming to support scaled integration with corporate parent and its subsidiaries.

Action

Aug 2018

When I joined, it was with the idea that I would be instrumental in helping scale the Decorist relationship-creation paradigm leading to higher AOV to its corporate parent – Bed Bath and Beyond – and its subsidiaries: Buy Buy Baby and Cost Plus World Market.

I inherited the beginnings of a movement away from a Django/Angular/MySQL monolith and towards a Django/React/Postgres multi-tenant platform; a v1.5 of the application architecture. My predecessor had extracted some facets of the monolith to build out the initial stages of the SOA in partnership with another Bed Bath and Beyond subsidiary: One Kings Lane.

Although labeled a multi-tenant platform, it had been built quickly – effectively as a prototype – to service one tenant and was not truly extensible for other silos, though it did encompass solid SOA principles for reuse.

Dec 2018

As part of roadmapping for 2019, wanting to strategically position ‘scalability’ for the corporate org, I worked with my boss – SVP Prod/Tech – to detail a project plan to leverage the exisitng nascent SaaS paradigm for the next generation of the Decorist user experience.

We were sanctioned by the CEO for reduced scope on the roadmap; it would be the very first effort internally for moving towards a new platform to future-power the site. We focused on porting a back-office, manual task of determinging supply-side match and availability with demand-side need.

Wanting to keep a engineer engaged, I shepherded him and helped him understand the Cost-Benefit trade-offs we would need to make in order to meet the deadline, setting a course of re-using the User service for authentication, builidng out a new React-based UI, and integrating with the monolith.

Feb 2019

A few months later, we delivered the feature of supply-side Matching and Availability:

Shortly after launch, business priorities shifted towards a focus on a new eCom offering and we had to back-burner re-platforming efforts.

Dec 2019

Given guidance that 2020 might be the year we could re-visit re-platforming, I ideated around what was still lacking in v1.5 and what would need to be built out, creating a project plan and technical roadmap for the go-forward.

I worked with my boss again around planning and prioritization and we again provided guidance to CEO. Ultimately, we could not secure the necessary corporate integration buy-in for further progress and have had to defer any further progress given other priorities.

Results

  • Mentored Lead Engineer towards implementation of first feature for new SOA paradigm.
Categories
Distributed Teams eCommerce Management Process Release Management

Managing Distributed Teams (pre-COVID)

(Decorist : 8/18-12/19)

Challenge

Inherited a new, flat, remote, full-time team (web) of 25 (mostly) junior engineers in Delhi when dominant local (SF) office culture was not optimized for remote work. Needed to transform them into Bay Area-level talent while maneuvering them into a manageable hierarchy while at the same time incorporating a contracting team (VR) of 13 in Lahore

Action

Team Organization

Re-organized (and became productive) as Tribes.

Transitioned work culture to remote by getting stakeholders more comfortable with off-peak-hour meetings.

Processes

Introduced Agile paradigm / SCRUM meetings.

Leveraged Google Forms to craft surveys towards quantitatively and qualitatively bettering processes.

Introduced story-point estimations.

Began mastering Jira / work-breakdown through Epics, etc. Started Automated Testing.

Introduced Coda for Program Management

Performance

Tried Koan for performance management and remote visibility.

Introduced reviews and performance tracking with PeopleGoal, empowering local Indian General Manager with structural tools.

Introduced OKRs.

Introduced accountability through personal / sprint goals.

Introduced bi-weekly series email “Get to Know Me!” (as managed through Google Forms); highlighting two Delhi team members per installment. Also eventally created team videos using smartphone-captured content, stitched together through iMovie.

Releases

Created branching and release strategies.

Provided team with Release Notes template for improving communication with stakeholders.

Speed

Incorporated Performance Engineering mindset.

Quality

Led by example by including hyperlinks and project IDs in correspondance.

Reminded people to provide more context in Jira stories.

Reminded QA to provide easy, concise steps-to-verify and testing credentials to stakeholders.

Introduced the concept of “Bug Severity,” Estimated Time to Resolution, and a simple Google Form for reporting (and emailing) bugs to multiple engineering stakeholders who can triage.

Overall, the whole company has seen a qualitative improvement of content of communications between distributed offices; we are all now incorporating more details leading to faster turn-around of higher-quality code.

Results

  • Created outcome-driven processes, best practices, structure, and mentorship for a new, offshore engineering team.
Categories
Distributed Teams Hiring Management

Hard Leadership Lesson

(Decorist : 11/18-12/19)

Challenge

In spite of multiple attempts to provide coaching over six months with repeated support and patience, realized team’s General Manager wasn’t working out as the technical peer/partner I needed for local representation.

Action

Given his importance, was wary of exiting him so did my best to coach him. After 6 months, realized the fit was never going to materialize and worked with local HR to exit him in an amicable fashion.

Then, worked with Manger’s line supervisor and Account Manager towards finding a replacement. Was delighted to find someone more technical, less traditionally represented in such roles, and seemingly eager to take on the challenge.

Worked with her for several months until she exited of her own accord.

Results

  • Replaced remote non-performant General Manager, twice.
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
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
Distributed Teams eCommerce Management Mobile

Managing @ TRR

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

Execution

Provided research support around pre-IPO due diligence of SDLC metrics, teams’ productivity, and intellectual property

Shepherded months-long-overdue supply-side user acquisition feature into production (which had been built by third party vendor but then mothballed) by delegating to senior engineer for verification

Evaluated dev work towards long-term financial capitalization

Made introductions leading to offers for data science intern and candidate for Director of Estate Sales

Supported business’s most-important monthly accounting processes

Participated in Erlang and Elixir Factory 2017 and Google I/O 2017

Performed requirements analysis/discovery around 3rd party video chat solutions as a tactical way to increase supply-side engagement/retention

Proposed and shepherded build-out of Rules Engine POC (using Wongi) to simplify item pricing; abandoned because of time constraints

Hiring, Retaining

Led 21 Software and QA Engineers across seven web/mobile engineering teams (incl. in Russia, Canada, Central America) for:

  • web : Rails/vanilla JS/Resque/MySQL/ElasticSearch on Heroku
  • mobile: iOS and Android

Filled capacities of: Release Manager, (acting) Lead Engineer, Technical Recruiter, Scrum Master, Software Architect, Senior Engineering Representative (C-suite,) and Manager.

Partnered with HR to:

  • identify ways to plan direct reports’ performance improvements while effectively managing reports through direct communication and engagement when issues arise; crafting Performance Improvement Plans as necessary
  • start the engineering internship program in a bid to recruit highly-engaged, motivated potential future junior engineers; bringing on and coaching a female CS major from Columbia
  • to ensure diligence around off-boarding consultancy in favor of a more performant agency

Increased capacity by:

  • collaboratively establishing and tracking against 2017 objectives while engaging direct reports through periodic 1:1s as well as yearly performance reviews, including providing feedback as part of peripheral teams’ review processes
  • making introduction to highly-performant near- (Canada) and offshore (Russia) teams to augment local web teams while organizing and managing engineers and deliverables
  • fielding request to procure more resources on a Tuesday, re-established communication to previously-contacted near-shore agency immediately thereafter, and by Friday of that week, had a contract signed for two engineers to start two weeks later
  • facilitated Agile SDLC through leading standups, backlog grooming, commitment-based sprint planning, and retrospectives

Increased engagement by:

  • mentoring junior engineer in taking on time-sensitive accounting change having major impact to business and shepherded that effort to complete without bugs while meeting the deadline
  • organizing company-culture events for promoting team spirit (holiday party, cocktail contests, bowling, bocce, Exploratorium)
  • doing daily code reviews of teams’ PRs
  • drafted leveling plan

Continued search after multiple Lead engineer candidates ghosted/fell off the radar after offer; including the time after a candidate accepted job offer only then to inform us the day before he was to start that he had accepted another offer

Quality

Took over QA when QAE suddenly left; picking up Ghost Inspector, Runscope, and TestPad

Led eval efforts around Rainforest QA/on-boarding seasoned QAE replacement

Results

  • Led diverse co-located and remote web and mobile teams to deliver the user-facing experience for the premier luxury reseller.
Categories
Hiring Management

Attracting Talent

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

In the absence of a dedicated internal HR resource for technical recruiting, I led the initiative to attract Senior and Lead full-stack software engineers while carrying my multiple other responsbilities.

I turned to Hired, Indeed Prime, Hacker News, LinkedIn, Workable and third-party recruiters to source 100s of candidates. Given the sheer volume, I developed a keen eye to quickly screen and asess candidates for possible tech and culture fit (e.g. current/former titles, size of current org, number of years of experience, tech stack, etc.)

I developed code challenges for the roles, emphasizing frontend or full-stack skills as appropriate, and performed the initial phone screen (partly cultural fit, partly technical.) I then handed off to a Senior engineer for a further technical phone screen and if the candidate passed that, s/he was brought in for a full-day onsite with the team.

I coordinated the day’s pre-brief (who would ask about which topic area) and the de-brief (where the team would vote to move forward or not.) If there was consenus, I would begin the background check process while also working with HR and the CTO to determine the apporopriate amount of compensation and equity and get an offer letter drafted.

Lastly, I faciliated the team’s continual improvement around the interview process.

Results

  • Morphed generic job reqs into team-specific roles to attract candidates fitting tech stack and company culture; got to offer with six, closed one Sr. and one Lead Rails engineer, and kept team’s morale high when candidates declined.