Monday, November 28, 2016

How do I find cheap freelance hardware and software developers?

The question was, "How do I find cheap freelance hardware and software developers?"

I warned the questioner to be very careful about what he was asking for:

First of all, you don’t want “cheap” developers; you want inexpensive developers.

Second, the expense of developers is not their hourly or daily rate. It’s the total cost of building and delivering the software and hardware you want.

In my experience, the least expensive developers have much higher rates than the more costly ones. The deliver what you want, the first time, in less time, with less trouble.

However, a high hourly rate doesn’t guarantee an inexpensive product. Freelance developers can charge anything they want, so price doesn’t necessarily indicate value.

Instead, speak to references about any developer you’re considering. Find out first hand what you’re going to get for what you’re paying.

And, by the way, don't think you'll save money by hiring individual developers. Your best bet will generally be to choose a team, perhaps an Agile team, but in any case, a team that has a history of working well together.

Wednesday, November 09, 2016

How do I choose the right career?

The question was, "How do I choose the right career?"

My answer was, "You can’t."

Other responders told you things about how to choose your right JOB, but a job is not a career. Maybe before the 21st century, the world of work was sufficiently stable that one could choose a career, but not longer.

For instance, I’m an old guy so I’ve had sort of a career—in computing. But back in the 1940s, when I asked this question, computers didn’t even exist. At least, none of my career counselors knew of them.

And even for the 20th century, I’ve had a rather stable career. My wife, on the other hand, started out to be a concert pianist, then became a musicologist, then a piano teacher, then an anthropologist, then a management consultant, then a world-class dog trainer, and right now is an animal behavior specialist. She works primarily with canines, but until she was 33 years old, she was deathly afraid of dogs.

In other words, don’t try to choose the right career, but prepare yourself for choosing many careers throughout your working life. Learn the fundamental skills that will serve you well in all your future careers, whatever you choose, whenever you choose them—people skills, problem solving, and systems thinking are what come to my mind as things you'd need in all careers. 

That's why I've studied these things, teach them in workshops, and write books about them.

Monday, October 31, 2016

What's the most complex thing about software development?

What's the most complex thing about software development?

Interesting question.

So far, on, there have been four excellent answers to this question: discussing 
- the confusing role of people, 
-the requirements problems,
-the interactions with the physical world.

Each of these factors certainly makes software development more complex, and processes such as Agile are designed to cope with this complexity. But, the ultimate complexity factor is software testing.

Why testing? In the software development literature, testing is not usually treated as a glamorous part of development, but when we're testing, we're up against the Second Law of Thermodynamics, which warns us that perfection is ultimately unobtainable.

