Monday, April 14, 2008

"All I need is a Programmer"

I was contacted this week by an old acquaintance, and he had a proposition for me.

"Hey, I hear you're a programmer! That's great, because my buddy and I have
this idea for a business. We have everything important figured out, and all we need is a programmer to throw it together."


On the surface there isn't really anything unreasonable about that statement. These guys know what they want for an application, they "just" need the technical know-how to implement it. So, quelling my urge to say something flippant, I penned a reasonable response.


"Well, I have some other projects I'm involved in right now, but I'm always happy to take a look at something new and see if it's a good fit. If you want to do this as a strictly cash-for-labor exchange, it would probably take $X-per-hour to get me interested in spending time on it. If, on the other hand, you don't have any startup capital and are interested in trading equity for this work, I would probably have to see at least an X% cut of the company (and this option would, of course, be predicated on whether I felt the business was a viable one that I'd be interested in being invested in)"


Although I really didn't expect him to be interested in meeting me at those terms, I expected maybe a counter offer or an indication that he was expecting Y instead of X. What I actually got as a reply surprised me a little.

Hey, so, we aren't really prepared to pay. I mean there isn't that much to it, it's just a PHP website with a MySql database, I was hoping you could just throw it together as a favor. Oh well, thanks anyway

I thought about this for a minute, and realized that implicit in the conversation are several assumptions (or perhaps more accurately, conventionally perceived "truths") with regard to the craft of software development.

1)"there isn't that much to it" = "software is really easy to write"

2)"We have everything important figured out" = "in a business, the actual software is just icing on the cake"

3)"All we need is a programmer" = "software developers are cogs in a machine, or interchangeable components of an assembly line"

So then my question is this: Are these common assumptions within the software industry, and more importantly are they accurate?

Assumption 1: software development is easy

This is certainly an opinion I'm used to dealing with, and I'm sure most of you have experienced it as well: "This isn't rocket science, all we need is a program that does [insert complicated feature here]". Unfortunately it's all too common to be under the illusion that software is about 1/10th as tough to build as it actually is. Now we could say that's not unreasonable to assume, because to a non-technical user the User Interface IS the software, so they only can perceive 1/10th of the full application anyway. Based on that fact it wouldn't be illogical to conclude that it's no big deal to just add another button there at the bottom that completely changes the work-flow of the application. This is one misconception of the software industry that in my opinion can be 100% debunked: Software development is hard. We have tools to mitigate that; there are good development methodologies that can keep us focused on what's important, and good tools that can amplify our productivity, but at the end of the day it's difficult to produce good and simple software.

Assumption 2: software is just fluff compared to the business

This is another attitude I've encountered more than a few times, and again the surface value of the argument seems reasonable. After all, software can be made to do anything (within reason), so it isn't really the software that we're selling, it's the business concept. It's the product or the service that's making us them money, not the code. Now in a way, that's very true: great software that has no utility is perhaps not great software after all. However, it would be wrong to take that statement and turn it around to say that a great business idea will succeed regardless of the software that acts as it's delivery medium. Whether you are a product or a service company, the software is telling your story and your business WILL be judged on whether it is easy to use and doesn't break down. The greatest business in the world would not be able to overcome a millstone of bad software around it's neck. This misconception is, in my opinion, false and getting falser.

Assumption 3: programmers are interchangeable pluggable components

FULL DISCLOSURE: I'm a programmer, I have a vested interest in this not being true.

Nevertheless, I have experienced this opinion many times during various job-searches. A company is experiencing time-line problems, and the "obvious" solution is to get 5 more programmers. More manpower = more progress, right? Now of course this is a biased opinion, but I don't think all programmers are created equal. Plenty of other bloggers have written on the subject of the "Rockstar" programmer, that mythical super-productive hero who can carry a project on his back, and I'm not entirely convinced that he exists. That being said, I do think that the right people in the software developer roles on a project can make a difference of at least an order of magnitude. What might take one average-joe-coder 10 hours might be done in 1 if you have the right guy for the job, and if that's true I think I can safely throw the above assumption right out the window.

What do you think? Has the software industry changed to the point where the above assumptions are becoming more viable? Or is it just that the things potential customers believe about software are changing because of the pervasiveness of technology today?

132 comments:

Tony Stubblebine said...

In my experience people with this proposition are just as seriously underestimating the business side. If you're going to take on a business partner, that partner better be able to bring in money. You should ask how much money they're bringing to the table and what the sales pipeline looks like. If both are empty, then they aren't going to hold up their end of the bargain no matter what you build.

Anonymous said...

Hi Ethan. This perspective (from others) never ends. I've been in the business of software for almost twenty years now, with a significant portion in the video game industry. Usually about twice a month a get someone with a half-baked idea that 'just needs a good programmer' and ;probably won't take much time'. But is completely unwilling to pay up front, or to realistically divide the risk/reward.
Out of hand I dismiss all requests - they come to often by people who havent' the faintest clue what they are talking about, or able to understand how much work is involved.

It would be cool to think that this ends in the real world (where you have to handle people other than programmers, but at the same company) but no, most people believe that all programmers do is 'type'. I kid you not.

Harish said...

From someone coming from a different angle, I'd like to hear your opinion on something.

Although I have extensive knowledge of the web industry and the underlying technologies involved, I guess I would be considered a "business guy" by any programmer who considers himself a true hacker (I've studied programming, but only intro-level Java and C).

I understand this, and when I'm looking for a programmer, I make it clear that I not only want to offer him significant equity in my business, but also learn how to code by helping him and following along.

Now, apart from those two practices (in both cases letting the programmer understand that I see the implicit value he adds and therefore consider him an equal member of the team), what can I do to be a "programmer-friendly" founder? That is, what other steps can I take to make programmers want to work with me despite the lack of programming knowledge myself?

Look forward to hearing your response.

Dan said...

I have been a professional developer for about 10 years now, and my perspective is that these "myths" are becoming stronger/broader in acceptance. The sad thing is that when you try to educate someone to the contrary, they think you're prevaricating. Oh well.

Anonymous said...

@harish
"but also learn how to code by helping him and following along"

This is not helping him. If you hire him for his years of experience, you cannot expect to leach off of him without hindering him. You will never achieve the years of experience he has in this way. My boss proposes this to me all the time and all I can do is laugh it off, as it is truly laughable and illustrates the points of the article.

.writer. said...

I get the same expectations as a writer. I have this great idea, I just need someone to make a full blown screenplay or novel out of it. Of course I can't pay you, but if it sells, I'll throw you some change. I didn't realize that people applied the same line of thinking to programming. I guess nescience pervades all disciplines. Bummer. I'll keep this in mind next time I need a plumber. I can't pay you but...

Anonymous said...

We get this in the movie business all the time. People come over and say "I've got a great idea for a movie - how about I TELL you the idea, YOU WRITE the idea, and WE SPLIT the money." I always have to laugh, for two reasons: 1) Most of the time, their ideas really aren't that good. They're something like "It's about a guy, like, me, who... uh, works in a job like mine, and uh, has a problem with his boss... (insert the most recent problem he's had).." and 2) because there's really no shortage of ideas in the movie business. There are a lot of GREAT ideas, and I see them every day - many of them failing at the box office because the ideas are fine, but the scripts are awful. The real hard part is the writing. It's HARD to write a good film. And I assume that it's hard to write a good computer program. It's just human nature to assume that certain things (like creativity, acting talent, running a company, being the boss, programming) that these things are easy and ingrained talents they all have, but just haven't "developed" by spending a few weeks practicing - rather than being skillsets that take many, MANY years to learn.

Anonymous said...

Every developer knows that software development difficulty is dynamic. On one end you have easy to solve problems; I need to change the color. All the way to the other end; how do I calculate the ToE?

