4 ms·
I wrote a framework. Instead of thinking, "How do I want this program to work?" I had to think, "How do I want every program to work?" Instead of organizing t
by edw519 16y ago
I wrote a framework.
Instead of thinking, "How do I want this program to work?" I had to think, "How do I want every program to work?"
Instead of organizing this data, I had to organize any data.
Instead of worrying about what my customer needed, I had to worry about what to put in my toolbox before I called on that customer.
Instead of handling the current outlying case, I had to learn to anticipate possible outlying cases.
Instead of worrying about instances of what we do, I had to worry about classes of instances of what we do.
Instead of benchmarking and optimizing performance, I had to understand the kinds of things that affected performance.
Instead of scaling, I had to design an architecture that would scale.
Instead of conducting analysis and design, I had to build an application to handle and apply system parameters.
Instead of covering bugs, glitches, and inefficiencies, I had to eliminate them before they compounded exponentially before my eyes.
Instead of having fun, I had to build a world within which I could always have fun.
- JesseAldridge 16y agoBig design up front? Seems like a lot of your advice flies in the face of prevailing agile principles. What do you think about YAGNI? http://bit.ly/cpbljR http://bit.ly/cpbljR (YAGNI Wikipedia article -- apparently HN doesn't like apostrophes in urls.)
- deleted 16y ago[deleted]
- crystalis 16y agoHe's said shit all about how well the framework answered the problem he had. He might not have even had a problem. He just said writing a framework is the most effective thing he has done to improve his programming skills.
- edw519 16y agoSeems like a lot of your advice... I gave no advice. I shared my experience. Take it or leave it. What do you think about YAGNI? Never gave it much thought before. But after reading your referral, let me rephrase the question: "How do you know what you're going to need?" After servicing hundreds of customers, I built a framework that provided what over 90% of had already needed. I figured it was a pretty good bet most new customers would too. So far it's worked out great. The framework has easily replaced one or two other programmers. But then again, that isn't even what the original question was about. OP asked the #1 thing that made me a better programmer. This was the #1 answer by far. I think everyone should write a framework, whether you need one or not. You'll never think the same way again.
- jemfinch 16y agoThe key to your success is the "after servicing hundreds of customers". YAGNI is for the people who try to build the framework first, before they serve any customers.
- thegoleffect 16y agoDepends on your actual situation. In around 2004, Amazon was about to launch S3 until Bezos sent the team back to the drawing board because their current architecture would eventually hit a wall. Three years later, it finally launched. Big design up front paid off in their case as they've surpassed that "wall" many times over. [Citation Needed]