4 ms·
I get what he is saying but you can't say build it fast without tests, don't worry we will have to rebuild anyway and say you care about quality. Good quality
by xupybd 5y ago
I get what he is saying but you can't say build it fast without tests, don't worry we will have to rebuild anyway and say you care about quality.
Good quality code is code that has a low bug count and can be changed quickly. Over engineered code doesn't fit as it can't be changed quickly. But the same is true for a hacked together mess.
He has a good point the best programmers will create a simple easy to maintain system quickly. These are generally the experienced and expensive veterans. They won't be pushed into taking silly short cuts, nor will they play with new toys at the cost of the product.
- rchaves 5y agoSometimes people claim to value “quality” of the product over engineering, but by quality they actually mean short-term profits increase, which is very valid for a startup if you ask me
- xupybd 5y agoYeah I agree, I just like people to be straight up about it. In that sense you are building a medium to low quality proof of concept to get revenue. This is the only way many products can ever get off the ground. If everyone knows the costs go way up when you attempt to scale this up that is fine. I come from a consulting background. Many companies are never willing to pay for that jump in quality. You end up stuck, with a customer that doesn't want to pay for improvements but is always complaining about the cost of new features. You have short deadlines and no scope to fix the mess. It becomes death by a thousand paper cuts. You pass by the same mess over and over never given the time to fix it. Knowing it would have paid for it's self if you had been able to do it a year ago. Sometimes this was something as simple as a database script to replace a manual task you are doing over and over. Once I created such a script but was told I had do it manually for the customer until they paid us for the script. It is truly soul crushing.
- noway421 5y agoGood programmers know when to cut corners. Not having tests is always a contentious topic, but it's also hard to justify when you don't have a product market fit yet. But then again, you might be building reusable components that you will reuse when rebuilding or relaunching. So it's better to get test coverage on at least those.