Humor aside, web based database isn't overly difficult but certainly not something a developer would want to do for free, on his/her own time, without any return for the effort, especially if the business needing the work to be done is serious about actually getting it done.

I'm personally affected by these very software developer beliefs. I'm trying to code an app that uses custom business rules to generate data on the fly based on those rules. Seems simple enough. Except when I peeled back the lid on the one-off's, unique case scenarios, and primary customer exceptions, did I realise just what ball of 10 yr old xmas light strands I had before me. It certainly feels Sysiphean.

Regardless, I agree for the most part. Just that there are varying levels of difficulty.

neoform said...

I get that sort of request from random aquaintances on a monthly basis. I always immediately tell them I've got too much work and can't take on more (which is mostly true), just so that I don't have to listen to their hare-brained idea. :P

5jvtPjF02YLDMDqSFmT2TBweyXR3 said...

One way to get him to really think about it is to reply with something like.

Sorry to hear you are not interested in discussing this further. If it is trivially easy and potentially profitable, it should only take an hour or two and cost you under $1000 (I'm guessing) which seems like a bargain.

Another way to think about it is I don't sign NDAs on volunteer work. If I chose to do it for you on a volunteer basis and saw that it was easy and profitable, I might be interested in developing my own implementation. Whereas if I was a contractor obviously the contract would be written to prohibit that.

I wish you well finding a volunteer programmer that isn't a threat to your business plans.

Colin Gebhart said...
This comment has been removed by the author.
Anonymous said...

I have been in this position before. The Principal of a new venture just says "You can throw it all together for us." What he was really trying to do is to devalue the service he was asking for as a way to jockey for price position.
My response was to ignore the subjectivity of the matter and gave him a straight hourly rate. Everybody was happy in the end.

Jon said...

Mark Evanier wrote a series of articles called "Unfinanced Entrepreneurs" explaining why you did exactly the right thing. In his case it's about Hollywood comedy writing, but substitute "programmer" for "writer" and "websites" for "sketches" and you've got a lot of good advice. They're the top three links here.

KishCom said...

I am a web programmer and the three axioms you've presented are becoming more and more widely accepted as true. Personally I feel the cause is a massive increase in the number of amateur web developers and overseas web developers. Over the past 3 years the number of 'freelancers' have exploded, it's easy to "get a coder to just do this", then go to someone else and get them to "make this small change" -- and for the most part this works well because all the client sees is the end result. The trouble comes when this is done continuously throughout the development of a single project.
The trick is convincing people that having a well thought out design is important and will save them a ton of money in the future.

Anonymous said...

Have these people never heard of eLance? Not that you'll always get top code from India, but you can get something out there to prove your concept and start going after users/investors written by someone who's happy to have the work. All this for a small fraction of what you'd have to offer the US-based friend/acquaintance to keep from insulting their dignity. Win-win-win.

Rob Cockerham said...

When I asked that Dyson guy to help me engineer a new type of vacuum cleaner, I had no idea he was going to build 800 prototypes.

It seemed so easy when I thought about it.

Michael Head said...
This comment has been removed by the author.
Florian said...

I've met one or the other misconception about the act of programming both with managers and clients, on the rare occasion also with friends and family members.

I think that in some perverse way these misconceptions are reinforced by the environment they create. If you think of programmers as cogs in a machine, all the programmers you will be able to hire will be those that are cogs in a machine.

And in some contexts, these misconceptions may even be justified. However most software is done by small teams in a demanding and difficult environment both technically and by requirements.

I think the bottom line is, if you haven't worked with good programmers on successful projects in small teams you haven't seen how 95% of all software gets done and hence you lack a frame of reference what programming is, and you replace your lack of experience with misconceptions about the majority of programming.

Michael Head said...

This is so close to another recent post about Why Student Programmers Rant about Business Students with “Ideas”

Anonymous said...

I think I might tell them that Staples has on sale right now those easy buttons. Go buy one.

nick said...

This happens quite often, unfortunately. in this case, I doubt it's worth thinking about any further. As another commenter said, they are probably "just as seriously underestimating the business side".

But the bigger issue is in the value people place on "ideas" over anything else. As an entrepreneurial software developer, I could give you 10 business ideas and plans in as many minutes. It's simple.

The hard part is making a business work. Sales, marketing, product development, accounting, process design, etc.

When someone comes to me with an "idea", generally I have 10 better ones in my pocket than theirs, that I haven't touched because I know the difficulty of getting an idea to market and being successful at it.

Ryland Sanders said...

I think lost of people (possibly most people) think programming is about the same as skilled factory work, like working on an assembly line, and that software is assembled like any commodity, like cars or computers. They don't understand that a programmer can't just take a bin full of parts and assemble a system to run their business.

Matt Doar said...

The old "1% inspiration and 99% perspiration" quote comes to mind (Edison?). I find that referring people to sources of information about how they can do what they want also educates them on whether something actually easy or hard. And getting the hourly rate in early on in the conversation, as you did :-)

Anonymous said...

Also some business owners are just looking for free handouts. Don't be a sucker.

leke said...

I get this type of thing a lot in graphic and web design. I think in my case, my field (like art) is not thought of as a profession, but more like a hobby.
Maybe now the open source movement has recently become more well known, companies are starting to think programmers love their work like a hobby. So why would you offer someone money to do work which isn't really work? (or so they think!).
Well at least you haven't been offered pizza, meals etc... for your work yet. Just 2 days ago some guy offered me a 5kg bag of rice. Its a good thing I found a more stable job.

Lance said...

It's been my experience that if you make something look easy -because you either do it well, or marginally better than the person requesting the work- then people assume the task is easy. Effectively people see you in the archetype of a wizard and want you to wave your magic keyboard wand to create profit.

David said...

@harish

Your idea about wanting to learn by following along is interesting, but I think it needs to be approached carefully. You don't want to have your developers feel like you're looking over their shoulders. This will turn a lot of developers off, in my opinion.

But it does seem like a perfectly valid approach if handled correctly. If I may, I would suggest that you let the developers do their work on their own. Let them set set their milestones for the project, and after each milestone is reached, schedule some down time where you sit with them informally and have them explain the code to you.

The act of developing code is, for a lot of people, extremely attention-consuming. It's very hard to divide your concentration between building something that works and explaining it to someone at the same time.

Jane Arizona said...

Where did this assumption come from that PHP is so simple, a caveman can do it? Why don't they just write the damn code themselves using "PHP for Dummies" if it's not worth any money?

Chris said...

I agree with your article fully. As a Network Engineer I see the same thing all of the time. People are ignorant to the fact that it takes a lot of time, effort, skill, money and passion for your work to be good at what you do.

Outside of work I try to not discuss what my job is with others unless they are in the field themselves because almost everyone I meet that does not work in the field immediately wants you to "do them a favor." My Best advice to you is to create a pay chart that gives you a rough outline of what it would cost someone for certain things, but at the same time take into consideration family and close friends and have discounted prices for them. This way when presented with something like this you can show them your rates right off the bat. I started doing this because my sister-in-law started taking advantage of me and always asking me to fix something on her computer or home network.

People need to realize that this is your job and it is how you make a living.

Now don't misunderstand me I am not a "donkey" and if my family or friends ask a favor of me to fix there computer I am usually more than happy to do it for them, but if it becomes a habit I will let them know that I need to either be compensated for my work or they need to hire someone else to do the work for them and this seems to work out well.

I enjoyed reading your post and wish you the best of luck in the future.

Anonymous said...

You missed one misguided assumption. The potential partners already suggested the "How". PHP and MySQL? Why are they suggesting what tools to use to do it?

Chris© said...

I've seen this every now and then - it's a pretty good sign you don't want to do any business with that person, regardless of the terms.

