Categories
Backend eCommerce Frontend Performance Engineering Process

What To Do With a 9s Page Load?

(Decorist : 9/18-12/19)

Challenge

Inherited a two-fold challenge: 1) less-than-optimal user experience of 9.01s Avg. Page Load Speed and 2) a culture that did not yet value performance engineering.

Action

Idenfitied initial frontend and backend low-hanging fruit (e.g. page structure, image resolutions, N+1 queries, lazy-loading, etc.) Identifed and delegated KRs to FE leads. Introduced process to methodically follow up each week, pressing the case for performance engineering over months.

Below, a sampling …

Some initial efforts shaved ~3s of the Homepage:

Lighthouse score soared from 5 to 61:

There were multiple speed improvements of up to 50% on various pages across the site as a result of backend query improvements and a +300% bump YoY in SEO traffic (verified by 3rd party SEO consultant)

After Dec 2019, we shifted focus to non-converted UXes after having addressed low-hanging fruit for all UXes.
Sept 2018 to Dec 2019

Results

  • Record Avg. Site Page Load Speed of prevous four years : 9.03s (Sep 2018) to 4.13s (Dec 2019.)
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
Emails Process Site Reliability Troubleshooting

Flying Blind

(Decorist : 5/19-10/19)

Challenge

Lack of logging/monitoring (including for email sending/deliverability) made it impossible to know if integrations were affecting system/application uptime.

Action

Odd for an email marketing company: stakeholders would ask about email deliverability and engineering had no insight because no loggging/tracking had ever been instrumented.

Planned initiatve for adding integration monitoring while digging deep into application code and Amazon SES, instrumenting new features going forward, but given time and resource constratints, not retrofitting existing ones.

Results

  • Created visibility into metrics for company’s key component: email marketing.
Categories
Process

Env Consistency

(Decorist : 8/19-8/19)

Challenge

Since the beginning of the company, six disparate environments had organically come into being, each powered by their own DB – unnecessarily complicating testing.

Action

Introduced daily process for prod data replication with scrubbed PII propagating to other environments.

Results

  • Homogenized environments, empowering staff to use prod login on any env, greatly simplifying testing and
Categories
Building buy-in Distributed Teams Performance Engineering Process Roadmapping Strategy

Leveling Up

(Bluxome Labs : 6/18-7/18)

During the course of June and July 2018, I supported leadership (CTO/VP ENGR/Head of Platform/VP PROD/CEO) around engineering topics such at Brazilian-startup Pipefy around the codebase, Product Engineering, SDLC process, culture, and roadmap(s,) transitioning from a monolith to Service Oriented Architecture, platform strategy, scalability, maintainability, and uptime.

Among other contributions, I:

  • Coached CTO and VP ENGR around operational excellence, particularly thinking in terms of AS-IS versus TO-BE.
  • Introduced idea of maturing IT processes towards forecasting, in particular via a Capacity Plan.
  • Provided thought-leadership around managing remote teams, partly out of own experience, partly as informed by Best Practices.

Results

  • Identified strategies and tactics to qualitatively improve processes.

 

Categories
Budgeting Process

Understanding Costs

(Decorist : 9/18-6/19)

Challenge

Inherited an engineering budget without a clear inventory of costs and corporate parent wanted company’s Engineering Cap/OpEx (which had never been formulated.)

Action

For whatever reason, prior to my arrival, no one paid attention to engineering costs (AWS, subscriptions, etc.)

I worked with Accounting to create and maintain a budget, revising and reviewing on a monthly/quarterly/annual basis, while also determining Cap/OpEx, and in so doing, found an allocation on P and L leading to $45K/yr savings.

Results

  • Created monthly budget giving company ability to forecast engineering costs for first time in its history.
Categories
Process Site Reliability

Preventing Business Failure

(Decorist : 5/19-5/19)

Challenge

Realized a key analytics ETL server was a crucial component of the engineering infrastructure and without redundancy.

Action

  • Crafted a plan to remediate risk.
  • Performed AWS devops necessary to bring up 2nd instance.
  • Trained-up data engineer.
  • Worked with Data Engineer and offshore Tiger Team of 2 to deliver a process for spinning up a Docker-based backup server.

Results

  • Created replacement Docker image (and recovery process) to be spun-up, ensuring business continuity in catastrophic situation.
Categories
Mobile Process SEO

Mobile First

(Decorist : 4/19-4/19)

Challenge

Realized most users were using mobile devices on the site when Engineering was developing/testing on larger screensizes.

Action

Dug into Google Analytics to identify data pointing to predominance of usage of mobile screensizes.

Results

  • Modified release process to incorporate FE review (“Mobile First”) on iPad, iPhone, improving site’s overall UX.
Categories
eCommerce Process SEO Troubleshooting

Improving SEO

(Decorist : 3/19-3/19)

Challenge

Received word that a number of key UXes weren’t rendering for SEO, likely impacting our rankings.

Action

  • Setup local emulation as Googlebot/Chrome 41.
  • Identified problem as having been ongoing since prior October (through git bisect.)
  • Introduced process for ensuring SEO/M compatability for releases going forward.

Results

  • Intro of process has engineers developing proficiency on key aspect of business: SEO.