Title: This is embarrassing to admit after 15 years building web applications, but every project I hit a brick wall decomposing software.<p>I know the data inputs; I know the outputs. My prototype works. But my mind freezes when I try to rewrite the prototype into something maintainable that will run for 5+ years.<p>High level planning is fine, it&#x27;s getting from what needs to happen to how to decompose into classes&#x2F;methods&#x2F;libraries, dependencies (logging everywhere) and organise message passing.<p>My current project is choreographing 3 enterprise systems to work together. Once past the lack of documentation it&#x27;s conceptually simple; my code however is tangled.<p>Related, I have a mental block with drawing flow-charts. I can&#x27;t isolate tasks, decisions, actions. The chart becomes spaghetti, or too detailed&#x2F;too sparse to be useful. This is difficult when people want the system described on paper.<p>Either:<p>1) I need to learn something
2) It is an innate mental block, and I need to change fields<p>If I&#x27;m going to continue in software this needs to change, as I don&#x27;t feel I&#x27;m delivering quality. The more senior I get the less I can stick with prototyping or &quot;Just Works&quot; as an outcome.
Upvote: