Taro Logo
1

What do you do when you're faced with a problem that you can't solve?

Profile picture
Software Engineer at Taro Community4 months ago

So, I'm the only frontend developer on a mobile application. My boss is BE and so if I ask for help he just tells me, "im sorry but I have my own things, you need to figure this out". I've expressed concerns when I wasn't happy with that answer; but, he doubled down that I knew more about him than my problem and so couldn't help me.

The issue is, the things I have problems with are exactly specific to frontend, maybe I'm trying to do some data flow stuff and just want to bounce off a coworker. Or, I have to integrate some FE piece to the BE and since we're a 3 person (engineer-wise) startup, we don't have documentation or really anything besides slack messages to explain stuff.

This has led to me being forced to just white knuckle my way through problems. For the past year and a half I've been able to do this; however, I'm now facing more difficult problems, live-streaming, bridging native modules ( I work with RN ).

More recently, I got stuck on a problem where, I seriously contemplated quitting the company because I couldn't figure it out. There is a ton of pressure because we have daily stand up and I can only say, "I'm still working on X due to Y" for so long. And so I thought, what happens when breaking it down, trying to solve a simpler problem, posting online, talking to teammates, reading docs, just doesn't work? I seriously thought everything was spiraling out of control.

I honestly don't know if there is an answer to this problem. But I was truly feeling hopeless just blindly trying to solve an issue by googling, chatgpt, and hoping for the best each time I hit compile.

62
3

Discussion

(3 comments)
  • 2
    Profile picture
    Engineer @ Robinhood
    4 months ago

    For the features/implementation that you're struggling on, are they needed? Startups often fall in the trap that they need to build something big and complicated to get footing in the market, but what they've built ends up being something that no one really wants to use. As a result, the yield (value/time) of these efforts is close to 0 as they spent a bunch of time building effectively nothing. If the things that you're struggling to build is draining your time and energy, do they really need to be implemented to validate some part of the company's hypothesis? Are there other lower effort ways to achieve this validation?

    If so, I'd just get the company to pay a consultant who specializes in those domains that you're struggling with to write the code for you & help do a knowledge handoff for those domains. As a small startup, your goal is to ship out a product/service as quickly as possible. If your efficiency is reaching 0 during this journey, the company effectively lost a third of its resources. Putting a consultant in will temporarily bring the company back to three productive headcount: in additional to the consultant being individually productive, they'll at least provide some form of a baseline that you can rebuild your momentum back on.

  • 3
    Profile picture
    Staff Software Engineer [IC4] at Twilio
    4 months ago

    IMO, when facing a problem or technology you don't know about. One should clearly articulate to the Manager or BE that the tech is new to you and It will take you x amount of time, this will ensure that stand-ups are less challenging. Second, breaking the problem into smaller problems and then making subtasks out of them is one other thing that can help, you feel you are making progress.

    Third I think, with chatGpt and GitHub Copilot you might be able to use it as a coding partner to learn about new tech and at least get some boilerplate code out and then build on that to solve a problem. Because you or the company expect that you will know RN as well as other front end stuff as well as a specialist is hurting you and the team.

  • 1
    Profile picture
    Entry-Level Software Engineer [SDE 1] at Amazon
    4 months ago

    One technique I would try when assigned tasks I did not know how to do was to either blame the code or search the ticketing system for solutions to similar tasks. Sometimes I would even reach out to people who completed similar tasks to ask what their thought process was.

    I understand you work at a 3-person startup. Is there anyone else outside of your startup who can give you advice on how to solve these problems? I remember being in your exact shoes (and asking a similar question on Taro hehe) and what got me through it was reading through all of the code reviews of senior engineers to find out their thought processes.