Skip to content

Slow Widgets

Instructions

Create a technical improvement plan given limited information.

Scenario

An application that you've just assumed complete responsibility for is used for finding locations that sell widgets near a given user. This application has an integration with an external system that lets users filter the results by their favorite widgets. User complaints have come in, saying the system:

  • Is slow looking up nearby widgets
  • Doesn't provide user feedback when importing favorite widgets

The task is to plan out priorities for technical improvement for this application, given the following context:

  • A team is in place to implement changes
  • The metrics below are all that are currently captured for the application
  • Assume a 6-week period with multiple deploy windows to improve the application

Appendix A

Web Transactions App server time
IntegrationController#update 1235 ms
IntegrationController#lookup 1145 ms
LocationController#find 645 ms
HomeController#index 126.9 ms

Appendix B - transaction trace for LocationController#find

Category Segment % Time Avg calls (per txn) Avg time (ms)
WebTransaction /location/find 100 1 645
Database Postgres DBRepo.FindByZip Query 41.9 6 45
Database Postgres DBRepo.LookupZip QueryRow 7.9 12 4.24
Database Postgres DBRepo.FindUser Query 0.62 0.997 4.05

Submission

Write your plan in under 600 words, and store as a plain text file.

Included files

There are no included files to download for this assignment.

Ready to submit?

Don't include anything in your files that could identify you. We assign submissions a random number when they are received so our team does not know whose homework they are evaluating. Multiple team members will review your submission before a decision is made.

Submit homework