This is really an extension of the advice to make sure you build a product that scratches an itch you have. Extend it to developing frameworks, and you have “suffering-oriented programming”. Of course, the real problem is that there are certain spaces that wouldn't really be serviced if that's all we did. Education is an excellent example: the people who really feel the pains of education, students, won't really star…
Suffering-oriented programming
11–20 of 64 posts
Re: Suffering-oriented programming
#12Re: Suffering-oriented programming
#13The art of thinking about a problem appears to be lost. What happened to getting it fast, beautiful and possible first time by thinking about it? I come from an engineering background and "right" is the only way to do it.
Re: Suffering-oriented programming
#14The art of thinking about a problem appears to be lost. What happened to getting it fast, beautiful and possible first time by thinking about it? I come from an engineering background and "right" is the only way to do it.
IMO its best to think about a problem for a little while until you come up with some reasonable solution, then hack it up, then revisit your original decisions and see if you can do it better.
Re: Suffering-oriented programming
#15The art of thinking about a problem appears to be lost. What happened to getting it fast, beautiful and possible first time by thinking about it? I come from an engineering background and "right" is the only way to do it.
Re: Suffering-oriented programming
#16The art of thinking about a problem appears to be lost. What happened to getting it fast, beautiful and possible first time by thinking about it? I come from an engineering background and "right" is the only way to do it.
Re: Suffering-oriented programming
#17The art of thinking about a problem appears to be lost. What happened to getting it fast, beautiful and possible first time by thinking about it? I come from an engineering background and "right" is the only way to do it.
Contrast this with physical-stuff engineering (which I think is what you're referring to by saying "engineering background"), where the requirements tend to be better-defined and the cost of experimentation/refactoring is a lot higher.
Re: Suffering-oriented programming
#18Everytime I mention code refactoring to a non-tech person the response is similar to "Why would you program the same thing again?" And your article is the exact reason why. You can't know everything you need to know in the beginning of developing some brand new technology. If that was the case, then every startup would be successful.
Re: Suffering-oriented programming
#19This resonates: > The most important characteristic of a suffering-oriented programmer is a relentless focus on refactoring. This is critical to prevent accidental complexity from sabotaging the codebase. I can't tell you how many times I've seen accidental complexity creep in because someone adds a new feature without taking the time to refactor to the simplest set of abstractions. But - and here's the flaw in the a…
Re: Suffering-oriented programming
#20I would very much love to find out what kind of techniques you folks used to ensure some degree of quality (or sanity) in the "make it possible" phase.
I'm basically wondering if you used anything like CI / TDD / Code coverage or any other quality ensuring techniques at such an early stage. One might argue that it's counter-productive, since you're going to likely rip-out most of that code anyway during the "make it pretty" phase. Others will state that keeping high code quality throughout even prototyping will make you waste a lot less time on debugging and therefore make you overall on the long run.
To me it feels like it'd have to be a very delicate balancing act.