I've found that in talking to clients with little prior software experience, speaking almost entirely in construction similes is good: "What you're saying is just like if I told a general contractor 'Can' you just build me a house as a favour? I've already done the hard part - I've sketched the layout on this notepad and I know what colour it'll be. And I've already figured out who to invite for the house-warming party!'"

The smart ones figure it out pretty quickly.

I've also had this conversation during a meeting a few times in my career:

Me: "just" costs you double.
Them: Huh?
Me: Every time you use "just" to describe a feature or a process it tells me you've made a gross assumption about what I'll need to do. That's when I get bit on the ass so every time you say "just", it costs you double.

Again, the smart ones figure it out pretty quickly. The ones that don't, I don't want to work with them.

Good post, this one. I hope we as an industry figure out an amicable way to solve the problem with the rest of the world.

Philo said...

Your #2 is close. Software *is* easy - anyone can go and write a calculator program to solve their own problems pretty quickly.

What is *hard* is the software/business interface. Taking a business problem, casting it into code, and doing so in such a way that someone besides the product team will find value in it - that's where valuable programmers show their worth.

Matthew said...

Yes.. Sad. Creating software takes a certain personality type that many people do not have. Similarly, playing with gadgets or systems administration is a skill I don't have. But many more people seem to do well at modifying or fixing software already created. Some people just like the debugging process. I hate it. I like design and getting it basically working then moving on to the next set of concepts. It's very strange to me that many people can learn a programming language, modify and debug, but not create from scratch.

Matt Doar said...

It is a common-place that medics get asked about other's illnesses at social gatherings. One traditional response is "Ooh, that looks nasty! I'd find a doctor on duty to look at it." Similarly, perhaps "hmm, sounds like a job for your IT department at work" might help?

Nuestra Viaje a Guatemala said...

While I was in college an acquaintance of mine found out that I was studying chemistry and he couldn't wait to tell me about this great idea he had. He said "we should make shoes that dirt won't stick to, so they will always be clean and look new!" So, then the only part of the puzzle left for me was to invent some completely new material that has this effect and share the profits with him. Or rather him share some of the profits with me, because he thought of it. What a great deal!

John said...

I'm wondering about the opposite question. Setting aside the initial idea for a moment, how much can a non-programming "business type" contribute to a software project?

PythonFan said...

The thing about these people is that they need to go through a learning process and the least we can do for them is to try to point them in the right direction. The other thing is to talk with them in their business vocabulary - which you tried in your response but really needs more.

1. So, you'd like someone to throw it together right? Shouldn't take long right?

a. Let me recommend eLance to you.

b. Don't like others, how about a high school kid - they're great nowadays with tech stuff.

c. Oh, you want someone with a college education? Why? Why not a graduate degree then? How did you ever arrive at the conclusion that a high schooler couldn't and a graduate degree was overkill? What qualifies you to make that estimate?

d. Do you have a business plan written up? If not, I'm not interested because you haven't done the first thing business school teaches. If you do, show me how many hours of labor or dollars you have budgeted for development. How did you arrive at that number? Have either of you had experience estimating software development projects or managed them? I have. If you don't like my advice, then I'm hardly the one you want to work with isn't it?

And don't forget to smile when you say all that.

Anonymous said...

I blame the cut-and-paste PHP "coders" that have managed to echo "I am cool" on their word press blog.

If a person sees a 14 year old and thinks that he "knows how to program", they might leap to the conclusion that making stuff is easy.

Billco said...

I'm far less diplomatic than you are, but I've been through the same scenario a million times. It always follows the same pattern:

1. Friend/relative or distant acquaintance has this "revolutionary idea" for a web site.

2. I roll my eyes, laugh, suggest their idea is crap and not worth investing their money+time into.

3. They offer a cut of the "profits", which of course are always zero.

4. I tell them, quite bluntly, that if there were anything worth doing on the web, I wouldn't need a bunch of no-talent laypeople to make it happen, and I'd get to keep all the money, because I'd be doing all the work anyway.

5. They are insulted, tell me I'll be sorry when they're rich and I'm not, and they leave.

6. Six months later, I call them up and ask them how rich they got off their idea. They call me names and hang up.

7. I roll my eyes, laugh, and write a blog entry about the stupid idea, and I actually end up making some change off the ad impressions. I win :)


Idea people always think their ideas are the true goldmine. They're not. We live in a very fast-paced world, thanks to our beloved internet. Most "new" ideas aren't really new, and most likely someone else has already tried and failed. The truly profitable ventures are those that build upon existing concepts and improve them in tangible ways. And if that fails, there's always good old hard work.

machinehuman said...

Loved the "implicit" translation! Excellent post.
All the best!

Anonymous said...

What's even better are the REAL companies who use this philosophy. They have a great idea and the program is such a small part, but the business would not exist without it.

Nigle said...

Oh boo-hoo, you're so oppressed. The same thing occurs when your wife calls your brother-in-law plumber to clear out your crapper. Absolutely charge what you think your services are worth. Just remember this tract when you need a favor from someone.

Matthew said...

Truthfully, I find it hard to find people with other skills. I cannot find a good salesman. Good accountants and lawyers are also hard to find--and you find that when it's all too late.

Talented people obviously do exist in the world, but I think they are all just taken.. working already in the field. Heck, I cannot even find a programmer for hire to work on some parts of my project, because I am so busy with my baby, lately.

Josue said...

awesome post. bookmarked for life!

Damo "Visa" Brady said...

This happens to me on a semi-regular basis as well. I suspect those misconceptions you talk about are fairly universal.

I have both IT and business training, and I find that generally, when you drill down into the "magnificent business idea", it hasn't been thought through completely. Usually it's just that - an idea.

I personally can't work as "just a programmer", particularly when the business involves one or two other guys and their idea. There needs to be someone with a bit of knowledge of both business and IT sides. Without it, it's difficult to write code with a purpose. The common complaint of, "they don't know what they actually want" comes up time and time again.

I guess what I'm saying is that with a startup that depends on some kind of custom-developed software, the designer and author of that software should be involved in the business to a much greater extent than being "just a programmer".

Anonymous said...

There is even a name for this. Check out the Dunning-Kruger Effect on wikipedia. http://en.wikipedia.org/wiki/Dunning-Kruger_effect?

Damian Brady said...

Logged on with the wrong account before...

Just as a quick addendum, the all-I-need-is-a-programmer mentality exists in larger businesses as well. It's incredibly pervasive.

The "IT Department" is often seen simply as a fabrication plant. You give them a description and they spit out some software.

Anonymous said...

As a product management guy - i.e. between the engineer and the "domain" guy, I can relate easily. Most managers think that programmers are interchangeable because they are incapable of evaluating a programmer. The other thing I constantly hear is, "Oh, you should be able do *that* rather easily", and when cornered, "Oh, that's technical, not really what I want to get involved with." I point out to them that it is not technical, but that they are asking for mutually contradictory things.

About said...

I call bullshit.

Do you know why? Because programmers often make the same assumptions and demands with designers. "Hey, I know you make logos and stuff. Can you make me a logo?"

So don't feel that you're the big victim of everyone asking for free work. People often appreciate less the difficulty and craftsmanship of great design. This is why the opensource world has been plagued with bad design for so many years.

I've tried to explain it to people before but developers don't really get it. All of these "logo competitions" and "design my interface" competitions are in a subtle way, in most cases, insulting to actual professional designers. Why? Because the judges of such competitions aren't even designers. It would be like a designer judging a competition for the best code.

Please don't weep for yourselves too much. When you see a good logo, that costs a solid hunk of cash for production. Great companies have great logos for a reason, they buy the talent and the talent puts the time into going through many drafts. People then copy the style of the logos with Gimp and inkscape and think it can be done by anyone because a easy tutorial was posted on some tutorial site. Thus the craft of design is written off as either a scam or something easy. Neither is true. When I go into the usability of a website I spend hours and hours talking about interaction with my colleagues and even more time pushing out drafts for the design of the site. Good design takes time. Good code takes time. And as I'm sure you're aware of, you need to pay rent.

