Moving Jobs

Background :

I have been at Flipkart for about 2 years, started job in March 2022, and now have left in April 2024. Flipkart has a great tech culture yet I moved, here is a gist on why I decided to move.

Below is a simple glimpse of how the Flipkart's tech infra looks like :

The premise being; the devs right now at Flipkart are looking to solve user problems (PRDs in technical sense) using the abstraction layer already built.

Say you get a PRD (Product Requirement Document for a new thing [This is hard to get in Flipkart right now though 🥹])

The Engineering Flow looks like this :

  1. Think about the requirements a little better, close the requirements.

  2. Then comes the compute and data part.

    1. Think about the HLD [High Level Design] of the solution

    2. Think about access patterns; figure out the tech to be used; keep resiliency in mind as Flipkart DAU is around 100M right now.

      1. Figure out the DataStore to be used; mysql or redis or mongodb or aerospike

      2. Figure out the compute needed; a REST service or spark streaming jobs or spark batch jobs ...

    3. Now make a requirement doc; figure out how much would be the data footprint size or compute requirements.

    4. Go to a committee and get approvals for compute needed.

  3. Then make the service live, code -> test -> debug -> code -> A/B -> live

Problems ?

  1. A lot of abstraction; to be honest this is so much that if you dont look at outside world things would look so alienated; dev me after moving out of Flipkart : AWS what is that ?

  2. Cross Team Collaboration is not that great.

    1. A lot of things have already been built; some products have been KTLO'ed to such an extent that no dev understands how they work.

    2. Cross Team devs don't want to share how they are trying to solve a particular problem, silos are really the problem with Flipkart teams.

    3. Senior devs are so burnt up with random work that they are not able to keep the zeal to build something new in junior devs.

    4. Junior devs are not cross functional; a backend junior dev would in no world work to solve a frontend thing if that is something to be solved or take up a data-science project if product needs that to be solved.

    5. Bandwidth Crunch Bandwidth Crunch everywhere..

  3. Meaningful Managers (Good at Tech and Kind) are a rare deal to find.

  4. Building new things is very hard, luck supremacy >>>; usually would be just adding features that gives some bps improvements to business metrics; no way to understand the desing choices E2E.

  5. Understanding the entire product flow is very tough
    UXR -> PRD (Product Manager) (I have 0 clue)
    PRD -> UI (Frontend Devs) (I have 0 clue)
    PRD -> Backend (Backend Devs) (I do this)
    UI -> Backend Integration Testing (I do this)

    Live -> A/B Metrics Tracking (Product Manager) (I have 0 clue)
    though the PRD explains that why something should be solved; things that I worked on on couldn't explain simply why this and not another feature.

  6. Promotions are hard to get; maybe I have skill issue but i don't think so.

So I moved

  1. I have right now joined a smaller / leaner team building to solve something in marketing area, the Idea is :

    1. Solve new problems using code

    2. Become more cross functional, make nextJs my college buddy; school buddy is still Java + Pythonic things

    3. Learn backend tech on side, Arpit Bhayani supremacy >>

    4. Understand selling, SLG (Sales Led Growth) >> PLG (Product Led Growth)

    5. Work closer to founders; understand the rationale

    6. Become more kinder and wiser.

Bye....