Archive for December, 2008

Being a Software Developer in an Economic Downturn

Monday, December 29th, 2008

Neil Davidson, always worth reading, has a guest post today at Dharmesh Shah’s OnStartups blog. The topic is six reasons why now is a fine time to start a software company. I agree strongly with his reason #4 - that constraints enforce discipline. Too many companies start up and grow while times are good, and never learn the efficiency and productivity they will need to survive when times are tough. Companies that are born in turbulent times will not only survive those times but thrive when conditions improve again.

One thing that I’ve been wondering about is the difference between being a full-time employee and being an independent consultant in times like these. Different people have put forth contradictory theories on this. Joel Spolsky has said that when the economy takes a beating, the consultants are the first to go. Others have suggested that full-time W-2 employees are at a much greater risk of layoffs in tough times because of the overhead of benefits, vacation, etc. And also just because of the lower level of commitment involved with a consultant. You can hire one for a few months and if it doesn’t work out you just wrap things up with no hard feelings on either side, as opposed to the emotional trauma of firing an employee. So in a downturn, hiring of employees freezes and any additional work is done through temporary consultants.

I have a lot of respect for Joel’s writings, but my experience more closely follows the second theory. When I was looking for work as a developer in the dark days of 2002 and 2003, there seemed to be few full-time positions available. Everyone was hiring short-term contracts; three months here, six months there.

I’d be interested in knowing whether my experiences were an exception to the norm, or if other people have a similar take on it. Feel free to share your thoughts in the comments.

Jury Duty Is a Bit Like Running a Business

Monday, December 15th, 2008

I’m spending all this week in a courtroom, on the jury. I’m actually finding jury duty really interesting, although I suspect I’m in the minority on this; most people seem to view it as a burden to be evaded if at all possible.

Obviously I can’t talk about the case, but I wanted to share a thought I had during lunch. Jury duty is a bit like running a business, or maybe it’s the other way around.

During a trial, in theory, the path to a verdict should be fairly simple. There are some laws, there are some facts, there might be some contracts, and so on. Assuming the law is not too ambiguous and the evidence presented can be assumed to be true, it shouldn’t be too hard to come up with an answer. You did this, and the law says you can’t - guilty. Your contract says you have to do this, and you didn’t and bad stuff happened - you’re responsible for the damages.

But during the trial there are a lot of issues raised and discussed that end up being nothing more than distractions from the basic points at hand. I think some of these issues are intentionally raised by the lawyers to act as a smokescreen against the opposing lawyers (and perhaps against the jurors), and some of the issues just arise naturally from the case. Maybe you feel sympathy for a victim. Perhaps you feel the plaintiff already has enough money. Maybe you find one of the lawyers particularly eloquent. But as a juror you have to try hard to not get distracted by these things and remember the basics of the facts and the law under consideration.

And running a business is a lot like this, too. There are a lot of ways to get distracted and waste time and money pursuing things that don’t contribute to the core goals of your business. Some consultants get so tangled up in collecting a $5000 invoice from a deadbeat client that they end up spending more in time and legal fees than the original invoice was worth. Some companies get so obsessed over destroying a rival that they end up doing near-fatal damage to their reputations (the history of the Microsoft vs. Netscape browser wars is a great example of this). Some businesses spend too much time going down dead-ends that sounded like good ideas at the time. Patrick McKenzie has an illuminating write-up of a web marketing promotion that never quite figured out how to turn viewers into customers. (But he shouldn’t feel too bad - he’s in fine company there, and he didn’t even buy a Super Bowl ad.)

So if you’re running a business, make sure you don’t lose sight of your basic goals. For many businesses this is the bottom-line, dollars-and-cents. But you might also have other core values that are just as important to you. Whatever’s important to you, stay focused on it, and don’t be distracted when a blogger gives you a bad review and it’s obvious that they didn’t even use your product, and your face turns red and smoke starts coming out of your ears.

And if you’re on a jury, I don’t care if the defendant failed to fulfill my salad shooter order because his blasting cap technician was at home recovering from a burnt finger. How am I going to make my flappenjacken now?

Wholeweal Website Modifications

Friday, December 5th, 2008

After getting fed up with having to make changes on every single page of my website (a pain even with automatic search-and-replace tools), I spent this evening converting the Wholeweal Software and EverybodyInn websites over to ASP.NET. This allows me to use master pages, a template system where I can write recurring text (like header, footers, and navigation sidebars) once, and then have them appear on every page. If I need to make a change, I just change it once in the template.

Most of the pages have changed file extensions from .html to .aspx, except for a few that have links from the EverybodyInn program itself. If the website was more established, I would have been much more nervous about doing this, as I would be breaking existing links on the Internet, hurting my placement in the search engines. But the site is so new that there aren’t a lot of links out there that aren’t to the main pages (which don’t use a file extension), so it made sense to do this switchover as soon as possible. The search engines will have to reindex the interior pages of the site, but I’m not too worried about that.

I’m fairly sure I caught every broken link within the site, but feel free to poke around and let me know if you find anything I missed.