August 29th, 2007 — Call For Help
Page #1 | Page #2
On the web, no matter how much time you spent preparing, or how accurate your estimate is, a client is gone with one mouse click. Why? There is no explanation. - Jeff Knooren
The Bad News
I suppose you’ll want to get a job at some point. Given that you have such a short window to learn, and you have a family, I can’t be all that encouraging. Most of the things you’ll be asked to do, will suck. See, learning on your own is fun, because you get to go to the library, and get any book you want, and it’s all so new and limitless. But when you’re under the eye of managers, and being commanded to calculate interest rates on some crappy, hacked together software, and customers bitch, it’s no longer fun. Maybe it beats scrubbing toilets, but I question if that is true.
Secondly, all corporations make you sign an At Will Employment Agreement. That means they don’t need a reason to fire you. They monitor all your activities, log all communications, and you’re a resource to be allocated like a piece of furniture. That’s another good reason to build your own applications, even if they’re just examples. When a company escorts you out of the building with security guards, they don’t need a reason to fire you, or even give you screenshots of what you’ve worked so hard to build. Then, you have nothing to really show the next potential employer what you’ve been working on. I’ve seen it done, and it’s been done to me.
Finding a job doesn’t get easier with experience. On a daily basis I encounter NOT knowing the right skill, or have the right program, operating system, or qualification to get that next job. And yet I’ve been rejected for being overqualified too. Sure, there have been times when I’ve made $5k in two weeks. But I’ve also worked for less than minimum wage. Just the other day, someone needing their wedding photos scanned, thinks I charge too much. So, he wants me to supply him with references. There is no way I’m letting him call people I know, asking if I’m qualified to operate my own scanner. It’s so absurd, I can’t explain it properly. Keep in mind, most of my work is freelancing, and desk jobs are the exception for me. So I probably deal with more people who don’t know what they’re doing, than the average “techie” person would.
But what will make getting jobs easier, is demonstrating that you can solve problems. Like that address book thing I mentioned earlier. If you can show a potential employer, how you had a problem finding your contacts, so you built this whiz-bang gizmo that finds them. Show them database tables, code snippets, describe the issues you ran into during development, and how you solved them, did you design the interface? All that will be more impressive than any team project done for college credit.
Since chess is our common ground, let’s make some analogies. You know how there are millions of people play chess because it’s fun, but only a handful rise up to master level? They only get to that level, after many years of study and practice. A tipping point is reached, and you have to decide if becoming a master is worth the time and effort. At some point, the game is no longer just fun, and becomes your job. It would be cool to be as good as Kasparov, but could you devote 10hrs a day to study? That is what it takes to play at his level. That is exactly what happens being a web developer. Millions of people want to do what I do, but rising through the ranks is difficult and frustrating.
The Clients want an unlimited number of price quotes. It’s like competing for a mortgage, and all parties loose, except the ones providing the system for our failure. They get paid up front. - Jeff Knooren
Anyone can learn to build websites, given enough time. It’s all basically simple. HTML is easy. CSS is easy, and yes, eCommerce is easy. But all those easy things must come together seamlessly to build a website. All those tips/tricks/shortcuts you learn along the way can only come from doing it. That’s the hard part. I hope that makes sense.
Summary
My advice is to ignore whatever you hear about how much money people are making on the internet. Be careful about falling for scams. The only people making $6k in one month, with no experience, and no computer; are the people selling the information on how to make $6k in one month, with no experience, and no computer. What is really dangerous, is that a lot of these scams, prey on people looking for jobs. It’s really evil that in your most desperate time, someone is there to rob you.
August 28th, 2007 — Foundation, Planning
A good way to picture a project, is like a corporation. It is a “Thing” that doesn’t really exist, but is comprised of many real world things that do exist. The documents, code, and the people who produce it; bring life to something. All of this must come together to under the direction of a project manager, who guides the project through its “lifetime”. Projects are defined by:
- A budget of time
- A budget of money
- A certain amount of risk or uncertainty
In project management, the biggest concern is time and money. Money is yardstick by which time is being measured. The longer something takes, the more money it’s costing. This is where risk and uncertainty blow the budgets of most projects. Effective project management depends on an almost obsessive level of planning, to minimize risk. You need a well-designed plan for the project. A proper plan includes construction of a wireframe (business process), prototype (front-end), and architectural design (database field names). This level of detail, is to reduce the uncertainty and risk involved.
A project manager is concerned about:
- What are we going to do? - Taking into consideration the constraints of time, money, and resources; try and meet the requirements of a “wish list” set of goals or features the project is to include.
- What have we done? - Unless there is a plan for what will be done, it is impossible to gauge progress through benchmarks, or milestones, that have been reached.
- What did we do? - How much of the plan has been completed. This is where the obsessive part comes into play. There could be reams and reams of documentation involved. Not only for technical reasons, but maybe legal ones too? This documentation has to be created and maintained continually. The consequence, is a mad scramble when the project is “finished”. Because there is nothing to prove you’ve satisfied all the legal and customer requirements.
No matter how the technology changes, it’s sure to bring about inspiration and more ways to interact with tools, skills, and processes to undertake a project. The project manager uses these skills to produce repeated software project success.
August 21st, 2007 — Foundation, Planning
Even when you start a business on a small scale, you still need to do everything in a professional manner. I’ve noticed that no-one understands this better than religious organizations. They have amazing websites. Really good graphic designs, standards compliant, something I didn’t expect at first, but makes complete sense now that I think about it. They are trying to embrace new technologies to get their message across.
I have seen situations where someone comes up with a number, then doubles or even triples it randomly to pad the rate for unforeseen circumstances. - Jeff Knooren
Most people just don’t understand that a website is YOUR way to get a message across. Ignoring really crucial details when they embarking on a new business, is obviously a disaterous mistake. The root cause, seems to be they wish to keep the costs low. If you plan everything in an orderly manner, shoestring budgets are the set up of your small business.
The Budget Client
Every client is on a budget, but some clients just seem that much tighter than the others. The budget client can be the result of doing a friend or relative a favor, or equally just a regular client who never has any cash.
The Good News:
Budget clients are happy when the work you do comes under budget. Though unfortunately this isn’t always the case because they don’t have much room to play with.
The Bad News:
It’s almost a given that any work you do for a budget client, will not be good enough to even mention that you worked on it. This makes them bad for business.
What to do:
Make sure your budget client realizes their projects are not first priority. Extra changes or revisions probably won’t be done, because it simply doesn’t make good business sense to work for the price they’re paying. Of course, this will probably make them aggressive, accept that they aren’t worth it and let them go. If you’re going to work cheap, at least work for non-profit organizations like churches.
August 17th, 2007 — Call For Help
Building websites is much harder than people think it is. Since I’ve been Internet Consulting for almost 10yrs now, I get questions about where to start in this industry. Recently, an artist who does custom oil paintings has asked why they’ve invested hundreds of hours into their eCommerce website, and not made a single sale.
I am a small business operation. I tested the website using Google and Yahoo pay-per-click. I generated quite a bit of traffic, but not one single order. I also published in a magazine with 26,000 sent to homes with a big discount coupon in the add (full page). It also did not produce one single sale.
My prices with the discount I offered was the lowest in the market! I need an experience designer who can know the sales creation aspect of the design. The nuts and bolts of my website are OK. The problem is that I am not getting any business! This is where experience is required.
I have seen other websites with similar type of products and their websites are much nicer. In my very limited knowledge of the matter, I think I need to be able to offer a sort of video tour (flash) of the main art pieces so people can appreciate the quality of the work that we do. Let me know what you think and what kind of concrete suggestions you can make.
First, I will say a nice looking site, will not guarantee you sales. That is where many people stop when having a business. They build a nice site, and expect sales to roll in. But “nice” is no good unless people know about what you do. I’ve made that mistake myself.
It is cheaper in the long run to market anything on website. But promoting anything is the boring and hard work that most people don’t do. At least with a website, you can do a little promotion each day and build up over years of effort. With any other medium, you have to shell out a lot of money up front.
The lesson you should take away from that experience, is to decide if the next client is worth working for. - Jeff Knooren
In my opinion, what you need to change is your method of promotion, and lead generation. For your sales, face-to-face with 10 people who want to buy your product, is better than 26,000 who threw your coupon in the trash. I can’t prove that of course, but you couldn’t do any worse. You mentioned showing people the process of your artwork. Certainly that could be done on a website. For examples, simply Google “How to draw…” and there is no shortage of ways to present a process.
I don’t know if you have special physical needs. However, in doing some research, I spoke to a few people who draw caricatures. They said they make their money at events, street fairs, conventions, etc… Meaning, they rent a booth or something, and people can watch them work. They sit down to have silly picture drawn.
This seems to be what a lot of craft people do, like ice sculptors, wood carvers, etc. The artists I spoke to hand out nice brochures or business cards at these appearances. They use their websites and blogs as a showcase. Much like how a photographer would use a website for a gallery of photographs.
What might work for you is to do something similar to a caricature artist. Except, have those nice oil portraits behind you as you draw these quick sketches. That will give you a chance to talk face-to-face about your business, to people who are already interested in having likenesses of them made. People could watch the process of painting a portrait too. Additionally, you can use the blog, to promote the event you will be at. Have someone take pictures of you working, and that can be posted to the blog.
They will give you a lot of freedom in terms of design, and achieving the final result, as long as you don’t mire them down in the details of how you go about it. You also tend to get additional side projects that this person doesn’t want to deal with. - Jeff Knooren
The Department of Commerce in your town will give you a list of every street faire, home show event, along with contact info, if you ask them for it. I used to book shows, and do live demonstrations, so if you go that route, I have more advice. Anyway, the idea is to cover the cost of renting the space by drawing caricatures, and the real money comes from commissioned portraits, which you do later. Anyone who sits down at your booth is a pre- qualified lead.
- You mentioned “generated quite a bit of traffic”. But just out of curiosity, is that 100, 1000, 2,000,000 visitors a month? And how much did you spend on generating that traffic?
- Photos - They need to be big. You’re selling point is the quality and detail of your work.
- Video - You suggested doing some panning and zooming thing. My warning to you is this could be very expensive to have a developer make it in Flash. I would recommend using Photobucket Slideshow instead. The benefit is you can learn to do it yourself, in just a few minutes, even with no experience in building websites. That is important as you create more portraits, you wouldn’t want to be forced into paying someone like me to update presentations for you. I would also recommend NOT using music. However, if you really want music, Photobucket has something called a “remix” which allows music to be incorporated. Again, something you can do yourself with minimal training.
Recommendations you could probably do yourself:
- Spell-check - Nothing says unprofessional like spelling errors.
- Slideshow - Photobucket Slideshow
- Gallery page, that’s pretty easy, and a good idea.
- What is the name of your business? “Rubens Art” or “Artistic Oil Painting and Frames” or “Artistic Oil Portraits and Frames”? You seem to have three business names.
- You need a blog. A way to talk about yourself, what you do, and how you do it.
Recommendations someone with experience should do:
- Set up, and optimize the blog for you. Then give you the crash course in how to use it. They’re not difficult to figure out on your own. But spending an hour with someone who can show you the tricks and shortcuts, will save you months of discovery.
- Maybe a better shopping cart?
- Changing hosts might be in order. I don’t know enough about your site at this point to say for sure though.
Summary
I won’t pretend to know anything about portrait painting, or your business. So I might have just given you the worst advice possible. Renting booth spaces, street carnivals, all that might be more trouble than it’s worth. But obviously Google ads aren’t working. But either way this business sounds like it’s going to take years of persistence, unless you’ve got a bankroll stashed away to dip into.
August 16th, 2007 — Foundation, Planning
You will loose many clients when bidding on projects as a freelance developer. For all the clients requesting “good communication” as a primary concern, they’re often not that good at it themselves. It’s not always your fault though, even when they try and make you think it is. My advice, is to not get discouraged and self doubt yourself. But also, don’t invest the time in giving them a piece of your mind. They probably won’t read it, just move on.
Technophobe clients will put your communication skills to the test. - Jeff Knooren
The lesson you should take away from that experience, is to decide if the next client is worth working for. It’s hard to turn away paying work. But it’s also not worth being treated with a little common courtesy. Something, that is unfortunately all to common on the internet. So, here are some behaviors to look for, and look out for when dealing with your next job.
Paranoid
This person has a background in the legal profession somehow, because they love Non- Disclosure Agreements. You wind up trying to straighten our points of terms and definitions, rather than doing your job.
The Good News:
Nothing will be overlooked. If you’re the kind of person who appreciates the details and covering all the bases, it might not be problematic to work with this person. As long as you don’t breach any part the contract, you should get paid.
They might also represent some government agency, and the pay scale is usually much higher than anything else out there.
The Bad News:
Often within the contracts are a whole list of grounds for the client dismissing you without payment. Grounds might be that you miss a deadline for whatever reason (even if the paranoid client is at fault). Also, a personalized legal agreement is very expensive if you need to retain the services of a lawyer to review their contract.
They are always on the lookout for evidence that they are being ripped off or overcharged. This requires additional administrative duties on your part to document IN WRITING every detail and minute of time being spent.
What to do:
It depends on how big the job really is. They often want specific details about mundane tasks, or want to follow up on irrelevant details. Such as, wanting wedding photos scanned in, and asking for previous experience with scanning, or previous job references. It might not be worth the effort.
Most companies have legal agreements because they want to protect themselves or sensitive projects, but the paranoid client gets paid to be protected, so you should quote more to cover your documentation costs.
August 15th, 2007 — Foundation, Planning
You will loose many clients when bidding on projects as a freelance developer. For all the clients requesting “good communication” as a primary concern, they’re often not that good at it themselves. It’s not always your fault though, even when they try and make you think it is. My advice, is to not get discouraged and self doubt yourself. But also, don’t invest the time in giving them a piece of your mind. They probably won’t read it, just move on.
This person puts your communication skills to the test. They just don’t understand technology, so you’ll have to make lots of analogies to explain things. - Jeff Knooren
The lesson you should take away from that experience, is to decide if the next client is worth working for. It’s hard to turn away paying work. But it’s also not worth being treated with a little common courtesy. Something, that is unfortunately all to common on the internet. So, here are some behaviors to look for, and look out for when dealing with your next job.
Uninterested Client
The uninterested client doesn’t want anything to do with the website, and could careless about the minutia of why something doesn’t work, or the best ways to do things. When you ask them questions about their business, the responses are minimal and feels somewhat like you have to drag information out of them.
The Good News:
They will give you a lot of freedom in terms of design, and achieving the final result, as long as you don’t mire them down in the details of how you go about it. You also tend to get additional side projects that this person doesn’t want to deal with.
The Bad News:
The uninterested client will ask you to do many tasks outside of any formal agreement. Typically referred to as “scope creep” they pass anything they don’t want to deal with anything web related onto your plate. They make assumptions that these things should be done for free, because you have a “web contract” with them. Not realizing this should incur extra cost. This could be copywriting (when you’re a web designer) to printing brochures (when you’re a copywriter).
What to do:
It takes prodding to find out what this person is up to. Get used to calling or emailing repeatedly. A humorous tone helps, because an uninterested client isn’t trying to be rude. Mostly, it’s procrastination of doing something they don’t want to do. Explain that extra work is an opportunity to outsource to you, for a nominal fee of course.
If you manage to complete all the small projects, you will be known as someone who ‘takes care of business’. But be clear about costs, because they will probably not mention it otherwise. If you’re documenting all the work, in a format similar to this STATEMENT OF WORK. You will be constantly updating this document. At least you prove what you’ve done already, incase they forget.
August 14th, 2007 — Foundation, Planning
You will loose many clients when bidding on projects as a freelance developer. For all the clients requesting “good communication” as a primary concern, they’re often not that good at it themselves. It’s not always your fault though, even when they try and make you think it is. My advice, is to not get discouraged and self doubt yourself. But also, don’t invest the time in giving them a piece of your mind. They probably won’t read it, just move on.
…in software development, design is undervalued. Often no user interface design is done, or it’s considered a formality. - Jeff Knooren
The lesson you should take away from that experience, is to decide if the next client is worth working for. It’s hard to turn away paying work. But it’s also not worth being treated with a little common courtesy. Something, that is unfortunately all to common on the internet. So, here are some behaviors to look for, and look out for when dealing with your next job.
Techno-phobe
This person puts your communication skills to the test. They just don’t understand technology, so you’ll have to make lots of analogies to explain things. Another troublesome characteristic, is they want you to fax them everything. Neat-o piece of technology, but there are 10 better ways to send documents today.
The Good News:
Pretty open to any suggestions you have. They will look to you as your technology guru. They will be simply amazed when you come up quick solution, to something that has been bothering them for months.
The Lows:
They have to be instructed on almost everything you do. Again, explaining what you’re doing is chock-full of analogies. A techno-phobes idea of how the website should work, is often the worst way to do it, and people don’t like being told their wrong.
They often don’t understand the context of technological terms. For example, you might have previously told them that ASP means Active Server Pages, but when referring to a business that does ASP; it means Added Service Provider.
What to do:
Make sure everything is in writing for them to reread at their leisure. I recommend creating something like this STATEMENT OF WORK. They won’t read it all in one sitting, but at least you can reference something so you don’t have to repeat yourself. They can look tidbits of information up, as they need it. However, plan on most things being discussed by phone and face-to-face meetings.
August 13th, 2007 — Call For Help
Building websites is much harder than people think it is. Since I’ve been Internet Consulting for almost 10yrs now, I get questions about where to start in this industry. Recently, a childhood friend of mine, decided to leave the military, and get into the world of computing.
I have a few questions for you. I am taking some Ruby on Rail courses here at City College and have a stack of over 40 programming books. I guess I feel like a kid in a candy store, everything LOOKS good, but everything has a different flavor. I was getting into SQL when I heard about Perl, then Pyton and now Ruby. I’m utterly confused.
I have 1 year and 8 1/2 months left in the navy and Im out (after a total of 9). In that time, is learning a language feasable? And which one would do best, and how can i get started? I am not technically a novice…I know some XML, HTML and SQL (because of RoR and Apache). I also only have Mac’s in this house…all 3 new, OS X.
One last thing, Just today I bought 2 books (used from the local Point Loma library) on Flash 8 (for learning Animation and Interactivity) and Macromedia’s Director MX 2004 (the training from the source one). I assume (after purchasing them) that they were probably the wrong direction to head in. In your opinion, are they supercilious? If I want to be a Web developer, I should start else where right?
Gaining Experience
I don’t know what the job market will be like where you are. But RoR is a niche field of study. The place you live, may not have an abundance of Ruby jobs to apply to; so keep that in mind. Myself, I though ColdFusion was going to be “the next best thing”. Consequently, I missed the PHP and ASP wave. I cornered myself into knowing a language no-one really uses. That isn’t always a bad thing; there is value in knowing something most people don’t. However, you must be THE expert in that obscure subject. And becoming an expert, takes years. I’m good at ColdFusion, but it’s been years since I’ve actively used it. I’ve had trouble getting even entry level jobs doing it now. So all I can really do is putter around with it on my home computer.
IMO, college is a waste of time. I’ve been in position to hire people in the corporate world, and there is nothing college can teach you about the internet, that you couldn’t find in any bookstore or simply Googling it. If you were studying to be a Doctor, then obviously college is the only place to get that knowledge. The best way to learn web development is to solve a problem you have at home. For example, do you have a address book that needs organizing? If so, then figure out how to build something that does it. In fact, I just wrote a blog entry about this subject.
Reading your situation, I still say WordPress Blogs are your best option. All websites need graphics and code to work. Those are two, very different disciplines. If you create graphics, you’ll be studying color theory, and you’ll need expensive programs to make graphics with. Coding takes a more analytical mind, but the software is cheaper. If you’re not artistic, even simple graphics will be hard to make. If you’re not interested in optimizing, then coding will be tedium. It is left brain, right brain activity.
On the web, no matter how much time you spent preparing, or how accurate your estimate is, a client is gone with one mouse click. Why? There is no explanation. - Jeff Knooren
With a blog, there are plenty of themes available. The free themes may not be exactly what you want your site to look like, but the point is you don’t have to learn graphics. And the best part is someone else regularly updates the core base of code for security flaws and such. So, you’ll be able to use the community of developers for assistance with code, and graphics…
Page #1 | Page #2
July 27th, 2007 — Estimates and Proposals, Strategy, Planning
Over the last few years, new services such as ifreelance.com have sprung up, and revolutionized the way people who need sites, find people to make them. Be mindful of the buzz-word “revolution”. As an experiment, I signed up for the service to give it a solid evaluation. Here is how the system works. A freelancer, pays a small fee and lists themselves in a category. There are 15 categories, and you can buy all of them if you choose. I signed up for one category, and every day there are like 5 new projects.
…in software development, design is undervalued. Often no user interface design is done, or it’s considered a formality. - Jeff Knooren
How The Service Works
New projects are presented to you, and you read the description someone has posted about what they want. This person, is referred to as a Buyer. You, as a Bidder, fill out a form and give an estimate of what you think it will take to do the project, and you quote a price. Bidders will see their bids as either won, or lost. In the last three weeks I’ve bid on 100 projects. As of today, my record is one in seventy one. That is, I’ve officially won 1 project, and lost 71. If this were boxing, I would one win above a punching bag like Mike Tyson. To the right you will find a graph showing most of my bids, are comparable to others using the system. So far, I don’t think this is the best use of Bidders or Buyers time. Here is the breakdown:
Replying with my estimate took twenty minutes at the very least:
- 100 bids @ 20 minutes = 2000min (or 33 hours)
- 1 Win @ $500.00 (Project took 17hrs to complete)
- 50 Total hours / $500.00 = $10hr
So, in other words, it took me 50 hours to win a single project and do the work. That averages out to $10hr. But also 33 hrs in providing free quotes. The ratio of wins/losses needs to be 2hrs, and not 33hrs to be worth it. Again, it’s not the price of $10 membership, and there is no shortage of projects to bid on. It’s the time wasted in bidding that is the real cost of using the service.

