 |
|
 |
|
09/28/00 Advice To Budding Internet Programmers by Jake Davenport
What is your job as an Internet programmer? What, exactly, does it mean to do what you do and get paid what you get paid?
You are an engineer, of sorts, and although you aren't necessarily as important to the underpinnings of society, your role is growing.
You are not some kid sitting in a basement putting together a model airplane, with the parts ready-made and the instructions unfolded on the workbench in front of you.
You are not a seamstress cutting your cloth with a design you bought for $4.29 at the local crafts shop.
You are the bridge builder, the problem-solver, the creative thinker. Your job is to fix the broken things and make life easier. Your job is to create the parts and write the instructions for the model kit the kid will eventually put together. Your job is to perform the measurements, devise the geometry, and draw the design that the seamstress will eventually use as a guide.
The good news is that your job is not manufacturing the plastic for the model parts (or the glue to stick them together, or the paper the instructions are written on). That's someone else's job. You're the carpenter, cutting the wood and building the structure, and thankfully you don't have to fabricate the nails or make a hammer.
The good news is that every time you build a program you'll get better at it. The good news is that you can learn in a book or on the Internet just about everything you need to know about how to do your job. The good news is that if your program breaks (usually) other people won't be killed when it falls into the river.
Pay attention to detail. Break every program you write. Hack your programs from the outside. Crack them on the inside. Do utterly idiotic things to see what happens. Close every single loophole you find. Leave nothing to chance.
Write exceptionally efficient code and reuse it as much as possible. Keep things scaled down and compact. Four pages for four functions is a good thing. Four pages for one function is not.
Think quickly. Don't disregard an idea just because you haven't seen it somewhere else before.
Don't try to be perfect. Being consistent and thorough is perfect enough.
You've probably heard the phrase "think out of the box". This is terribly trite and extremely important: think out of the box. If it doesn't work one way, try it another way. If you're stuck, change your approach. If you're banging on the door and it's not opening then smash a window. Do not sit and wait for someone to tell you what to do or how to do it.
Be mindful of what the client wants. Build every program as though you, yourself, are the client. Don't deliver anything less than what you would settle for, and even then do just a little bit more.
Most of all, celebrate your successes and learn from your mistakes. And, of course, don't forget your sunscreen...
|
|
 |
|
 |
 |
 |