This behavior is evident in many sectors of the industry. I don't expect for friends to work for free unless we're both investing into the project because of a shared interest and vision. Essentially we're working for each other. But many developers consider designers dumb people that make pretty pictures. In reality, the role of a creative director or an art director has at times a superior role into the development and mapping of a project or site than the coder. The ideal is when both work in tandem and understand each other's language, and thus can properly collaborate.

Andrew Kou said...

I think this is a rather unrealistic perspective and is similar to that of a lot "business people" of tech companies back in the 2000 bubble. A lot of people had the "important things figured out" and a good real software product never materialized. I think your old acquaintance happens to fall into this category of business person.

The truth is, I think business people are just like programmers. There are a lot of "average-joe" business people who tend to have this perspective and don't understand the business of software.

I really don't think that the software industry has made it more viable for the 3 assumptions you pointed out. I just think there are a lot of people who are unexperienced in the business of software.

jasonliebe said...

@nick, great comment, I fully agree. While ideas are great, execution plays such a massive role in the success of the project. I have to roll my eyes every time a client wants me to sign an NDA before we discuss his/her idea. I do respect the idea of the NDA, but I think it goes back to them thinking the execution is easy. Like I'm going to spend 8 weeks and tens of thousands of dollars, and tie up my developers to create a Web app. Then I'm going to spend more time and money marketing it, money on PPC, etc.

Chris said...

I worked with some business professors on a web app last year. When the press release came out, it went something like this:

bla website was developed by prof a and prof b. Technical aspects were handled by programmer a and programmer b

I think you are spot on with you analysis of how many business people view software development. One of the profs thought that he could just pick up a book and start coding with us. He gave up after a day or 2.

Robert Mowery said...

What I find amusing (coming from a programming side and into business side) is that the Business Stuff is truly easier. Besides that a programmer can find marketing people and other business aspects through outsourcing if need be.

The way I look at it is I have put ALOT of time into learning to code in the past, present, and probably in the future to stay up on technology. During college it was those in the easy majors that were out partying and having fun while I had to work my butt off.

Software and engineering are on par with medicine and science. It takes a lot of time and effort to keep abreast. Why does Google, MS, Sun, etc. value their engineers so much? Because the work may not seem difficult, but it is mentally challenging.

Business concepts (accounting, marketing, and general principles change only slightly to adjust to the market and technology, etc). so not as much effort needs there.

So I think you made a smart move. If someone approached me - I know my X would be significantly high, as without the product being built, there is not much to do for a business. Kudos to you. Loved the response.

Paul said...

I am surprised your surprised. To be honest this happens to be quite alot. I have some basic knowledge of php and mySQL, but someone wanted me, as a favor, to set up a site that can take orders over the net for building these little trains.

Mind you the "customer" is two retired grandparents of a friend who don't turn on their computer unless they REALLY need it.

I worked for a company and built, from scratch, a C# program that interfaced with MySQL to make our credit system work better. Took better part of 2 months from someone with no C# experience. Then boss then asks for the same on their trade-in's and tells me to get it done within a week...:P

It also doesn't help that once you need us, they just throw us away....

- Paul (warlockd@drakesmith.net)

NickJ said...

People who don't write software have no idea how long it takes or how hard it is to get right - they're not bad people, they just don't have the past experience to know. Everyone wants to be the one with the idea or the feature (the fun quick bit), and leave the actual implementation (the boring slow bit) to someone else - fact of life. The reality is that ideas are so cheap that they're almost worthless, it's the implementation and actualising those ideas that matters. So do the work on a dollars per hour basis, but be prepared for people who underestimate the time it takes to write something to complain about the cost. To get around this, you can try building the UI first so that they can see what's going on, but you need to emphasise that the UI takes 10% of the time, and implementing the functionality of the UI takes 90% of the time. But when you do this, they may incorrectly conclude that you're padding the schedule and ripping them off. Regular communication helps, but my main suggestion is to consider carefully whether you want to work for people who don't genuinely see the value in what you are doing. They could use lowest-cost programmers from developing countries instead, but as someone who has inherited stunningly bad code from such programmers, it seems to me that most of the time "you get what you pay for". Ultimately you need to correct the client's three mistaken impressions - that programmers are all the same, and that programming is easy, and that programmer's time is free - and if you can't do all three, then turn down the work.

Anonymous said...

you can all thank the dot com dopes who all read "wrox" books and learned to "program" html who became CTO's and then decided that india was the best place to "write" software because "cheaper" is always better.

It's not that "all you need is a programmer" - it's that people are inherently ignorant of the fact that programming is a craft.

It's not rocket science, it's not hoodoo voodoo magic, it's not plug and play...IT'S A CRAFT.

The longer you play in the field, the more you absord and the faster you become at creating programs.

In the end "all you need IS a programmer" but in the case of every business "all you REALLY need are CUSTOMERS"

...and no matter how good you are at programming if the business doesn't have any customers...then just take the money and run!

wahahahahahahahahaha

engwar said...

Please follow-up in a year or so and let us all know how their business is coming along. I'd be interested in hearing if it ever flew!

Anonymous said...

Great post. After several similar requests from my stepbrother and his ADD inspired get-rich-quick web ideas I think I found a solution too.

I said I'd be happy to look at his idea but he had to spec it out for me in detail first. I asked him to draw every page/screen on paper. I asked him to show the navigation between them. I asked him to include every form and every field that was required or needed validation. Show what happenned when forms were incomplete or validation failed. Show how people signed up for a login and how they retrieved passwords if they were lost. Show all the stats he'd need the system to record and all the reports needed to make sense of them. After all, if it was an easy job to code, it'd be a walk in the park to just draw it right?

Now to his credit he actually took my advice and gave it a try. He quickly discovered it was a lot more work than he'd thought and lost interest. Haven't had any "simple job" requests since! ;-)

mr bigglesworth said...

This is an excellent post. it's also a summary of why i'm leaving programming to pursue a career in emergency medicine. It's about value/worth stemming from respect. As in, you feel you have little worth because you are given little respect (measure of pay). Even if you wrote a program that cured cancer, you'd still be seen as a geek who could be outsourced to a romanian teenager or better yet, lowballed for some pre-funded startup's promise of company equity. F that sh*t! Time to try something more *local* and less *mercenary*

A final word, speaking as someone who owned and operated a couple of failed startups: If you want to be a dot-com, find someone equally motivated and skilled and do it yourself. Do not try to build someone else's idea, esp if they are not a programmer/tech person with experience---they won't understand your value. Make sure you keep your day job, develop on weekends and nights. Build a prototype fast, focus on core features and put it out there. If it's good, it will get press from tech blogs and you'll go places, otherwise you won't have wasted so much time. Good luck.

Anonymous said...

You should have at least taken the communication to the point where you find out what their idea is.

Then see if you can do yourself the favor. :)

Anonymous said...

An unintentionally ironic article. They wanted a web monkey not a programmer. Sorry, if you're setting up MySQL and PHP scripts you're not a programmer. No doubt the web monkeys will disagree, but riding the internet wave doesn't qualify you as a programmer or make you qualified to assess whether or not you are one.

Bob said...

Great article.

Phrases like "it's easy" or "wont take long" from people who have no idea what they are talking about used to drive me crazy. Now I just charge them extra as I have to do more work writing the spec. If they pay for their ignorance then they can be as ignorant as they want.

BTW to reply to the designer a few posts back. Yes designers suffer the same issue, no question, but there is one crucial difference. Whether a logo is good or not is a matter of judgement. Whether a programme works or not is a matter of fact. Therefore a vague outline of a hare brained scheme is more harmful to developers than to designers.

