Fog Creek Software
Discussion Board




Do you use the best tools money can buy?

I was just thinking about the 9th step of the Joel Test:

"Do you use the best tools money can buy?"

What reminded me of it was the place I am working for. They have absolutely no budget for programming tools whatsoever.

For example we needed MS Access recently to import a client's database into Postgres, but we could not get the $300 to buy Access. In the end I spent a few days using perl to read out the tables via ODBC, which probably cost the company $500 in wages.

When I think about it almost all the software companies I have worked for had no budget. Which means the developers are either using pirated software or running on Pentium 75s.

What are other people's experiences with programming budgets?

Matthew Lock
Monday, August 05, 2002

I feel its not necessary that companies comply with every demand. See MSAcess was $300 but your wages are $500 (which will be your salary I think for those days) will be paid as per the bugdet. The $300 is extra which will be $500+$300. From the situation I think that time factor was not important for the implementation. So a couple of more days does not matter for the company. And better, next time if similar situation arises you already have a solution without $300 spent in the first place.
You have mentioned MSAccess, tomorrow it may be ORACLE etc etc. It does not mean companies buy products for a task and then leave it gathering dust with no purpose.

RK
Monday, August 05, 2002

>You have mentioned MSAccess, tomorrow it may be ORACLE etc etc. It does not mean companies buy products for a task and then leave it gathering dust with no purpose.

If the company did buy the program and use it once they would have saved $200 which would translate into $200 raw cash profit. I am not considering the additional savings of the benefits and operating expenses during the time he worked on the problem. If they have another issue where MSAccess can save them time they won't have to pay for it again and again but only once, which is probably not true for the custom perl code he wrote.

>MSAcess was $300 but your wages are $500 (which will be your salary I think for those days) will be paid as per the bugdet. The $300 is extra which will be $500+$300. From the situation I think that time factor was not important for the implementation. So a couple of more days does not matter for the company. And better, next time if similar situation arises you already have a solution without $300 spent in the first place.

Where the time factor IS important is the days he spent working on this problem for no reason - not even to save money. These days are taken away from other development work. This might result in a product not being ready for the holiday season -- and a loss of millions or billions of dollars because the product won't be viable next year. Bathtub curve.

Takes longer AND is more expensive.

That's foolish.
Monday, August 05, 2002

I think maybe RK's point is slightly short sighted...

You have to factor in what the employee is worth to the company if he wasn't stuck replicating Access functionality. If given 3 days of free time, he could make the company more than 300, then it would be worth it... You always have to pay someone.

Andrew Cherry
Monday, August 05, 2002

Hah! Obviously writing at the same time, and with roughly the same point! Slightly worse made by me however...

Andrew Cherry
Monday, August 05, 2002

I usually don't expect favors from the companies I work for and get more pirated software than I ever need: IDEs, profilers, whatever .. It's faster and less headache.

Someone
Monday, August 05, 2002

Most places I've worked seem to be feast or famine.  Sometimes they'll drop big bucks on stuff that winds up as shelfware, and other times you can't beg a couple hundred dollars for a decent charting widget.  I haven't quite puzzled out the pattern.  Anyone else have successful tactics to use to get what you need?  Doing ROI or Cost/Benefit doesn't seem to work - far too rational I guess.

Disgruntled Developer
Monday, August 05, 2002

<i>If the company did buy the program and use it once they would have saved $200 which would translate into $200 raw cash profit.</i>

Guess again. The company saved $300 in out-of-pocket expenses and was able to bill a client for 3 days of pretty silly work.

pb
Monday, August 05, 2002

Some companies are a bit liberal with billed time, and find spending money for reducing time not worthwhile.  Of course, that's not respectful to anyone's time...  Like a mechanic who will spot an opportunity to drag things out a couple days.

Also keep in mind that sometimes profit is fairly inelastic with dev time.  In cases like this, RK's analysis becomes more sensible.

Sammy
Monday, August 05, 2002

I wonder, is there such a thing as software ecology? Is it important to prevent software waste / "environment" pollution?
And, from this speculative point of view, what's better: to buy monster MS Access for 1-day's work and let it collect dust on the shelf, or to write the small program that covers only the functionality you need? It might be more expensive, but this small perl program can be "recycled" later and transformed into something different... Or not.

Paper or plastic? :)

Igor K.
Monday, August 05, 2002

Maybe this is a good argument for software as a web service?  Instead of buying MS Access, you'd rent time on it for (presumably) a much lower cost.

Nick
Monday, August 05, 2002

pb - you assume that they pay you by time, not by job. if you'd have spent 300, got that job done, then done another job for a different client in the time you saved... you make more money.

Andrew Cherry
Monday, August 05, 2002

Actually the answer for this easy.

Unless you are charging a client by the hour, then most managers have a budget for staff costs and a budget for other stuff (including software purchases). Buying a piece of software shows up as a negative
on one budget, and may send them over.
Taking three days to write an equivalent
function does not show up as a budget negative. Everything is just three man days later, which will probably be lost in the
mix.

