Professional Documents
Culture Documents
10 Ways To Suck at Programming
10 Ways To Suck at Programming
I recently inherited a web app from a dirty, nasty, stinking contractor that claimed to be a competent enough programmer to be left alone to get things done. Unfortunately, we took him at his word. Functionally, most of the web app seemed to work at first glance. However, once the client took over the reigns and actually started using it things went downhill fast. The contractor disappeared after payment (die reputation DIE!) and I was left to try and get things working properly and performing up to snuff while the client limped along with what they had been given. I decided to document a few of the things that I found wrong along the way. These are really just things that every good programmer should already know to avoid but obviouslysome people need to be reminded (or taught).
#6 Screw performance
Large applications, you know, the ones that pay the bills, are generally needed because they deal with large amounts of data. Sure, during your development process youll create 20 or so test records. Take my word for it, theres no need to even worry about what happens once you get to 25 records, or even 1,000! Obviously, all pagination will work just fine and performance will never take a hit. So if it compiles, ship it!
#4 Document NOTHING
Look, documentation is for morons. I mean either you can read the code or you cant, right (this was actually said to me at one point)? Of COURSE the next programmer will be able to read the code. Whats really fun though, is when you document absolutely nothing, especially not your intent. It pays to keep them guessing. Youre mysterious, like a ninja. No need to let someone get all up in your grill, knowing everything about what you were trying to do. Because if you document what youre trying to do and then dont end up doing it well thats just embarrassing.
#1 Duplicate functionality
If the client tells you that they need two pages: One for an administrator that has all of the details on an item along with a button to delete it; and one for a regular user which has all of the details on an item without a button, you should create multiple pages to accomplish this. In fact, if you can make pages for each user group that would even be better. Making a separate page for each user is the ultimate success. So ninja up and get serious on this one, because its your last line of defense against the teeming hordes of qualified individuals who will inevitably be bewildered while trying to update your carefully constructed Pandoras box of an app. This is by no means a comprehensive list. On this project alone I could name 10 more things that could make you suck. But Ill leave it at 10 for now. Anyone have more to add?