Charge them a consultancy fee to get your opinion, that sharpens their mind no end !!

Producerism said...

this is one of my favorite articled of all time, especially due to all of the comments.

well said, from all angles.

Flint said...

As someone who works in PHP and MySQL, I agree that it can make good pay. However, consider myspace.com or even wikipedia.com. These are examples of ideas that someone had, and although the implementation was difficult, many good programmers could have done it if they'd only thought of it first. I'm always eager to hear new ideas. You never know...it could be amazing. Still, I believe that well funded businesses also are better at ideas that already have a target purpose and customer base.

Devil's Advocate: If it was truly simple you may have been able to finish it in a weekend. Seriously a little user management (perhaps use a framework) and few custom forms and database interaction. What 10-15 hours? Favors are all about karma.

Anonymous said...

As I read both the article and comments, I was struck by my memory of when the pointy haired boss said, "I'm going to assume that anything I don't understand is easy."

Rob Lambert said...

Hey, I've got a great business idea. It's a site like Google where you search for stuff. But we'll return better results. We'll run ads and make a lot of money (we can just use Google Adsense for that). Can you code it for me? It's just a textbox and a submit button. To save time, you can leave off the "I'm feeling lucky" button if you want. Can you code it for me?

I had to laugh when you mentioned that most users only think of an app as the UI. And the above scenario is the first thing that went through my mind.

Brett Morgan said...

My dad, who was in the software industry for over 25 years, told me so many stories along these lines.

I believe programmers, and software consulting houses in general, are their own worst enemy here. We generally are upbeat to the point of insanity about what we can get done, and by when. In fact, the sales process is full of this "positivism".

Invariably people are sold on the idea that the work is just "a mere job of configuring our currrent product for your environment" when it is a straight out pure development gig. And programmers never want to say that no, something can't be done.

Is it going to get better anytime soon? I doubt it.

The answer? I think programmers need to start pursuing finding their own business ideas. Just so that instead of it being the business guys are doing you a favour by letting you in on their business ideas, it becomes a case that they have to sell you on it.

I have had a couple of people try to sell me recently on "oh it's just a small webapp that you could do in php and mysql" and my response has been "it won't be hard to copy then, will it?"

Stephen said...

How many times have you said or heard things like this?

- "You're a car guy, right? Do you think you could take a look at my car real quick?"
- "Oh, we'll just get an accountant to handle our taxes this year."
- "Oh, we're going to get a new deck for our house just as soon as we get a contractor out here."

Same thing applies.

Soren B. said...

This has already kind of been said, but bottom line. If someone came to me with that approach (or the reverse, since I'm the marketing/ops person in my company "hey... I can whip up the code for this thing, all I need you to do it whip up a business plan") I would send them packing right away. If they are unable to even accurately evaluate the work needed on their side of the fence, they are not a good partner to be involved with.

NewzNozzl said...

Digg: http://digg.com/programming/All_I_need_is_a_Programmer

NewzNozzl said...

Sorry, link: Digg

TjerkW said...

For a start: Do not talk about programmers but about software engineers, or software architects.

And with respect to rocket science: some big software projects are much more complex than rocket science. In fact part of rockets science is software engineering with model-checking-tools (formal verification of prorams).

I can assure you, most people that come from a business-course/education have a low profile about software programmers.... those people need some education.. but often they wil never understand abstract concepts like we have in programming

DaveC said...

Hi Harish,

"I make it clear that I not only want to offer him significant equity in my business, but also learn how to code by helping him and following along."

Thats the same thing! saying I'm going to leach your years of experience by looking over your shoulder the whole time. It Kind of misses the point of what programmers do.

I think it is better to say to a potential 'programmer' that 'For this new project I'm going to need yours off the wall creative talents , I've seen your work and your the only person I think can pull this off.'.. That's what you would say to a graphic designer.

In every university in the world today the term is 'engineer'. Programmer is an obsolete, it kind of implies data-entry. Back in the old-days people were employed as 'programmers' to punch in numbers all day.

I know the media, and movies are an easy target but I think they do have to take some of the blame for the lay-persons perception that computers can do anything , therefor programmers must be just pushing buttons or flicking switches.

If you really want to change the way people look at you.. Tell them your a designer, a creative individual, some one with a unique talent... oh yeah and as it happens a software engineer.

Anonymous said...

You remarks are completely correct.
You just read my mind with this article.

I currently work as a product manager at an international company.

The company made a great web based tool but what I noticed that as a product manager I'm not into how to improve the product (the website) to provide a enhanced tool for the users but I'm more into how can we make more money.

Result: the website hasn't changed that much in 8 years!!! This is like a dinosaur in the year 2000.

I find this a sad evolution. Agreed you should make money of your product but your product is the core so why not make it the best product in the market and so you have a good core product with lost of possibilities instead of just keep selling and not bringing it up to standard because that might lead to lost of profit?

The company offers a web based product yet the IT development department is smaller in number then the sales and they have to work really hard without much room for creativity!

I hope this evolution will change!!! Because otherwise I'm seriously thinking of leaving the IT business...

HM2K said...

Good post, but you get what you pay for.

I got fed up of doing favors.

Saj said...

Every time I meet a client, I just get upset because of the way they define the nature of my job. It seems they don't have the time to do a filthy job like coding which is very easy but takes some time to do..

It doesn't stop there as I always wish it would.. A programmer is like a nurse who helps the doctor (Most probably the doctor is the automated system which should do it right..); so, it's interchangeable.. Maybe sometimes but not that often..

It doesn't matter to me as a software engineer how they treat my job.. It matters a little when they treat me that way.. because I don't believe all developers can be put in the same merit box..

Ian said...

As I read the post, I was questioning whether we, as IT professionals, sometimes create this phenomenon, by saying things like, "Oh, that is pretty easy, we can do that really quick!" or something similar. To those business folks who are truly divorced from the technology they assimilate this message into the idea that all projects are "easy" and "quick". So, perhaps we really should not deliver messages like that to those folks who don't understand the technology well enough to develop within it.

The other point you made early in the post rang pretty true to me, and it seemed to do so with others as well...if it is "easy", it will likely be copied by another developer, and your whole business model will be worthless.

In the new business world of everyone being connected, I think you really have to realize that the amount of return you get from a project should be clearly tied to the amount of effort you put in... in short, it is not easy to make money. If it was, everyone would be rich.

FatherStorm said...

My personal problem in the industry today is with a person to be left unnamed promising our clients that "sure, we can do that, we can add this, and we can keep it in the exiansting timeframe." That attitude is of course my fault. I have in the past demonstrated the ability to make code do virtually anything. I was doing "AJAX" before it had that tag, I had cross-site integration across ASP-PHP-SNMP-Lynx with custom written MIBs for multiple hardware devices, and the reps never saw anything more complicated than a few buttons and graphs, heck the code could diagnose signal issues with customer fixed-wireless equipment thanks to batch-run ping tests. The assumption became, well, he's done all this, these things the client wants are going to be easy. Not so. Every project is unique, there IS no magic library, no magic repository of code that will do exactly what a client wants, and even the slightest change can mean refactoring ALL your code to et this new cludge to work seamlessly.

Anonymous said...

3)"Software developers are cogs in a machine, or interchangeable components of an assembly line"

That's the truth.

Little local employers can't afford to pay much. Big international employers are sending software engineering jobs oversees. The business reality is that CHEAP is better. Large teams of expensive local talent are being laid off. They cost too much and don't produce enough. Business isn't about making Beautiful Code, it's about making money. The era of the Code Rockstar is over, boys.

maniram said...

Hey, I am just curious how much do you charge a client on a /hour basis?
My company charges the client around $35/hour and pays me about $10/hour. Do you think its a reasonable figure? I am .Net developer btw.

Anonymous said...