As a Bidder, no matter how much time you spent preparing, or how accurate your estimate is, a buyer is gone with one mouse click. Why? Was it something you said, were you overpriced, didn’t give enough info… there is no explanation. Sometimes Buyers do complain that Bidders didn’t give them enough info. But most of the time, even the most well thought out responses go nowhere. As a Bidder, it isn’t practical to give anything more than cut-n-paste quotes, because you’ve got 4 other projects to bid on.
From The Buyers Perspective
Shopping for computer services online is nothing like the real world. In the real world, you’re encouraged to “Come down to our showroom for a free quote”. Because whatever the business is, knows you’re more likely to buy when you’ve taken the effort to drive to the showroom. Or, gone to three other showrooms, and all the prices are pretty much the same.
If this were boxing, I would one win above a punching bag. - Jeff Knooren
On the internet, the buyers want you to bring the showroom to them, with an unlimited number of bids or price quotes. I can see why this is convenient, but everyone looses. The automated bidding process has turned into competition, like for a home mortgage. That system works for mortgages, because they’re one-size-fits-all solutions. The buyer is not in a better position with 100 project quotes. You should need no more than 5 quotes personally tailored to you.
Summary
Services like ifreelance.com sound like a good idea. Honesty and transparency must be at the heart of how a Bidder prices a project, and what a buyer expects to get for the price. But the only way to win bids, is to lie about the prices and timeframe. Spending an hour to prepare an estimate, along with 100 other people isn’t a productive way to do business. And too many quotes result in a lot of portfolios to look through, and references to check, and time wasted weeding out the ones who can’t do the job.
July 26th, 2007 — Concept and Design, Development, Rants
In a previous job, I used to be the Lead User Interface Designer for an enterprise level CMS (Content Management System). One of my last tasks, was to update the “New” icon. The new icon creates new records. Sounds pretty easy right? Two months after undertaking that task, the icon was still not updated. Why? The software development industry is relatively young, rapidly evolving, and surprisingly little is automated. It is full of communication issues, organizational issues, customs, values, fashions, and myths. It brings out the best and the worst in people. Personalities determine much of what happens. It is more like making movies than engineering cars.
If I paid myself a salary, I should’ve gotten at least $120 to write this article. - Jeff Knooren
I was told it was impossible to update any icon in the system. The Engineers who coded the interface had created 20 New icons over the years. They all had different file names, height/width attributes, located in different folders, yet they were essentially the same icon. Frustrating, because in software development, design is undervalued. Often no user interface design is done, or it’s considered a formality, before the “real work” of coding. organizational issues then becomes recoding, and recoding, and recoding. This is short-sighted, because you write more code in the long run. The useful debate is about doing something right from the beginning, which saves you 10x the work later on; Capture problems early.
If an engineers objective is to finish a function on time, and a designer’s objective is to make it look pretty, that isn’t teamwork. Each member needs to put trust in the expertise of the others. They should welcome a system that makes their job easier. Specific to this post, I’m talk about graphic sprites. An explanation of it can be found on AListApart. So, how the AListApart article applies to your website, is demonstrated below:

Structure
You need at least two rows, and two columns. I’ve got a 400×400px graphic divided into a 20×20 grid. The top-most row is for actions such as “Add” or “Delete”. The left column is for “Base” icons, like “Document” or “Appointment”.

Actions
An action gives you the ability to mix-n-match icons symbols, like pluses or checkmarks, with a base icon placed below it. For example a “Document” icon, combined with a “+” symbol makes a “New Document” icon.
Base Icons
Are “things” that are acted upon. One problem you will run across with this grid method, is that not every possible combination of icon will make sense. Just ignore the few unusable combinations.
Setup
My icons generally have a strong black border around them. Notice the icons are smaller than the grid. This allows me to get the best possible placement for bases and actions, because sometimes the strong black borders are too thick.

Why do this?
You’ll be able to easily compare the icons to make sure they’re a consistent set of icons, and not a hodge-podge of icons from say, windows and mac operating systems. Using this grid format and naming convention, will allow you to keep all the icons organized in one file, rather than possibly hundreds of icons scattered about your application.