I went on a sales call yesterday to a small business in my little rural village. His current website was done by someone he knows and I talked to him 6 months ago about it and it hasn't changed, so I whipped up a demo and put it online and went to show him in his office.
When he started typing in the URL to the demo site, he was typing http:// into the yahoo search form. I said, "You should type it into the location bar."
The what? he said. Up there at the top I told him and pointed at it. Whoa.
"Well, you know, my friend is building this one for me and ... " This one was a default wordpress install that had no customization except the header and footer and nothing at all close to what his business needs, yet he had to run my site by his friend, who I can tell has no idea how to write code or create a database.
How can any of us here ever expect someone like that to comprehend the difference between someone who can put up a web page and someone who can build an enterprise system with customer interaction, inventory management, and any sort of security whatsoever?
They can't. Looking at a web page is like looking at the clothes someone is wearing and trying to figure out if they can do algebra. Yet that's how they do it. To 90% of people, maybe more, putting up a static web page or a word press site requires the same knowledge as understanding one-way hashes, caching, and parameterized queries.
And yes, I believe we should charge a lot more, but instead, we give away our software for free because it feels good. I love open source, I create open source, I use open source, yet I know that open source isn't going to feed me. It feeds some. It feeds the business guys who sell services on top of free open source systems. Those guys can't use a command-line, but they can pay programmers 10% of the deal, sometimes more. It feeds programmers who are lucky enough to work for a progressive employer who can afford to staff a team to support the project and defend it when it is stolen by a corporation and embedded in their set top boxes, but for those of us who want to create a path for ourselves, creating an open source project is like buying a lottery ticket. Sometimes it works, Zimbra did well, word press does well, MySQL did well, but those are but a tiny fraction of the open source projects out there. As long as we give away our work for free, why do we expect people to pay for it?
Outside the programming world, it is completely different. If a business person, a sales guy say, works for a technology company, they work on commission. Sell one product, take 20-50% of the sale price. If a programmer writes something that increases sales by 50% they get nothing additional. No percentage increase, hardly a raise at most places. Yet, code on.
Corporations simply could not operate without IT, yet it is considered a cost center, not a profit enabler, a cost cutter. Imagine a human without a brain!
Yet, code on. Why? Because we love it. Doesn't matter that sales guys also love to sell. CEO's also love to execute.
When I was a consultant, it angered me greatly that a sales man would win a client and while I was there, I would sell additional project after additional project, extending my time at the client and building more and more revenue for the company and I got a $5k raise the next year! The sales guy got the same commission on the additional work I sold! Why didn't I get the commission on the additional work? Why didn't someone say, "Awesome, you were at the client 5x longer than we expected and you doubled your expected billable hours for the year!"
That's why you need to be on both sides of the spectrum - create AND sell. It's much easier for technical people to pick up selling skills than it is for salesmen to pick up engineering skills.
Eventually I quit that job and did start my own company and I'm so much happier for it my eyes are welling up right now just thinking of the contrast. I'm emotional, I know, but it's like I came alive when I started building something that I owned and loved and appreciated. When other people started appreciating it and I make other lives better with my work and I get the reward -- you just have to feel it to know, but it took a long time to get that feeling -- years.
It was sooo hard. There were months and months of this low frequency buzz in my gut, constantly thinking, "How am I going to make money? Am I going to make money? Why don't people understand what I'm building? Will I be able to survive on my own?" All the while my bank account was going down, down, down...
And from my own hands, I've created a 1 year runway! A whole year! That I built. That's plenty of time and we're growing and I look back and understand completely why almost everyone I know thought I was crazy. But now they are envious. "I wish I could do that. I wish I could quit my job. I have a mortgage." I had to move back to my childhood home in the middle of nowhere to make ends meet. I had to make real sacrifice. I was living on the beach when I quit. Now I'm 1500 miles from salt water, but I'm happy.
I do think sales is hard though. I don't get why they don't get it. I don't know how to speak their language. I don't know what motivates them. On the proposal yesterday, I didn't put a price, because the money doesn't really matter to me, what I want is to help him have a better site and provide a better experience for his customers, and bring technology home.
My state has had a severe brain drain. People like me don't stay here. Technology people who work for the corporations are actually consultants who live in the huge metro areas -- in other states! They fly in on monday and fly home on friday.
I work with companies all over the world, but people in my own town -- in my own state for the most part -- don't even understand what I'm doing and I wonder how or when I'll break through, but I'm going to keep trying. Next time I'll put the payment options on the form.
I've gotten it down to three options: Fixed fee, Hourly rate, or Revenue share. I have learned from past experience, that if you just put a price, people say no. If you give them options, they have something to think about. Some people want to take no risk. Some want to know what it'll cost up front and some just want the absolute best you can produce.
Every potential customer is different. I can't seem to find a strategy that always works and it's difficult for me to predict how people will react and how to figure out which kind of customer the person is. Are there subtle questions I can ask? Can I tell from looking at their business or customers how I can convince them to proceed. It's good technology. I know for almost sure that I can help them, but they are suspicious. They don't understand and don't want to be taken for a ride. How do I reassure them? How do I let them know I'm not one of those business guys who just wants to take their money?
I read lots of books and keep trying, but I don't know if it's easier to pick up sales. There is an aspect of gift to it I think. Persuasiveness. That "status" part of the theater class thread from the other day. Lots can be learned, but it takes a lot of practice and a lot of time and a lot of -- just numbers, really. Take your pride out of it. Be confident and tell everyone you know. Don't worry that you sound like you're tooting your own horn. That's what you have to do. If you don't tell anyone, no one will know.
I don't begrudge sales guys for what they can do. I envy it, but I also think it is overvalued. But why shouldn't it be? Sales guys are better able to sell their own value to their company than the programmers are able to sell their value. It's not the business guy's fault. It's our fault for settling for less than we are worth -- literally.
Fnid, very good write-up. For sales, I heard from a Harvard Business School study that good sales people enjoy rejection, or at least turning rejection into positive feeling. There are 100s of rejections for 1 good sales. Good sales organizations have been trying to foster environments that celebrate rejection and make it seems normal. So for those "people don't get it" encounters you have, just view them as a mild rejection and move on to next prospect.
Very inspirational. I'll be doing the same thing come April. After my contract is done at the end of this month, I'll be spending the next few months just working on my own projects. I can't wait to get started to see if I can turn them into profitable businesses. Just 12 more days to go...
Eh, I can find other fun things to do. The sales guy makes a sale and takes a commission because you can't reuse the guy's sales effort. It's not like sales guy produces something after the sale that generates other sales.
Yes he collect valuable information, etc, but still every sale need effort by the sales guy.
Write a piece of code and... it lives for ever.
So we should charge even MORE! Yes, IF we all agreed to, we could.
But OPEC could charge $10000 per barrel of oil, yet someone always breaks the deal and starts selling oil cheaper and the price stabilizes a lot lower.
So imagine all of us get together and form a world wide union and then some guy writes software for less then we agreed!
That's why sales guys take a percentage and software guys don't.
Well that's not entirely true, if you are partner in a software consulting company you share in the profits.
And a sales guy could quit being a sales guy and work a steady and easier job with no bonus but a simple pay-check. He could spend more time with his family.
The problem is that there are far more average or mediocre developers than there are even decent ones, severely diluting our image. Developers are in such high demand, the good pay has caused millions to enter the field that would otherwise be unfit for a typical engineering or scientific field, just because they feel comfortable after a few sessions of hacking together a LAMP app or getting some watered-down MIS degree. Large corporations victimized by their rigid hiring policies have been inundated with thousands of these droids that expend maximum time to build minimum solutions. Further fueling this fire is a total misunderstanding of the process by upper management, whose day-to-day role in the company couldn't be any more antithetical to that of a software developer.
It's a similar situation for designers, as you can see with some of the recent discussions regarding 99designs. There's good pay at the high end (with a somewhat pronounced falloff), lots of "artsy" kids go into college for it because it's the one art program that promises to actually make them a living, and there's certainly a lot of misunderstanding of the process at the management level.
I was just wondering if we can extend this to any field. Is it true that every field will have its standouts and then a lot of mediocre members that dilute the image for everyone else?
I think the problem is that the barrier to entry is so low in a lot of technical fields right now because demand is high. Companies are willing to hire a lot of mediocre programmers (or outsource to places of questionable quality) because they simply need something and the cost of failure is not catastrophic.
On the other hand, medicine and law have high barriers to entry, and you would be considered a fool to hire a doctor or lawyer who did not have the appropriate degrees, certifications, and licenses. This is not true with technology these days.
It's like the programming industry doesn't even have a bar to jump over.
I am mostly talking about large corporations. It's much easier to determine if a single developer is going to be able to do a short-term gig like this than try to hire an entire department of engineers for a large, long-term project.
Programmers are a commodity.
Lawyers are a commodity.
Managers are a commodity.
Dentists are a commodity.
Experts are not.
In any given field, probably 80% of the practitioners can do an adequate job and at least complete the tasks required by their position. In my experience, that number narrows to about 40% if the requirement is that the job is performed on time, on budget, and performed correctly the first time.
The question for the employer is simply whether the task at hand requires a “cog” or an expert. Most businesses require both.
Agreed. But: I don’t really know exactly what these guys are looking for, still I’m pretty sure (because of the ads) they’re having an hard time finding it. I won’t say programming as a profession is special, because it’s not, but from my experience even finding just a good coding “cog” is a huge win from the employer’s perspective.
What I think it happened is that those guys went looking for somebody “ready for industry” into the university, and they hit the wall. I know a lot of very, very smart guys that are studying CS: I’m sure one day they will be awesome hackers but they will need a lot of experience under their belt before they can provide real value to a “real world” project.
To be fair to CS programs, though, that's true of most areas that have significant practical components. A straight-out-of-college chemical engineer is not going to be able to provide immediate valuable work on a Dow Chemical plant; they need to learn all sorts of things first. One difference might be that Dow expects this more than companies hiring programmers do.
It doesn't surprise me that this happened at a university. They tend to view programmers as a neccessary evil rather than as a potentially valuable asset. Most likely, they didn't get anyone that would work for the salary they wanted to pay.
KTH is the biggest technical university in Sweden, it's got a very good CS programme and all the other engineering programmes have at least some programming on their curriculums. It's definitely not a dinky little liberal arts college, there's no lack of technical knowledge overall. :-)
However, this job ad was posted only outside their little division, because.. well.. uh.. academics are narrow-minded?
If they had bothered to post it about four buildings away from their department, it would have been seen by about a thousand CS students instead, which would have increased their chances of getting someone good with quite a lot.
I think the point of the post was that the author assumed all the adds were actually for the same position. The problem (if that was the case) being that C++ programmers/Flash programmers/HTML designers are not interchangeable.
Even so - in other hacker news post people complain that employers don't understand that programmers are more versatile than just "5 years of Java experience". I have never programmed Flash, but I am pretty sure I could pick it up within 2 days or so.
It actually seems cool that they made an ad saying "no experience required". When else do you get that? And it makes perfect sense. Why would a student taking on the challenge be able to learn to program what they need?
When he started typing in the URL to the demo site, he was typing http:// into the yahoo search form. I said, "You should type it into the location bar."
The what? he said. Up there at the top I told him and pointed at it. Whoa.
"Well, you know, my friend is building this one for me and ... " This one was a default wordpress install that had no customization except the header and footer and nothing at all close to what his business needs, yet he had to run my site by his friend, who I can tell has no idea how to write code or create a database.
How can any of us here ever expect someone like that to comprehend the difference between someone who can put up a web page and someone who can build an enterprise system with customer interaction, inventory management, and any sort of security whatsoever?
They can't. Looking at a web page is like looking at the clothes someone is wearing and trying to figure out if they can do algebra. Yet that's how they do it. To 90% of people, maybe more, putting up a static web page or a word press site requires the same knowledge as understanding one-way hashes, caching, and parameterized queries.
And yes, I believe we should charge a lot more, but instead, we give away our software for free because it feels good. I love open source, I create open source, I use open source, yet I know that open source isn't going to feed me. It feeds some. It feeds the business guys who sell services on top of free open source systems. Those guys can't use a command-line, but they can pay programmers 10% of the deal, sometimes more. It feeds programmers who are lucky enough to work for a progressive employer who can afford to staff a team to support the project and defend it when it is stolen by a corporation and embedded in their set top boxes, but for those of us who want to create a path for ourselves, creating an open source project is like buying a lottery ticket. Sometimes it works, Zimbra did well, word press does well, MySQL did well, but those are but a tiny fraction of the open source projects out there. As long as we give away our work for free, why do we expect people to pay for it?
Outside the programming world, it is completely different. If a business person, a sales guy say, works for a technology company, they work on commission. Sell one product, take 20-50% of the sale price. If a programmer writes something that increases sales by 50% they get nothing additional. No percentage increase, hardly a raise at most places. Yet, code on.
Corporations simply could not operate without IT, yet it is considered a cost center, not a profit enabler, a cost cutter. Imagine a human without a brain!
Yet, code on. Why? Because we love it. Doesn't matter that sales guys also love to sell. CEO's also love to execute.
When I was a consultant, it angered me greatly that a sales man would win a client and while I was there, I would sell additional project after additional project, extending my time at the client and building more and more revenue for the company and I got a $5k raise the next year! The sales guy got the same commission on the additional work I sold! Why didn't I get the commission on the additional work? Why didn't someone say, "Awesome, you were at the client 5x longer than we expected and you doubled your expected billable hours for the year!"
Instead, the sales guy got a new flat screen TV.