I've gotten sort of thing several times in slightly different form: "How hard can it be ...?" Well, it can be very hard.

DevTopics said...

I encounter these attitudes often in startups. Perhaps its our fault as programmers, and we've made software development seem easy to the outside world. Yet the #1 factor that kills startups is the failure to deliver a software solution that meets the customers' needs. That's why I believe it's essential that any technology startup have a technical co-founder to bring some reality into the business equation.

Mathias Ricken said...

My view is the exact opposite of those who propositioned you: The business plan is nothing. It's something anyone can come up with. It takes programmers to make it happen, so the programmer is the central element to everything.

In the interest of full disclosure: I am a programmer, and I have only taken one economics class, because I found the material boring and self-evident.

Joshua said...

As for the idea of "rockstar" programmers, there are a group of developers out there that can take on just about any project, and turn it into a success. The problem is that these developers usually don't work well with others, so it's kind of like those Japanese fighting fish. You can hire one "rockstar", and he will be very productive, but hire two or more, and they will all either quit, or stop coding and start complaining.

- Joshua

Chris Grayson said...

Yeah? Try being an Art Director/Designer.

Fortunately I've had the opportunity to work for many Fortune 500 brands, and have a healthy professional fee, but the perception is, that not only is design "just window dressing" but that it's "fun" too. Therefore why shouldn't you want to do this for nothing?

When I'm approached about these sort of projects, I simply respond by giving them my rates. The people that cannot pay are generally hit with enough sticker shock that I don't hear back from them.

I will say, that while I've had many very mutually rewarding and respectful relationships with talented programmers, I've also encountered the very attitude from programmers that you're complaining about from aspiring entrepreneurs.

Programmers often sneer at designers, with the attitude that they are interchangeable cogs of little value at that. Yet a poorly designed website or application can, at the very least, damage your business by appearing unprofessional and providing a poor user experience, or at worst kill your business completely for the same reasons. Programmers generally make for poor designers (and vice versa).

Having worked with many many many programmers over the years, I can attest that a great programmer can do the work of 5 mediocre ones, and produce better results. I'm always in favor of having a skeleton crew of pros and paying them well, over having an army of easily replaceable cogs.

colinnwn said...

@Mathias
Both great programmers and a solid business plan are critically important. Good programmers can't save a crap business model. Only the first 2 Economics courses are largely "self-evident" and somewhat tedious. Even then the mechanisms behind it are often not obvious. Economics gets very interesting very fast; look at game theory and evolutionary economics.

@Autonomous "you cannot expect to leach off of him without hindering him"
I'm shocked at this kind of attitude. No one should expect a programmer teach them to be a pro in a year of looking over his shoulder, or think it won't affect the programmer's productivity. But if you are intolerant of teaching, you don't belong in any decent sized company.

Whether you are a more junior professional, or a layperson, all disciplines are expected to be willing to teach their knowledge as their productivity demands allow at my company. If you aren't interested in sharing, you should work in a solitary job.

Anonymous said...

I get this ALL THE TIME. In fact, an MD friend of mine approached me just yesterday with an idea to create a video game that teaches some sort of medical procedure because "all the kids coming out of med school these days play video games constantly".
Again, the assumption by my MD friend being that cooking up a "video game" takes, like, a week.
People really don't understand what it takes.

Cade said...

I needed a logo for a party, I contacted a friend, negotiated a rate and got a logo.

I would never consider not offering some kind of compensation for the work - hell, I even leave money for the sister-in-law babysitter to order dinner and 6-pack of beer (no, she didn't drink it all) - it's not like her time is free.

Johnny said...

I was an engineer for 7 years before I headed back to school to get my MBA. Most of the comments seem to have a heavy-engineer bias.

Oftentimes, engineers who posted seem to have a heightened self-worth and fail to accept that many business ideas don't require rockstar innovation on the programming side. If you want to sell pet food on the Internet and have an associated pet-related social network, the site can be pieced together with off the shelf components by engineers in Romania.

The hypothetical site would need to find an audience (marketing), advertisers or partners (bus dev, sales), manage the offshore team (management), grow enough to reach economies of scale, and find a way to create a competitive advantage that makes them different than all the other sites (strategy and "ideas").

When businesses move to outsourced labor, costs are not always reduced, but simply transferred from engineering labor to management labor. This is a growing trend.

Now here is the other side of the argument. There are many, many, many ideas that require great technical expertise. getdropbox.com is an example of a very simple idea that has been floated around for a decade (remember Xdrive anyone?) but took a few brilliant programmers from MIT to bring it together. The "idea" has almost zero value. The implementation appears so great that it may take off without any serious business experience.

Lastly, I think that design is undervalued. For many (most?) websites, the design (usability and visual) is what makes the difference. I've found it very rare to find an engineer who is also a good designer, and those who are are worth their weight in gold. Did facebook because of great technology (friendster couldn't scale) or great business (innovative idea) or great design (much cleaner than myspace)? Or just get lucky?

Anonymous said...

I had a similar encounter with a good friend of mine who had an idea for a software product that he asked me to develop. He first started by undervaluing my hourly rate, and he also offended me because without my development, he would have no product. I expected some sort of partnership to be offered, but he thought I would be happy with minimum wage to create the product from scratch. Right!!!

Soren B. said...

I think two things are being seriously missed by many here, and as a result the conversation is drifting off on a related but different course than intended by the author.

1. The "rest" of the business is not light work, without solid business people the programmers are as useless as the marketing people are without the programmers. I have launched three successful startups and in each case the marketing, money, biz dev and programming people were all equally important.

2. In a startup, you really want to be sharing ideas and abilities as you can. In both of my first two startups tech people "helped" with biz dev and sales (even going to conferences) and the "business" people helped where they could with tech. Everyone learned from one another. At no point would I have tried to take over for the tech guy, but I could talk tech and fix small problems because of what he taught me. This enabled him to stay focused on the things I could never do on my own. I believe the nature of the original comment was in this vein and the responses have been a touch defensive in nature. In a start up company, in the real world, you have to work together and across areas of specialty to survive.

SeanG said...

No, you're absolutely right. When I read their response to your email, it made me angry! And not only because programming is actually so hard that you can't predict how difficult any project will be; who the hell does anything for free? Yeah, I'm gonna give up my free time to help you make money while I see nothing? I would have been a lot less polite than you probably were!

If people think code is so easy, let them do it!

Programming isn't like writing or drawing where anyone can sit down and kinda/sorta/poorly do it; if you asked a non-programmer to start programming, it would take them a very significant amount of time before they'd be able to write anything good.

Soren B. said...

