I recently learned how many companies are operating these days: the 80%-20% rule. Not only is this a great way to learn all about percentages, but it’s also apparently a great business model. They say, spend 20% of your time on the first 80% of a project and 80% on the last 20% of a project. The idea is that you should spend a good deal of time checking, verifying, tweaking, perfecting and practicing. If you follow this, you’ll end up with high quality work and a great presentation to boot.
I want to say that the same is true when you’re coding–that you can split your time like this so purposefully (and not mess up when you add things like percentages!). I’m finding that it’s actually pretty hard to purposefully divide your time. More often than not, if you’re aiming for 50-50, it turns out closer to 80-20. Or 90-10. Not sure…numbers are hard and coding is a tricky business.
Sometimes, you think that you solved all the snags in your project when you planned your initial structure–nope. I can say with close to 100% confidence that this will never, ever, ever be true. It may appear to be functioning correctly, but run a few tests and you’ll start seeing your friends the error messages in no time.
A lot of times, you think you’re close, and you’re so ready to pop the champagne that you even told your roommate to get out those nice glasses that you only use once a year…only to find that you actually need about three more days of debugging. Estimating time for a project is kind of like trying to predict a mood of a toddler at any given moment. You just never know when the whole project might have a huge tantrum all over the floor.
As a beginner, I find my “toddlers” to be more unruly than most. I expect certain methods to work in a certain way, and when they don’t, I’ve got to spend hours finding a new one (that is, after trying to use brute force for a while on the method that I thought for sure would work). After this, I’m lucky if I’m not the one crying and beating my fists on the ground.
Right now, I’m 20%* of the way through a project. My mentor (with 15+ experience under her belt) is working on a piece of the project to help me out. Five hours ago she said she was “wrapping up.” I guess this toddler never really grows up.
* number may be laughably inaccurate