So, even if we absolutely knew all the requirements (which we can't, of course), kept all the human factors under control (also impossible), and knew exactly all the physical properties of the real world (once more, impossible), we would still never be able to perform the infinite number of tests to cover all possible situations.

In other words, the software could still surprise us at any time. That's what I call complexity.

Of course, we can still work hard to solve these other problems. On requirements, for instance, see our Exploring Requirements books.

But no matter how hard you try, you'll still be faced with the testing problem. To understand this problem and what you can do to reduce (but not eliminate) it, take a look at Perfect Software and Other Illusions about Testing.

Tuesday, October 25, 2016

Leaders: Born or Made?

The question was asked: "What's the best way to explain the phrase 'leaders are born not made'?"

That's easy. The best explanation is that it’s pure bunk, not supported by any evidence whatsoever.

But if it’s bunk, why do people repeat it? Perhaps they are making an excuse for not being a leader themselves, and not doing anything about it.

If they did want to do something about it, they could find many resources to help them grow into a better leader. My own contributions include:


But I'm not the only leadership coach. You have many choices, so if  you catch yourself arguing that leaders are born not made, stop making excuses. 

If you want to stop making excuses and start making a leader out of yourself, find yourself a collection of coaches and get busy with the making. 

Sunday, October 09, 2016

improve my coding skills?

The questioner wrote, "Besides practicing, what else can I do to improve my coding skills?"

I took up the challenge with a warning:

Be careful of practice, because if that’s all you do, you’ll just be reinforcing your bad habits.

Instead, read and understand the coding of others. Reviewing code is the fastest way to improve your own code. If the reviewed code is well done, you learn good techniques. If it’s badly done, you learn what things to avoid.

If you’re on an Agile team, reviewing the code of others will be a natural part of your work, and you’ll also learn from others’ reviews of your work.

In any case, one of the very best ways to read and understand the code of others is by participating in software testing. By testing, you learn what really works and what really causes trouble.

And, of course, you should always take the opportunity not just to study code, but to watch others actually producing that code. What tools do they use? How do they use them? What’s their thinking process? What do they read to learn?

Finally, read some good books about thinking, reviewing, and learning. I’ve written some, and my own books refer to others. (

Friday, September 30, 2016

How can someone prepare for consulting?

Someone asked, "How can someone prepare for consulting?"

Here's my short answer:

You can look upon consulting as having two parts (for the sake of this answer): subject matter expertise and expertise at offering advice on any subject. Obviously, you prepare tor consulting by becoming an expert in some subject matter—railroads, computers, marriage, divorce, submarines, glass, beer, management, software development, anything at all. Each subject will be different and require a different way to prepare.

The second part, though, has a great deal in common regardless of the subject matter. You need to know how to offer advice that people will listen to and act upon. Over my many decades as a consultant, I’ve frequently been asked about how to do this. So I wrote a book on the subject—and thus became a consultant to other consultants.

The book, The Secrets of Consulting, became so popular that I wrote a second book, More Secrets of Consulting, which also became a valued resource for consultants. So, unless you’d like to hire me as your consultant at $500/hour, and if you’re serious about become a consultant, or a better consultant, I’d suggest you spend the cost of a lunch and buy one or both of these books. Read them, follow their advice, and if it doesn’t help you, ask for and receive your money back. It’s guaranteed.

By the way, the person who asked this question didn't say whether s/he wanted to give or receive consulting. I assumed in my answer that they wanted to offer consulting, but the books work well either way—for consultants or those who hire consultants.

Tuesday, September 20, 2016

The Tenth Law of Pricing

The question was, "What can be said on the topic of generating revenue in a solo consulting practice?" You may not think of yourself as a consultant, but if you are an employee, you still have the problem of generating revenue, so this essay applies to you, too.

As a reply, I suggested reading my book, The Secrets of Consulting. The questioner then asked if I could supply a sample, so I provided a little sample from the book. In the chapter on pricing, I give my ten Laws of Pricing—laws that have made numerous consultants rich. I won’t explain them all here (or else I won’t get rich from sdelling my books), but I’ll give a summary along with the section about the tenth law:


The previous nine laws may sound overly analytical, but I don't perform this balancing act in any particularly analytical way. I just lay out several prices in a range and than imagine myself in a situation in which I'm turned down and am sitting at home, or the situation in which I've accepted and I'm doing the job. As I imagine myself in each of these situations, I notice my feelings. I find these fantasy feelings a particularly reliable guide to how I'm going to feel in the actual situation. Based on where I feel best on all sides, I set my price.

If the procedure sounds fuzzy, you may want to review the pricing laws:

1. Pricing has many functions, only one of which is the exchange of money.
2. The more they pay you, the more they love you. The less they pay you, the less they respect you.
3. The money is usually the smallest part of the price.
4. Pricing is not a zero-sum game.
5. If you need the money, don't take the job.
6. If they don't like your work, don't take their money.
7. Money is more than price.
8. Price is not a thing; it's a negotiated relationship.
9. Set the price so you won't regret it either way.

If you examine these laws, you'll realize that they don't talk about rationality, but emotionality. In other words, underlying all the other laws of pricing is The Tenth Law:

All prices are ultimately based on feelings, both yours and theirs.

It's important to note other feelings, such as how strongly the clients feel their need, and what they feel they can pay. It's especially important to understand what they feel you're worth. But most important is what *you* feel you're worth.

Oscar Wilde once said that people know the price of everything and the value of nothing. Since Wilde's time, however, things have gone downhill. Now people don't even know their own price. Not consultants, anyway. There may be some consultants in the world who never wonder whether they've set the right price on their heads, but I've never met any. I've concluded that, in the case of consultants, Wilde was wrong. Consultants have so much trouble talking about prices because they know their value only too well. Or, they secretly fear that they know.

So, if you're having problems setting a price on your head, take a good look at your deep feelings of self-worth. You're probably not worth as much as you hoped. On the other hand, you're probably worth a lot more than you feared.