Okay, I started writing another response, trying to explain my views (as a non-programmer) on where a lot of the value of a good programmer comes from, but it got too wordy so I made a blog entry out of it. Here is the link if you are interested (http://www.puntiglio.com/blog/?p=180).

A brief excerpt:

"Programming, like accounting, marketing, baseball, and masonry, at is basic level is not difficult. I can, and have, written programs in several languages. There are lots of great books that will tell you how to write the code to do what you want it to do. But I can assure you, you do not want me to be your programmer.

The problem is that I have one way (maybe two for some things) to solve a problem. Once the problem changes in nature, I’m back to the drawing board. An experienced programmer, by contrast, can anticipate changes and write code in innovative ways that is able to accommodate those changes downline. An experienced programmer can probably produced 15 or 20 ways to accomplish the thing for which I could, at best, come up with one or two solutions...."

Anonymous said...

@colinnwn
@Autonomous "you cannot expect to leach off of him without hindering him"
I'm shocked at this kind of attitude. No one should expect a programmer teach them to be a pro in a year of looking over his shoulder, or think it won't affect the programmer's productivity. But if you are intolerant of teaching, you don't belong in any decent sized company.


Let me put it this way, you became a millionaire and just bought for own basketball or soccer team or whatever. You never played soccer in your life. Then you go to the team's star, and say, hey, I'm going to hang out to pick up my soccer skills so I can understand you. Fail. Me, I'd like to hang with Spielberg to pick up some movie making skills so I can finally make a movie out of my great movie ideas (it should be simple).

DaveC said...

colinnwn, I too used the leach word. Of course I'm not saying I shun open dialog and communication with colleagues.

Clients do sometimes say to me, 'let me know when your going to do that, I'd love to see how it all works' as if I know some special button in dreamweaver that our secret society keeps hidden from the wider populous (p.s. I never use dreamweaver). Perhaps they are just curious why we charge soooo much money.

Some times clients will ask me to give them lessons so they can do 'some of the trivial' stuff them selves.

Because clients / management are often lay-persons, its hard to impress on them how tricky some of this stuff is.

Devdas said...

http://www.amazon.com/Why-Does-Software-Cost-Much/dp/093263334X/ref=sr_1_1?ie=UTF8&s=books&qid=1208498379&sr=8-1

Tom DeMArco on the same topic.

thecodewitch said...

Excellent post!

I agree completely. I've found myself in this uncomfortable situation a few times.

You feel like you are being taken advantage of. People misinterpret enthusiasm, concluding that the programming itself is trivial/worthless/takes no time or effort and is not something worth compensating.

And well done on your blog!
I'll link to it from mine:

Create Universes Blog

Anonymous said...

The guy just thinks he's clever and wants it done for free or much less than it would cost normally. I often encountered this practice. They think you are here to serve them for free. Lesson I learned: run, stay away don't give them a second chance by negotiating a deal nonetheless. You'll loose, even if the money sounds right (in the beginning, they'll most likely pull out the real specs after the deal is made and getting out of such a situation is not easy). With those types of people you will regret ever making a deal. Just ignore the last message from the guy and go on with live. It's not worth it, really. I resorted to a no-favour-no-bullshit policy a long time ago and i even stopped to reply to inquiries that are not serious. Know what? All the sudden I work with smart people.

Anonymous said...

I think open source has a bit to do with this, among a certain group of people anyway. There are lots of articles in the business and general press explaining how programmers love to contribute for free.

I've had two cases of this. In one, I had developed a system for a big company, but a new manager cancelled the project and asked me to hand over my source code to date. I explained that had not been in the contract.

Then he turned on the charm and said surely, as a programmer, I would like to see my system running. I replied that no, as a programmer, I would like to be paid.

sunitha said...

running a business is a big challenge but using software in the business it is not challenge for the people now a days...

Software Development Company

Colin McKinnon said...

Unfortunately its a very familiar story. Not just for business start-ups. My hardest budget battles have been for funding for refactoring - not to make the code look nicer but to make the systems properly modular and scalable - saving costs in future - but too often because the PHB can't SEE the difference they don't want to pay for it.

But the converse is also true - a lot of programmers thank that all they need is a product to have a business.

colinnwn said...

@Anonymous
"Let me put it this way, you became a millionaire and just bought for own basketball or soccer team"

Your comparison is specious and yet the end result is reasonable. I don't go out on a game day to trail a player and try to follow along. But I would expect a player who's salary I play to give me a couple lessons, then let me play with the team on a scrimmage day every once in a while if I show interest.

Additionally if you were friends with Spielberg, it would be totally reasonable to shadow him for a couple days when he is not at the height of a production push. Your industry is a dying skill if its leaders aren't willing to encourage and educate outsiders.

@DaveC
"Because clients / management are often lay-persons, its hard to impress on them how tricky some of this stuff is."
One of my job responsibilities is to support Access databases with substantial VBA (frightening I know). A user will sometimes come to me, ask for a feature, and say "if you show me real quick I can do it." I generally say something like, "If you'd like to watch me work on it for a little while, or review it after I'm done I'd be happy to, but I think this change is a little much for you to start out with." Then I show them the code. Their eyes get big and your proposed problem is solved.

Anonymous said...

hmm... some pretty cheap "cogs in the machine" available in Eastern
Europe, India, and Bangladesh all with good English skills...
especially for php, ror, mysql and the like

Anonymous said...

The old "can't you just [insert something time consuming and complicated] for free?" whine is totally obnoxious, but its hardly limited to programmers. Ask my sister how many "all I need is a CPA to just..." or my husband how many "all I need is lawyer to just..." type questions they get every single day. Or a muscian how many "can't you just play at my wedding for free" etc, etc. For some reason, doctors have done a great job spreading the word they don't like to be hit up for free professional services in the off-hours, but nobody takes the hint that applies to everybody.

Your reponse is exactly correct "Sure I'd be glad to, here's my rates."

School teacher here. And no, I don't want to tutor your snowflake after hours for free.

Anonymous said...

I very much agree with you. But I believe one important factor in this perception is that, thanks to the open source movement, you can get a lot of stuff for free.
Plus, the "web" business model based on advertisement $, increased this expectation.
We shot ourselves in the foot.

David said...

One of the reasons programmers are valued so little is because it seems everybody has a nephew or an adolescent cousin who they say is, "Really good with this stuff" but they thought they'd throw the idea your way because they don't like the kid's mother anyway and ...

I've also been in the position of hearing, "My nephew said he was really good at this stuff but now nothing works. Can you fix it?"

But the next time something needs done, they don't put 2 and 2 together and pay my price. That's okay. I have a job.

Nancy said...

Hi,

Excellent article - I really appreciate your blog about "Programmer", I have bookmarked it for later viewing and forwarded it on.
Software Development Company

Cheers.

Anonymous said...

Soooo Trueeee Man, So True!

El Habanero said...

I've been approached vis. this subject several times. A "close friend" of mine wanted me to churn out adsense sites at a rate of 5-10 a day in a 50/50 "partnership" with him, and when i backed out he avoidedme for over a year. Yet another friend breathed down my neck about developing a gambling site for his marvelous domain in a month. The cut? Heheh...1-5%. Many things happened, lets just say i dont waste my time discussing work with friends anymore. Hoist a few beers, go home and be merry.

sunitha said...

Be careful while choosing the right programmer for your business. because this is the beginning process for your business development. programmers & developers plays a key role in success of your business....
Software Development

Anonymous said...

1. The "rest" of the business is not light work, without solid business people the programmers are as useless as the marketing people are without the programmers.

Nope. A computer application has practical value as-is, even if it is never sold it can *do* something useful and exist outside of limited and irrelevant contexts such as a "market" or "society". A business without a product on the other hand simply does not exist.

The way I see it, business is all about assisting in the success of a useful product in the limited context of a market. I'm not saying it's easy, in fact I'm scared by the lack of definite laws and, because of that, I believe it needs various talents, skills and intuition to be good at it. Nor am I saying it's useless, far from it. However I firmly view it as an area of limited and specific use that should be considered of definitely inferior importance than directly productive areas.

Imagine: if all people became businessmen, there would be nothing of value, to sell or use. No resources to distribute or clever decisions to make. Eventually they would die starving.

If all people where workers, constructors, developers, farmers, etc, on the other hand, they would be producing something with an objective value on it's own (coming from it's use), so they would be able to survive, most likely. ;)

eleguehennec said...

I think part of the problem is that many developer are able to say: "It's just a PHP website with a MySql database, I could just throw it together as a favor.". Developers need to know the value of their work as much as much as business people do.

Tim said...

