Marketing is probably the hardest part of business for us engineers. Our world is built on the quantifiable and the real. Without being too uncharitable, Marketing isn't like that at all.
What is, is, to us, and misrepresentation is utterly foreign to our brains. The code compiles, or it doesn't. The build is works, or is broken, and there's no confusion about these things. No spin.
Frankly, this disqualifies us from ever being great marketers. As your business grows, hire someone with the right skills to market for you, but don't waste time fighting your nature and diluting your best skills.
There's never been a better time to do this. Demand for software development has outstripped supply for decades, with no equilibrium in sight. That fact means you can survive, even comfortably, while making numerous mistakes that would kill a normal small business in any other industry, and while performing minimal marketing work.
At the same time, it's never been easier to start a software development business. You've already done so if you call yourself a "freelancer" or a "consultant" or an "indie", and that has created a situation where despite enormous demand, it is increasingly difficult to stand out and get noticed among the crowd.
Dismal predictions out of the way, there are a couple things that are important to note about marketing:
Word of Mouth & Portfolio
Parties, trade show booths, direct marketing, etc. have failed to bring in any significant new projects for Forge Apps. The only reliable way we've found good new clients is when they see our work or talk to someone who has worked with us.
Step one for those interested prospects is to visit our website.
The first version of our website was terrible. Eventually we were wise and rich enough to hire a designer, and now our website conveys competence and professionalism to prospective clients. If you're not in a place to spend money on custom site development, buy a theme or use a hosted service. Alternately, just host in plain ascii, but under no circumstances: attempt your own custom graphic design.
Don't be afraid to cull your portfolio on a regular basis. Quality over quantity.
The core of marketing is perception. While marketers will try to build and alter perception, it's important for all of us to be aware of how our actions will be perceived. Cultivate empathy in yourself. The ability to get your thoughts out of your own head and look back at your actions or plans and evaluate how other people will perceive them is critical. Once you are aware of how others perceive you, you're on your way to closing deals, negotiating contracts, and managing projects.
Note: I'd like to dive into my half-baked macroeconomic theories about industry consolidation and inherent instability of some business sizes, but that will have to wait for another post.