I think there is a distinction between technical debt and crap code, but I don't find the need for debt to be "intentional". As I meantioned in my article on debt, you'll just accumulate debt over time even if you're not intending on doing it.
Any new requirement has the potential of rendering existing code sub-optimal. Often it's not until several such new requirements arrive can this realization be made.
"once you allow your project to turn into a mess, it's really difficult to clean it up (in many cases it might be impossible)" -- If this is true then I should be charging more for my services. :D
"If the business people truly understood the risks and costs of these shortcuts," -- This is part of the job description of a programmer: Making business understand the risks and costs, of course, that first we require understanding them ourself.
"trying to maintain and extend a software project full of crappy code is frustrating, soul-crushing work." Yes agree, and starting to wonder if specializing in soul-crushing work may be a lucrative field. :)
I'm a small business programmer. I love solving tough problems with Python and PHP. If you like what you're seeing, you should probably follow me here on dev.to and then checkout my blog.
You are correct on several counts. Debt will accumulate over time even if no intentional debt is accepted and crappy code is not counted as debt.
I've thought about specializing in soul-crushing work but it probably wouldn't be that lucrative most of the time. You'd need to find a client who somehow:
owns a mess that generates significant value
will have realistic expectations for how much work it will take to make the software better
sees the value in cleaning up the mess and be willing to pay well to do it
would be willing to outsource the work to me/you
The overlap in the venn diagram of those four factors might exclude the majority of projects.
With that said, I'd love to hear from someone who makes it work. I think Paul Jones (leanpub.com/mlaphp) makes some money doing consulting on this kind of thing but I don't know how much.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I think there is a distinction between technical debt and crap code, but I don't find the need for debt to be "intentional". As I meantioned in my article on debt, you'll just accumulate debt over time even if you're not intending on doing it.
Any new requirement has the potential of rendering existing code sub-optimal. Often it's not until several such new requirements arrive can this realization be made.
"once you allow your project to turn into a mess, it's really difficult to clean it up (in many cases it might be impossible)" -- If this is true then I should be charging more for my services. :D
"If the business people truly understood the risks and costs of these shortcuts," -- This is part of the job description of a programmer: Making business understand the risks and costs, of course, that first we require understanding them ourself.
"trying to maintain and extend a software project full of crappy code is frustrating, soul-crushing work." Yes agree, and starting to wonder if specializing in soul-crushing work may be a lucrative field. :)
You are correct on several counts. Debt will accumulate over time even if no intentional debt is accepted and crappy code is not counted as debt.
I've thought about specializing in soul-crushing work but it probably wouldn't be that lucrative most of the time. You'd need to find a client who somehow:
The overlap in the venn diagram of those four factors might exclude the majority of projects.
With that said, I'd love to hear from someone who makes it work. I think Paul Jones (leanpub.com/mlaphp) makes some money doing consulting on this kind of thing but I don't know how much.