I have just joined this new very young startup(as a contractor), they have raised a good amount of money but they don't have a CTO, for what I can see the CEO is the one in charge of the product itself. The dilemma Im facing is whether to advice the CEO to perform an app refactor or no. To develop this app they outsourced it with another company that apparently specializes in this type of products, but they have absolutely no good practices at least in the stack they are working on, in each release they fix something and break another that was not broken, you can see why this happens in the code itself. Small features can take weeks to develop because of how fragile the app structure is. I think the app is still pretty small and can be refactored using good practices in a short amount of time(if done correctly it can take weeks) but idk how will the CEO take this.
Do it.
Pitch it to the CEO same as you have pitched it here. Explaining pros and cons of both and let him know the decision is his to take given the pros and cons.
it depends if the CEO agrees that the code issues are hurting their ability to execute business goals. I’m guessing they don’t. So your question will be interpreted as “can you pay me to do nothing but scratch my own itch for a few weeks”
Focus on deliver features. The app will get a rewrite if company survives another round of, hopefully bigger, funding so dont bother now.
Y'all early. Which means that features and shit are probably the way to go and it's simply better to throw more manpower. You can think about scalability and sustainability once the company itself is sustainable. If there are no future business plans or if the future features do not add significant value to your app then yes do the refactoring To put it another way: what is the point of spending time refactoring a product that will never see the light of day when its simply cheaper to throw another person onto the project to try and at least get it off the ground?
How is this even a debate? Never let anyone compromise the quality of the codebase. Make sure everyone knows that there is a better way and you’re the right person to execute on it. You’re the last line of defense for both the user and the business. Don’t let anyone shoot themselves in the foot and don’t compromise your own standards.
You need a rebuild. Tbh from what it sounds biting the bullet and rebuilding will pay off in a few weeks/months time through accelerated feature dev time alone. I would disagree waiting as at this stage you need to ship features fast, and pivot quickly. A 3 week dev time on a small feature is unacceptable in this stage
Sadly we don’t know how the CEO would take this either