Taro Logo

Given a big feature to work on what is the best way to proceed?

Profile picture
Anonymous User at Taro Communitya year ago

I was watching the system design playlist and while it's good it feels like it's frontend oriented. My question here is that let's say that we get a big epic to work on, where we have to do something similar of what is already implemented in the application, but this time we have to do something else on that similar line. The main point I want to emphasize is that we normally have screenshots from the product design side and we have to come up with models and apis and everything else(considering there are more than 10 apis to build).

What is the best way to proceed in such situations?



  • 2
    Profile picture
    Robinhood, Meta, Course Hero, PayPal
    a year ago

    I'm a bit confused as to the problem here: Is the idea that because this epic is based of an existing feature, it's missing some resources like screenshots and that ambiguity is holding you back?

    I'm unsure how fitting this advice is without knowing your level, but in a vacuum, I would just suggest that you fill in the gaps yourself. The best engineers I've worked with weren't afraid to hybridize behaviors and go outside of the pure technical scope to move a project forward. For example, here's what you can do with the missing screenshots from the product design side issue:

    1. Work with a designer to create those mocks - See if you can negotiate some cycles from a designer for them to do this (dabbling in EM/TPM behavior). Better yet, a designer on your team likes you so much as you have spent a lot of time building up this relationship that they carve out time to make these designs.
    2. Create the mocks yourself - I have done this all the time as an Android engineer. The designer is only familiar with iOS and only has cycles to do 1 set of designs, so I need to convert the iOS designs to Android using my knowledge of what feels native to Android. If you're a product engineer, being able to put on a decent designer hat is very powerful.

    In terms of everything else, it seems like you're in a decent starting point as there's an existing model to follow in your application. When in doubt, go for consistency. Mirror whatever design patterns the existing use case has - More or less just copy-paste everything and swap out values to fit your scenario. I've been surprised at how often this gets messed up: A sadly common example is that the data model between 2 features has similar fields but the keys are named differently.

    Lastly, I recommend this discussion on how to get better at technical design overall.

  • 0
    Profile picture
    Meta, Pinterest, Kosei
    a year ago

    Given a big feature to work on what is the best way to proceed?

    Just decompose the problem and get consensus about:

    • What needs to happen?
    • By when?
    • By who?

    I don't understand from your question what is different in your scenario.