Monday, March 10, 2008
Monday Consulting Questions: First-Timers, Humor and Crappy Design
Q. I am not a techie. I work for a small business in a real-estate-related industry. I have been put in charge of having a new website created for our company. We will need it hooked up to a database of some kind. I've never run a technology project before. Where do I start, and how do I keep from being taken advantage of?
A. Welcome to the world of technical project sponsorship! To answer your first question - where to start - I suggest you start by reading my article The 5 Laws of Choosing a Software Developer. All the same issues apply to choosing a freelance web designer/developer as well. Let me recap the article here, in case you don't have time to read it.
- Demand Experience. Past performance is a great indicator of future results. Make sure you get someone with at least a few years of experience doing the kind of work that you want to end up with.
- Demand References. Trust, but verify. Make sure the person or firm you hire can really do (and has really done) everything claimed.
- Demand Value. Be as wary - if not more so - of the guy who charges too little as you are of people who seem to charge too much. You really will get what you pay for, and both the too-low and too-high providers are telegraphing their flaws.
- Demand Communication Skills. Don't hire anyone who is so wrapped up in their domain - whether that is the domain of the programmer or of the artist - that he is unable to speak to you like a normal human being. There are a lot of broken individuals in this industry for one reason or another. Don't bet your project on someone who is incapable of returning your calls.
- Demand Availability. Try to find a freelancer or firm that is dedicated to their business full-time. There are a lot of very talented folks out there who do work "on the side" in addition to their day job, but if you're not accustomed to managing technology projects you will find them exasperating to work with because they will be out-of-sync with your schedule.
To answer your second question - how to avoid being taken advantage of - is a little tougher.
If you adhere to the guidelines outlined above, you will find a competent provider. But will you find an ethical one? That's the real question. Because the barriers to entry are very low in the freelance design/development business, there are a lot of what I call "transient professionals" milling about. They generally have the technical skills to do the work but lack the intangibles (such as drive, ethics, or time-management & planning capabilities) that are the real mark of a useful provider. It is not hard to find and hire one of these types and end up watching your project disappear into a black hole.
The best advice I can give you is to push hard on the references and verify both the portfolio and work habits of the provider. This goes for firms as well as individual freelancers - you need to make sure that the provider has actually completed projects like yours, not simply worked on them. It is an important distinction.
Q. I see that your LinkedIn profile photo is actually a South Park-style avatar of yourself. That doesn't seem very professional. What do you think that says about you?
A. That despite my dry blog and (some would say) boring professional niche, I'm a guy who has a sense of humor? That I want my LinkedIn profile to be a bit more memorable than just another real-estate-style headshot? I don't consider business to be a humor-free endeavor, and I hope you don't either. Note that even when I'm trying to be humorous, I can't completely let go of professional rigidity - in the un-cropped version of the graphic, my avatar is wearing a tie. :)
Q. I'm kind of new to consulting. I have a new client who is asking me to do a small project for free, while promising that if I do well, they'll have a lot of other projects for me to do at my full bill rate. Am I being set up to get screwed?
A. First off, welcome to consulting. It looks like we have a first-timers theme going today, perhaps I should put you together with the first-time project sponsor above. :)
Second, I absolutely guarantee that you are being set up for a screwing. What you are being asked for is called "spec work" (the spec stands for speculative, meaning you have to do the work first and then the client decides if they want to pay for it or not), and it is absolutely the bane of the industry. I want everyone reading this who has ever been subject to the same kind of "work for free now and get real work later" proposition to stand up. Go on, right now, stand up. Now, I want everyone who has ever made this kind of a proposition work out favorably in the end to sit down. Ah-HAH! You're all still standing, aren't you? Of course you are, because speculative work arrangements never work out favorably. Not for the provider of the work, at least.
Now, I can see giving a new client a little bit of a price break as a "get to know you" rate on a limited part of your first project together. I don't necessarily like the practice, and my company doesn't do it, but I can at least understand it when you're starting out. But never, ever, ever work for free based solely on someone's promise that doing so will result in you being rewarded with paying work later. Just. Don't. Do. It. The odds are overwhelmingly in favor of "there is no paying work later". I - and every other freelance consultant out there - have seen it happen a million times.
Q. a) Is this really your new blog design? b) Are you trying to be a designer now? c) I thought you were a programmer.
A. a) It appears so. b) No, but I am trying to increase my design IQ. c) So did I, but then I went and turned into a businessman.
Wednesday, February 20, 2008
Playing with a new design…
I haven't had much time for writing these past few months. In fact, I haven't had much time for anything other than work! I've been hanging on to this beast for dear life, trying not to let things grow too fast. So, in order to soothe my soul, I'm playing with some design ideas that I had for my blog.
I'll probably do a serious article in the near future. But for now, I'm just experimenting with design. Let me know what you think!
Monday, October 15, 2007
Monday Consulting Questions: The Bus Test and "I Could Do This Myself, But..."
Q. How do you handle your workload when your key man is out/unavailable?
A. Cogeian Systems is basically my vision of how software development ought to be done, implemented by my team. In some ways, I am the key man. In other ways, my team members - every one of them - are the key men. In a small firm, you don't have the ability to pull in an anonymous dev from another department to cover a staffing shortfall in your own. We are a small team; we thrive together and we suffer together.
That said, in any firm there's always at least one project going on that is significantly more vital to the firm than any other project. Whoever is leading that project is the key man. I lost a developer to a bigger firm around this time last year, and it definitely qualified as a key man issue - I had him developing a lot of long-term stuff and although coverage was decent, it was still a blow to have a primary producer leave. To be honest, we're still feeling the crunch; business has increased but the team has shrunk. This has forced us to become even more effective than before.
I make sure that at least 2 devs are familiar with every project. I make sure that at least 2 devs are known to every client, so that if someone has to step in, they're not completely foreign to the client. I make sure that all my project management notes are accessible to every dev. I make sure, in short, that there are no secrets regarding what has been promised, what is being built, what is broken, or who is responsible for what. In a small shop that's about all you can do.
Q. I have a client who wants me to do some really dumb things with their web app. They keep pulling out the "we could do this ourselves" argument, like I should be thankful to be here. What do I do?
A.WARNING: Client trash-talk ahead. If you are a Cogeian Systems client who has given me a hard time recently, I am about to talk about you. Don't worry, I still love you.
First off, you should be thankful for their business. However, that doesn't mean you should be a pushover and allow the client to disregard your expertise. We do a lot of business with small businesses, and almost to a person we have found that small business owners fall into the "just do what I say" camp at first, showing little interest in allowing us to exercise the expertise that led them to hire us in the first place. It's a huge issue, and it threatens to badly derail a lot of projects before they get started.
The software remediation clients tend to be the worst in this regard - they've already been burned by another dev firm, they've probably already expended their anticipated budget, they're aggravated and suspicious, and they try to soothe themselves by being very draconian with us. This never helps the project. About half of our small business clients give us this type of attitude - "just do it, I already know what needs to be done." We've also heard the "I could do this myself, but. . ." argument. They're completely wrong a lot of the time, and we try hard to educate, lead and reason with them.
I run a small business too, so I understand their fears - every dollar spent on software/web work is a dollar that could have gone into the business owner's pocket. Now, you could argue that this is a short-sighted view, given that good software or web work will more than pay for itself quickly, but that is human nature. People - especially people coming to us after being hosed by another firm - are often afraid of what might go wrong if they hand over a big sweaty wad of cash and everything goes wrong. I get that, and I try to talk to clients on an owner-to-owner basis whenever possible to make it clear that we're on the same page.
Ultimately, the sad truth is that if a client is not willing to get past their own fear or suspicion in order to play ball, we refund the deposit and suggest some other local service providers. As I've written before, being a professional means saying "no" to your client sometimes. Of course, the upside is that the clients we tend to retain are the ones who either get it right away, or who come around after initially being resistant to letting us be the expert. This is a beautiful thing, because it means we have great client relationships, even if they start out shaky.
I look at it this way - I didn't build this firm so I could help my clients to do the wrong thing, and thankfully there is plenty of business out there, so when a project is clearly not a fit for whatever reason, I don't feel bad about walking them.
Thursday, September 20, 2007
Why Is Finding Small Office Space So Hard?
Cogeian Systems is mostly a virtual team, with the project management office in central California directing the efforts of developers/designers in southern California, Brazil, New Zealand, and on the East Coast. However, things are quickly coming to the point where I need to get a few folks into an office here in central CA. So, I've been looking around town for office space recently. The search has not gone well.
In general, it seems that renting office space is a game that has been polarized to cater to two types of folks: solo operators who can get by with a 12' x 12' executive suite, or mid-size+ firms who can actually make use of 2500 square foot office suites.
My little company is on the low side of the middle in terms of space requirements; I only need space enough for 3 people, with maybe some flex space for folks who drop in to perform recurring duties from time to time (my wife, the bookkeeper, the PC tech, etc). So, we need maybe 500 square feet. After speaking to some other local tech guys, it seems I am not alone.
This morning, I noticed that Andrey Butov of Antair Software is having a similar problem in his locale as well. From Andrey's blog:
The few hours a week that I can spend perusing the locals for office space are not proving to be very fruitful. Everything available is either a 100 sq ft shack, or a 10,000 sq foot store front. Honestly, why is it so difficult to find a nice, clean, networked building with a space for, say 3-5 developers working comfortably?
I couldn't sum it up any better. I've found spaces that could house 3 people with some flex space left over, but most of those spaces were shabby. I'm not looking for the Taj Majal here, I just want a "clean, networked building" that's neither 40 years old and crumbling nor brand-new and still in its "inflated honeymoon pricing" period, charging double what anyone else is charging. The quality of most spaces I have seen doesn't seem to justify the rent.
I can't help but wonder if other small tech firms have similar problems finding smallish office space? Is it a location problem? Mt HQ is in a small town in central CA, a primarily agricultural area that is, frankly, not the best place in the world to locate a tech business. Andrey is in New York City though; I'm surprised that's he finding it hard to find good space. I guess that just proves I don't know anything about New York's commercial realty market. Out here, I've looked north and south to larger cities - Fresno and Bakersfield, specifically - and have found a fair amount of suitable space. So, perhaps it IS simply a matter of location. Or is it simple a matter of having a business that is a tweener size-wise?
I have considered starting up a co-working space in Visalia, using Cogeian Systems as the anchor and inviting other independent small firms & consultants to join the space. It would be a super cool environment to work in, but I'm not sure I want to be in the landlord business.
I'd love to hear form other small-firm operators who are having the same problem - do you find it difficult to find suitable space for a 3 - 5 person firm?
Monday, July 23, 2007
Monday Consulting Questions: Three Reasons Not to Work On-Site
I've been saving up questions for a while, so without further ado let me welcome another installment of Monday Consulting Questions.
Q. What is your position on working on-site? I have a new client who is pressuring me to work 100% on-site, and I don't know what to tell them.
A. When you say "working on-site" I'm going to assume you mean actually developing software on-site.
The general rule I've set for Cogeian Systems is that we do not do development work on-site. We have our own work spaces, our own machines, our own software and everything else we need to complete a project. We primarily do work at our own locations. Now, we do travel out to see clients for various reasons - meetings, installations, training, etc., and these things are work. However, it is not our generally our practice to generate work product (software) on-site. There are a couple of reasons for this, and I suggest that you as a consultant think long and hard about them.
First, my experience has been that developing on-site devalues your expertise in the client's eyes. Back in the early days when it was just me, I had a couple of clients nastily refer to how I was "just typing all day" and that they didn't understand why they were paying my rate - this despite the fact that what I was building was demonstrably saving them 3x my bill in labor costs each month. But for whatever reason, this client didn't care - all they knew was that a typist should cost $10/hour, yet there I was, "just typing all day" while being paid almost 10 times that. However, take that same client, go away for a week or two, come back with a big fat feature to install, and they'll think you were off working miracles for them. It's lame but it does happen.
Second, working on-site introduces the danger of the client treating a consultant like an employee. You're there every day, sitting at a desk like an employee, arriving at 8 and leaving at 6 like an employee, taking an hour for lunch like an employee, hell, they may as well treat you like an employee - that is to say, micromanage, second-guess, interrupt, and generally stop you from being effective. I know, I know, this sounds terrible for me to say, but I've called clients on this before and they admitted that I was right. There is nothing more dangerous than for a client to take an expensive consultant too casually and give them the employee treatment, thereby working against their own best interests. The most effective (and happiest!) consultant is going to be the least encumbered.
Third, working on-site prevents you from doing the things you need to do to grow your practice. If you're stuck behind the client's desk for 8 hours a day, when are you going to market? When are you going to recruit? When are you going to make or take prospect calls? Sure, you could do all these things after hours, but isn't it better to NOT do it that way? This is the kiss of death for anyone trying to found a consulting practice that they intend to grow beyond a 1-person operation.
So, the over-reaching meta-reason for not working on-site is simple: it is not an effective practice. It's not an effective way to get a project done (which is bad for the client) and it's not an effective way to grow your business (which is bad for you).
Now, the exceptions.
For certain remediation projects, there is no way to avoid working on-site. Although we do 90% of our work via some sort of remote services, there are times when you need to be physically at the location, and that is fine if that is what the job requires. We're just not going to work on-site for every little mundane task.
Personally, I think that a client who wants a consultant to be on-site full-time has a trust problem. And if a client cannot trust my team and I, then we probably shouldn't be working together. Again, this is a hard line I'm taking, but I think it is a useful one.
Of course, there are folks out there who don't really want to be a consultant, they want to be a contractor - that is, contracted labor meant to augment the client's W2 staff. There's certainly nothing wrong with this kind of arrangement, as I know a few guys who make it work with some combination of on-site and off-site development work. I simply don't recommend this as a long-term method of operation for anyone who is looking to build a consulting firm.
Q. What do you do when a project requires technology that you are not familiar with?
A. Now, this is an interesting questions. I have always said that my company specializes in the Microsoft platform of technologies; if someone called us to do, say, a PHP project, I'd have to politely decline. However, I have recently decided that this stance does not mesh with my oft-repeated claim that we are actually in the business-problem-solving business. So, I'm currently looking for competent PHP and MySQL resources so that I can apply my take on effective development practices and extend my company's offerings to include the LAMP ecosystem. I might even pick up some PHP skills myself (more on this later). But, I'm digressing.
When faced with a project that includes or requires technologies that neither I nor my team are up to speed on, I do one of a few things:
If the unknown technology is a strong majority of the project, I will refer the client to someone else.
If the unknown technology is a strong minority of the project, I will accept the project and subcontract the parts that include the unknown technology.
If the unknown technology is a minimal factor in the project, I will strive to understand it (or have one of my team members strive to understand it) to the degree that is required to complete the project.
Do you have questions about the custom software/consulting business? Email me your question and I'll try to use it in a future installment of Monday Consulting Questions.
Friday, July 20, 2007
Friday Dream Projects from the Blogosphere
The Friday Dream Projects thing caught on fairly well. I got wind of a couple of other blogs that posted their own Dream Projects.
First, we have one from James at Blue Jazz Consulting, who then followed up again this Friday with a new set of dream projects. Good show, James. I really like the idea for a CRM version of Remember The Milk.
Then Jeff Donnici got into the act, posting a couple of his own Dream Projects last Wednesday. Jeff wants to do programming for a new kind of poker machine for casinos. Sounds cool.
As for my own dream project this week, I've recently been daydreaming about how cool it would be to build a self-service patient scheduling app for health care providers.
If you can book your own flights online (within the parameters of what the airline makes available), there's no reason why you can't also book your own doctor's appointment (within the parameters of what your doctor makes available), right? As with most of my dream projects, this seems to me like the kind of thing that probably already exists, but it would still be fun to build one!
What are your Dream Projects? Post 'em on your blog or eMail them in and I'll post them here.
Monday, July 16, 2007
Withdrawing From The Echo Chamber, 2 Weeks Later
It's been 2 weeks since I decided to delete all my bookmarks, un-subscribe from all my feeds, stop reading blogs, and generally disconnect from the entire blogosphere. How is it working out for me?
It's wonderful.
Now, I've had a few lapses, mainly because people keep eMailing me links to blog posts and saying "come on, you HAVE to read this one". So, in the past two weeks I've faltered on these occasions:
- I posted a few comments on Ian Landsman's blog. Ian is a friend, so I felt compelled to check out his latest stuff when someone suggested it.
- I posted a comment on Scoble's blog, again after being eMailed a link suggesting a particular post was worth checking out.
- I read Mike Gunderloy's criticism of my dis-connecting over at Web Worker Daily.
- I peeked at both Joel on Software and Signal v. Noise.
That's pretty good, I think. Total time spent on all that was less than 20 minutes; I used to spend more than that per day when I was subscribed to 100 different feeds and trying to stay on top of everything, all the time. Now, I figure that if something important to my business pops up, it will make itself known to me organically.
I've also had a few bookmarks organically work their way into my routine over the last 2 weeks: one for Cubespace, a co-working facility in Portland, OR, where I'll be spending a week later this month (I'll be renting a slot at Cubespace to work at that week), and one to a ZenCart customization tutorial (I'm doing my first ZenCart project this month). What makes these bookmarks acceptable is that they each pertain to work, both have a finite context, and both can (and will!) be deleted once they have served their purpose.
OK, OK, that's all well & good. But part of my reason for disconnecting was to improve mental bandwidth and just feel better about my informational diet. How are things going on that front? Again, wonderful.
I no longer feel like I have the weight of the world on my shoulders with regard to having to know everything that's going on in the industry all the time. Why did I feel like that in the first place, I wonder? The answer is, who cares? I'm on my way to being free of it. My eyes are open and I'm dedicated to cherry-picking my informational interruptions from amongst the things that actually benefit me professionally.
Is anyone picking up that 30-day disconnect challenge I issued? If so, I'd like to hear from you.
Monday, July 09, 2007
11 Clients You Should Fire, 2 Years Later
I can hardly believe it's been just over 2 years since I wrote 11 Clients You Need To Fire Right Now; it seems like it was just a few weeks ago. That is, without a doubt, my most popular article. It even was published by Software Development Magazine back before SDMag was acquired by Dr. Dobbs. Clearly I struck a chord amongst folks who have problems with ill-behaved clients.
Here we are two year later, and I'm wondering if anyone actually took it to heart and fired their problematic clients. I can happily report that I have dropped several clients off the roster here at Cogeian Systems over the past 2 years, and I think that business is better for it. Sure, total revenue is a bit less than it would be if I had kept those clients, but the quality of the business we're doing over here is much higher. It's absolutely been worth it. All dollars are not created equal; I'm much more interested in accepting the projects that will actually result in good work and a good experience for all. It's better to take 75% of the work and feel 100% good about it than the reverse, I think.
If anyone has a good story to share about how they've improved their business by firing a client, feel free to email me, I'd love to hear it.
Friday, July 06, 2007
Friday Dream Projects - The Kick-Off
I find that my company does a lot of similar projects. Even though we're primarily a bespoke development shop, I can't help but notice that there is a ton of overlap between a lot of our projects. Sometimes it feels like we're doing more copy-paste-modify than actually designing unique things that work in unique ways. My company is staying busy, but there are certain types of projects that get my personal creative juices flowing more so than others.
So, every Friday, I'm going to post a few of my "dream projects". Now, I don't expect that someone is going to read my blog and say "Oh my goodness! Christopher is dying to do a Martian Balloon-Farming management system, and that's just what I need! I've got to call Cogeian Systems right away!" That's not why I'm posting this. Of course, if that were to happen, I'm not going to say no (attention, all Martian balloon farmers: bring your checkbook!) I think it's important to externalize the things that you really want to do. When you say them out loud, or post them someplace, they seem more real.
Plus, I'm hoping to start a meme. I may not be reading blogs right now, but it sure would be nice if a whole bunch of other bloggers posted their dream projects too. Anyway, here we go:
Today's Dream Projects
- Bonus compensation management system - I used to work for a company that did HR software, and worked on apps that handled bonus/incentive compensation, salary management, performance management, and succession planning. It was great stuff. But what I loved most of all was working on the bonus comp system. Thankfully, that's the product I spent most of my time on. I've done a couple of lightweight bonus comp projects over the past 5 years, but I'd really like to do another one, a bigger one. Lots of fun for everyone. I like the idea of helping people to get paid. There are a number of such systems on the market, but it would be cool to do one custom for a firm that needs something tailored to their specific compensation processes.
- Martial arts technique catalog - I'm imagining an interactive training tool for martial arts schools that would walk a person through a variety of moves and counters, allowing for the presentation of unlimited combinations. There is no substitute for live instruction and sparring, but it sure would be cool to have a tool like this to supplement the live training. I'd be very surprised if something like this is not on the market already, but I'd love to do a customized version for a school that has a unique take on training.
- Film production management system - Making a movie can be a BIG project. I have a friend who works in television production and has done a few documentary films and man, you should hear some of his stories. It's a crazy business. I'd love to build something that would help manage the chaos, using standard project management ideas and adapting them to the complications of film-making. I know there are off-the-shelf systems that do this, but it would still be a lot of fun to custom-build one that has a unique take on the process of managing a production.
That's it for today. My dream projects probably seem silly to some of you, but your might seem silly to me, too. Plus, they change every week (if not every day). I usually think of this stuff when I'm in the shower.
What's your dream project?
Wednesday, July 04, 2007
Responses to Clearing Mental Clutter
A colleague let me know that Web Worker Daily has commented on my post about withdrawing from the echo chamber. That's pretty cool, I like WebWorker.
First off, let me say that it is not lost on me that I would have noticed this myself had I not deleted all my feeds and bookmarks. Har-har, the joke's on me, I get it. This still makes for nice reading on a day off of work.
Second, Mike Gunderloy thinks I am prominent. Excellent.
Now, on to the meat of this post. By saying that:
...web workers have focused on ways to fine-tune and channel attention so as to find the necessary information at the right time."
Mike seems to be advocating that you carefully evaluate each and every one of your links, each and every one of your social sites, each and every one of your newsfeeds, hemming and hawing over "gee, maybe this one could stay", wondering if you made the right choice, carefully crafting a suite of interruptions that you deem acceptable.
I say, to hell with that. If you're running a business then you've got bigger fish to fry. Plus, we already have a way to find the necessary information at the right time. It's a little site called Google, maybe you've heard of it. I'm glad that Mike can make this kind of soft-pedal approach information clutter work for him, but in my experience you need to take direct and massive action if you want to be really effective.
Now, I did indeed take a radical approach by simply deleting all of it. And I do indeed think that it was the right step to take. However, the spin that Mike puts on it is that I - in true ultra-hermit, Unabomber style - have decided to permanently and completely withdraw from the outside world. This is not accurate.
Mike seems to think I'm advocating sticking one's head in the sand and letting the industry pass one by. I'm not sure how he comes to the conclusion that disconnecting for a while is akin to never learning new skills and letting your firm die.
Look at the last sentence of my previous post again:
Basically, if it's not helping me to secure or complete projects for my company, if it's not helping me to make money, if it's not improving my life in some way, it's mental clutter and it's out.
You see, I have no doubt that some of these connections to the echo chamber will eventually be back in my routine - if said connection helps me in some way.
The heart of the matter is, which of these outside influences and sources of connected-ness will earn their way back organically, by being a legitimate boon to my life and my business? And which will turn out to have been nothing more than baggage that I was holding on to un-necessarily, simply because I felt compelled to for some reason? That's the real test.
I issue a challenge to Mike, and to all of you who are reading this - disconnect, if you can. Disconnect, if you dare. Ditch your feed-reader. Ditch your Favorites folder. Drop out of your social networks. Just for 30 days, disconnect. Then, start allowing connections back into your daily routine organically. Resist the temptation to maintain a bookmark to some blog just because you feel like you're supposed to know what's going on within it's contents. Why are you supposed to know? Is it because you really benefit from it, or is it just because you feel compelled to be "in the know" with all the cool kids and A-listers? Resist bookmarks to "resources" that you don't really need. Is a given bookmark providing you with real knowledge, or just tabloid information about the industry? Is a given bookmark that once provided useful knowledge still relevant? If not, do you need to maintain it?
Make your online distractions earn their keep. Then delete them every year or two, and make them earn their spot all over again. Be ruthless in the distractions you accept. There is an entire world out there trying to pull your attention away from the things that will make you effective, productive and prosperous. Don't just give your attention away, make things earn it, then earn it again.