David Clayworth
Tuesday, August 06, 2002

Much of this thread has assumed that we're talking about a software project that's just a small part of a large businesses activity.

I'm more interested in whether small one-man or two-man shops (any of you out there) use the best tools.

For me developing business apps, for example, it seems like a no brainer to spend a few hundred bucks to get the best grid tool out there, rather than try to write a good grid component myself or use a no-frills open-source or cheapie version.

There are some excellent components out there, and if you assemble a library of a few best-in-class components I think you can dramatically lower development time and raise the quality of the product you deliver, all for a very reasonable cost.

Any thoughts?

Herbert Sitz
Tuesday, August 06, 2002

I run a small software company where I'm the primary developer, and we believe that spending money on the best tools available is an investment in the quality of our resulting output. This applies to the computer's and equipment we have available to us, the components I use in the programs, the software tools we need for development, graphics, marketing, whoever.

We don't spend money unneccesarily, and we make sure that we get the best deals possible on what we buy, but we do typically provide ourselves with the tools that we need to get our respective jobs done in the best manner possible. I feel that this is all a part of making your work environment more comfortable, enjoying your work, and enjoying your life. I also believe that this undoubtably leads to much higher quality results, and of course in less time.

Skimping too much in any area can lead to a false economy and poor output.

JWA
Tuesday, August 06, 2002

Just curious...  What's your favorite, or most useful tool?  What's it cost?

My 3 year old Dell laptop is one of my favorites.  You can get one on ebay for $700 or so - I paid $3K for this new  :)

Nat Ersoz
Wednesday, August 07, 2002

I have some views on this and it really does depend on what the tool does:
a) Computers, We almost never buy the developers the worlds fastest machines, I want the developers to NOTICE speed problems before the customers do. More RAM will often help compile times more than anything else. I reckon we waste upto 10% of developer time due to slow machines, but we run with acceptable performance on any hardware with a processor faster than say 266. Since most stuff nowadays rarely requires a complete compile this isn't a big problem. I may well change my viewpoint with the .NET IDE as it seems to burn RAM & Processor.
We are however all equipped with dual monitors (One for code, one for online docs)
b) Compilers / tools for use during development. Here I have no problem spending money, actually since we're MS certified partners I get 5 full MSDN universal licenses which is enough for in house use (Plus the other licenses we have from previous purchases). The only thing I ask from other tools is that they don't tie us into proprietary binary formats e.g. help systems that use some whacky database and compile direct, if they go out to RTF and then through the standard MS help compiler they're allowed in my book.  Sometimes we write these apps ourselves, we have a word document->.HLP macro which uses Word outlining to generate contents and page titles and a nifty little project file bodger for VB which sets the version numbers and copyright information. However we do use Wise for writing our setup programs as the alternatives are grim.
c) Widgets/ActiveX components. I now take the view that if I can't buy the source code I'm generally not interested. Sometimes we write these ourselves, sometimes we buy them in. The only major ones we use currently (Where we have no source code) are VsFlexGrid & a nice 3d graphing thingy. In the VsFlexGrid case, we've been using it so long I've stopped caring and in the 3D widget case it's an incidental part of the code primarly used during demos and since it works nicely and seems bug free I don't care. Widgets do have one advantage in that most of them are royalty free, available as demo downloads so you can evaluate them without trouble and most will allow to have the source code if you pay enough money (usually something like $5k) Sometimes we use the widgets for demo/eval purposes (to get something to show the customer) and write our own for production use.

Peter Ibbotson
Friday, August 09, 2002

I second the laptops.  I'd spend a premium on a light IBM Thinkpad, or even an Apple iBook.  Except that the iBook isn't Yet Ready for me.  (Sony and Dell are also good, but they're aimed at someone else.)

Books too, I've spent a lot on.

But not software tools.  I never buy software anymore, maybe it's boring.  And you never want to be a guinea pig.  Though I definitely would have bought Access in the original poster's situation.  Really, it's the developer's time that is most wasted by this.  No one wants to write a boring Perl/Access script, unless reuse is probable.

Sammy
Sunday, August 11, 2002

> I'd spend a premium on a light IBM Thinkpad, or even an Apple iBook

I don't like laptops as I find them unergonomical, with one exception - the thinkpad. I love the force sensitive mouseknob in the center of the keyboard.

It Works Correctly.

It is The Correct Solution.

--

(The problem with other laptops is that using the mouse pad hurts my hands and the screen is not at the right height relative to where I have to put my hands. Using desktop mice hurts my hands too - I think they and not keyboards are the things that aggravate/cause carpal tunnel problems -- it's my right (mouse) hand that gives my trouble despite the fact that I use both hands equally for typing)

X. J. Scott
Sunday, August 11, 2002

*  Recent Topics

*  Fog Creek Home