I always like listening to programmer diatribes, especially when it comes to people not respecting our craft. Sometimes the venting is valid, but it's especially true here. Business people take note. Telling a programmer that you "just need a programmer" is like telling ferrari designers that you "just need a car" that fits some half-baked idea. Software IS that intricate, and good software developers ARE that good. If you don't believe me, take a look at what Formula One is doing with linux (http://www.itpro.co.uk/features/192522/linux-and-formula-one.html), an OS written by hackers... in their spare time!!!

Patrick said...

As a programmer at a company it amazes me how often I hear, "Its just a script", from people in other departments. I love being trivialized!!

devjargon said...

I can't recall the number of times a friend has come to me asking for "a little programming help" with no intention of paying. I don't come to your job and ask you to do what you do for free, so why should I?

Beatrice said...

In the competitive IT world, in order to have that much required edge over the others, custom software development is the tool that most of the concerns are falling back on. Apart from providing the much required uniqueness to the website, custom development also proves to be instrumental in incorporating the all important aspects of the concern in the way the owner wants. Though at times it does prove to be a tad bit costly, it is actually fast scoring above the readymade packages.

ecommercewebmaster said...

If you are looking out for apt ecommerce solution to spruce up your online business,then the offshore software outsourcing company Infysolutions is the ideal destination foryou. The url http://www.infyecommercesolution.com/ provides the details on specific ecommerce solutions that you can avail of to expand and boost up your online business.

momo said...

Awesome! Some preventable mistakes (like the DDR2), but pretty realistic until you look at it closely.

I hope Apple does some of the stuff you predicted (particularly the tabbed Finder and being able to run Windows apps natively).
Flash Drive| Flash Card| Memory Module| Memory Card|
Smt Electronic Manufacturing|Electronics Contract Manufacturing| Electronic Contract Manufacturing Services| Subcontract Pcb Assembly

Anonymous said...

MAG Studios is a leading software development & web development company offering ecommerce web site development, search
engine friendly web development, customized software development services india delhi.
Software Development | SEO Services India | Website Design India |
Content Management System (cms) | Customer Relationship Management (CRM) | BPO India
Intranet Portal

Adam said...

As an owner of a web agency, I've worked with dozens of programmers over the past 8 years, and can honestly say that a great programmer is as hard to find as an honest attorney...maybe harder.
Great post. Thanks.

Mark said...

These myths carry over into the design world as well. I was just contacted and asked to build a detailed kitchen in 3D. The potential client wanted to pay $2.00 per rendering! They said "We know this is easy to do and should take like 10 min." I just had to laugh and press the delete key....

J Mader said...

I've met too many people like this in my life. They need to know that software development is exactly like most other service-oriented businesses - YOU GET WHAT YOU PAY FOR.

Mike Clark said...

Great list of comments. I tend to quote it high, usually gets rid of the flakes.

A few months ago, a guy called me, he was interested in putting a huge federal database on his site. I happen to have this one working on one site in Oracle and PHP, it has about 3 million lines and over 300 fields, the csv file is 3.3Gb. It took me a month to figure out how to handle the data, much less program any kind of interface. It takes me about a day per month to grab the monthly updates, sort, debug and write the new sitemaps.

I told him I could get him setup for $2500, never heard back. And that was cheap! I had the impression he thought that because the data is free, I should be free too. It has been some months and he still does not have it setup. Best of luck to him...

milf said...

dessicant air dryerpediatric asthmaasthma specialistasthma children specialistcarpet cleaning dallas txcarpet cleaners dallascarpet cleaning dallas

vero beach vacationvero beach vacationsbeach vacation homes veroms beach vacationsms beach vacationms beach condosmaui beach vacationmaui beach vacationsmaui beach clubbeach vacationsyour beach vacationscheap beach vacations

bob hairstylebob haircutsbob layeredpob hairstylebobbedclassic bobCare for Curly HairTips for Curly Haircurly hair12r 22.5 best pricetires truck bustires 12r 22.5

washington new housenew house houstonnew house san antonionew house ventura

milf said...

new houston house houston house txstains removal dyestains removal clothesstains removalteeth whiteningteeth whiteningbright teeth

jennifer grey nosejennifer nose jobscalebrities nose jobsWomen with Big NosesWomen hairstylesBig Nose Women, hairstyles

milf said...

black mold exposureblack mold symptoms of exposurewrought iron garden gatesiron garden gates find them herefine thin hair hairstylessearch hair styles for fine thin hairnight vision binocularsbuy night vision binocularslipitor reactionslipitor allergic reactionsluxury beach resort in the philippines

afordable beach resorts in the philippineshomeopathy for eczema.baby eczema.save big with great mineral makeup bargainsmineral makeup wholesalersprodam iphone Apple prodam iphone prahacect iphone manualmanual for P 168 iphonefero 52 binocularsnight vision Fero 52 binocularsThe best night vision binoculars here

night vision binoculars bargainsfree photo albums computer programsfree software to make photo albumsfree tax formsprintable tax forms for free craftmatic air bedcraftmatic air bed adjustable info hereboyd air bedboyd night air bed lowest price

milf said...

find air beds in wisconsinbest air beds in wisconsincloud air beds

best cloud inflatable air bedssealy air beds portableportables air bedsrv luggage racksaluminum made rv luggage racksair bed raisedbest form raised air bedsbed air informercialsbest informercials bed airmattress sized air beds

bestair bed mattress antique doorknobsantique doorknob identification tipsdvd player troubleshootingtroubleshooting with the dvd playerflat panel television lcd vs plasmaflat panel lcd television versus plasma pic the bestadjustable bed air foam The best bed air foam

hoof prints antique equestrian printsantique hoof prints equestrian printsBuy air bedadjustablebuy the best adjustable air bedsair beds canadian storesCanadian stores for air beds

migraine causemigraine treatments floridaflorida headache clinicdrying dessicantair drying dessicant

S said...

Personally, I approve of the increasingly poorly advised ventures where people hire some brainless hack to "just throw something together" -- because it's vastly more lucrative as a software firm to bail a company out (extensive analysis, redesign, and refactoring) than it is to simply come up with a good design from scratch.

Let'em screw themselves, and come begging for help later -- and if they end up going out of business instead, not my problem.

Solifugus said...

Customers seldom concern themselves with the long term in the way developers might. They think of what kind of tools or capabilities they think they need and who can provide it most reliably. They will pay the price to switch to a different tool when necessary. If the tool is of more (perceived) importance then they will go to a more professional source.



But, my experience has shown, they seldom have a handle on the importance of the tools they use in relation to its flimsiness. They also usually miss out on much of the potential they do not recognize in their tools.



There is a balance to be found between developing with the future in mind and the the practical short term. It's partly analysis and partly a guessing game. And they will not understand anything you tell them that isn't directly about what they see and get without having to think beyond the mind of a two year old.



That is the truth 90% of the time. Most people with any substantial number of years as a developer comes to realize this. Accepting it is harder.

Anonymous said...

I came across this post looking for joint business development opportunities like the one you were presented. After reading a staggering 53 posts (and I dont tend to read blogs much) I remembered a time when I helped a friend of a family member...

It all went sour after fixing their PC riddled with Spyware and Malware agreeing that it was working before leaving (a method gained from 7 years in IT). 3 weeks later I get a phone call saying that its my fault their PC isnt working anymore and I need to travel the country to fix it immediately knowing that they had probably been downloading all sorts of rubbish in the meantime. I have since have charged for any non-direct family member IT 'favours'. I suggest you do the same incase the finger gets pointed to you... it could end up a painful situation.

Surge said...

There are some really great points here. It is, however, not JUST the computer industry that has this "view". The aim seems to be to get something for nothing, or as cheaply as possible, and not taking into account the work that goes into making something big happen. Are those efforts not as worthy of funding as was your idea? And then there is the attempted guilt trip... "oh I thought..." these are the kind that you don't want to deal with anyway because, if you do end up compelling them to pay you, it could be a cold day in hell before you see that money. Thanks for the post Ethan.

Anonymous said...

I do in fact need a programmer and am willing to discuss business terms. My personal email is
promgr411@aol.com I think you will like it, my lawyer does.