Profile picture

Career Advice About Startups

Videos and discussions from Taro to grow your tech career.

Software Engineer at Startup profile pic
Software Engineer at StartupPosted April 1, 2025

How to best handle production errors?

I have a startup that I'm working on by myself and recently had what I would classify as a "SEV 1 Production Incident" from a tiny feature update that greets the user when you login. In the mobile app if a user would login the screen would instantly go grey and no action could be performed again, even if the user exited and reopened the app. The issue occurred due to an exception being raised for a string function that was called. Claude 3.7 wrote that quick greeting function and I didn't pick up on any issues as in other languages (like JavaScript) there wouldn't be an exception for that specific string function (subString). But in Dart (the app is made in Flutter) it raises an out of bounds error. How I handled it - Deployed a hot-fix via shorebird patching (Codepush for Flutter) - Sent an email to all affected users with the fix (Shorebird requires users to exit and reopen the app to apply the fix) - Updated the welcome email, website to alert people of the issue & a Threads post - Sent an immediate App Store update with the true fix My take aways - Compartmentalise UI components so 1 breaking won’t break the entire app - Add sentry to log errors so I get emails when this happens (current error logging just gets sent to the server but with no email or detailed info) - Add a push notification service so users can be informed of any fixes/issues straight away - E2E tests might be a good idea Luckily my app was only recently released so not many users were affected and the true fix got approved quickly. But, what are some ways that you have addressed high severity prod bugs and could I have done anything differently? Thanks!

30 Views
5 Comments
Mid-Level Software Engineer at Series B Startup profile pic
Mid-Level Software Engineer at Series B StartupPosted October 4, 2024

Tradeoff between clarity and technical performance in live coding sessions

When I code, I have a few habits that make it difficult for someone to follow: I frequently jump between functions and files, even if the one I wrote isn't finished. When working through my code, I often find it better to run the code to find and fix syntax issues instead of diligently reading line by line. I often use a random variable (could be the correct one or wrong one) as a placeholder while I type out the logic for some snippets and then update the variable to be the correct one after. Although disorganized, I find this method makes me the most productive. I am detail-oriented, write test cases, and often refactor so although my methods are disorganized, my code is not. You may disagree, but for this question let's assume the tradeoff is: ease to follow vs output This behaviour has negative consequences when someone watches me code. During pair programming I don't mind slowing down since high output isn't the objective and my abilities aren't being judged, but I struggle with deciding how much to slow down in live coding interviews. If I code in a more organized way and slow down to make my coding easier to follow, I would have less output. In a white-boarding interview it could mean the difference between a working solution and non-working solution. In a live coding exercise it could mean the difference between getting through all the iterations of a question/task or not. I am looking for input from interviewers, or scatter-brained devs like myself, on tips on the habits and tradeoffs to make when coding live. Examples of things I am thinking about Is there negative signal from frequently debugging over proof-reading code, and if so is there some threshold? If you're someone who has interviewed others, do you think there is a way for a candidate to be more disorganized but still clear. For example, if someones goes over the high level approach and says "I am now going to code out the rough happy path, it will take me a few minutes as iron out the syntax and refactor as I go", then I plug away, and afterwards, do a quick walkthrough of the completed code? Which would generally get a better score in a live coding interview? Fully implemented and hard to follow, or easy to follow but not finished? Thanks!

22 Views
1 Comment