Hacker News new | past | comments | ask | show | jobs | submit login
All I need is a programmer (codeclimber.blogspot.com)
62 points by eVizitei on April 16, 2008 | hide | past | favorite | 36 comments



This same story seems to get rehashed weekly here. Without insight into what the business is, you can't really judge how important a programmer is. For some, it's paramount. For others, it's not as important.

Interestingly enough, a lot of people get stuck in some sort of weird trap: Their idea is worth so much to them that they won't give up equity yet their idea is worth so little that they won't invest in it.


That's a very interesting paradoxical situation you have pointed out - the weird trap, I mean.


Again, it's worth remembering that even if everyone in the world understood exactly how valuable, difficult, and expensive programming can be, these conversations would still happen all the time. It's just how negotiation works: Programmer offers to work for X, customer pretends to be poor and offers Y where Y << X. And so on.

Admittedly, when you offer to work for X and your "friend" responds by coming right out and saying that they expected the work for free, so forget it... they're not being very polite or very smart. A better response would be "Gosh, I hadn't realized it was more than an hour or two of work, and my budget is only $75. Thanks for setting me straight -- I'll have to rethink this. Can you recommend any $10-an-hour grade school students?" And then you put on your Helpless Newb Face and hope that your programmer friend takes pity on you and offers to work at half wages, or offers you some free advice on how to set up a cheap Wordpress site, or something.

As sure as the sun shines, people -- especially your "friends" -- are never going to offer what you're actually worth. (For one thing, they have little way of knowing. Given that most software engineers can barely estimate how long their projects will take or how much the result is worth, how can you expect inexperienced folks to do it?) You just have to do what this guy did: Ask for what you think you're worth, and be gracious but firm if they say something stupid or insulting in return.


If it's how negotiation works, then why open with what you think you're worth? Why not ask for W where X << W?


Very good. That is rule one of negotiation: Always ask for more than you think you will get.

Rule zero is: Never be the first person to name a price. The opener is at a disadvantage: Once they offer to pay you $5, they can't credibly claim to be unable to afford $4. You can counteroffer with $15 and then -- in the simplest scenario -- offer to split the difference, ending up with $10.

Following rule zero can be very hard. It takes a lot of social skill to deflect your opponent's request for an opening bid. I'm not sure rule zero even applies in a lot of situations -- for example, as a consultant I often just use rule one, because your customers will often be scared away if you act like the canonical Oracle salesperson and attempt to determine the approximate size of their bank account before you even name your rate. But you can give them a rate and then negotiate the project scope or schedule. ;)

I'm cribbing all of this from Dawson's Secrets of Power Negotiating, BTW. I find that book kind of cheesy -- perhaps because, like many techies, I'm a terrible negotiator by nature -- but it's a fun way to get inside the mind of a sales guy. I wish I'd read it before I went to China. Chinese shopkeepers saw me coming a mile away. I console myself with the knowledge that the profits from my few small purchases are probably putting some very nice Chinese kids through college now... Plus, my Chinese friend was highly entertained by the sight of my negotiating, and that's worth something.


My wife developed a technique in ChinaTown NYC that rarely failed.

She would decide what she wanted to pay (less than what was being asked, obviously), put down the money in front of the salesperson while picking up the item and wait for a response.

The salesperson was almost never willing to let her pick her money back up again.


I work for a big company where they believe in the cog-in-a-machine idea so much they actually implemented a process they coined 'the factory process' with the emphasis on being able to swap in team of developers at the drop of a hat.

Noone had read the mythical man month, or Spolsky's 'Hitting the highlights' (or named something similar to that).

I can testify first hand that treating software engineer like cogs is a road to slippage, bugs and all the good engineers leaving!


The lack of cash for the gig isn't really the problem here. I think the problem is that the person asking for work is poor at business.

If he is expecting this guy to work for free, he should make him feel super important, ask for advice and not really ask him to do the work.

Assuming that someone else has nothing else going on and will spend their evenings/weekends on your project for free, just points out that he doesn't have a clue about how people work.

My advice to anyone looking to hire a programmer for free, try a subtle form of flattery and see if you can get a good deal. Alternatively, learn programming.


"The reason for this, I think, is that Lisp allows you to be so productive that a single person can get things done without having to work together with anyone else, and so Lisp programmers never develop the social skills needed to work effectively as a member of a team."

That's IT! I just decided to quit Lisp and program in C from now on. And all this time I wondered why I have no social skills... But now everything will be fine!!!


You're quoting a statement by Ron Garret which I find rather thought provoking and not at all ridiculous. But what puzzles me is, why are you quoting it here?


It was just a joke in good earth. But now I see how you read it.

I'll try to double-check my post for ambiguïties next time.


If this is your goal, C isn't the best choice either. I'd suggest Java or C#.


C is a pretty good goal. It takes a lot of effort to get anything working in C, so the only reasonable approach is to find others to collaborate with. It "forces" you into being social.


Programming is not the only profession where this takes place


In particular in the web industry, there's a lot of programmers who have "done all the hard stuff" and now just need a designer to "make it look pretty,"despite the fact that good design with a focus on usability is likely to change the structure and flow of the application.

I mention it, because I've caught myself thinking this way.


This is typical of the sort of person who believes that the value of something is entirely the idea, rather than in the implementation of the idea. Unfortunately, that mindset never actually accomplishes anything.

Ideas aren't worth the paper they're printed on. Unless it's nice paper.


New Math anyone?


I have a programmer who due to visa issues is stuck in one state. We have worked together on a startup remotely 4 over a yr now. His full time gig sent him over to work only in one state. Now we are backed we want him to join us where our backers and I am, but immigration is backed up where it will take a year 2 approve his move. We are now looking for LAMP developers (2 yr experience) in and around the Philly area.

I wouldnt say all we need is a programmer, rather another team member who can join us locally, while he continues working remotely! Interested drop me mail at paul9290 <at> yahoo.com. It's a paid position with equity!


Has anyone seen a post saying "All I need is a business guy?"


Maybe not a post, but I know several entrepreneurs who say--on a regular basis--"All I need is a sales guy," "All I need is a marketing guy," and/or "All I need is a bizdev guy."

In each case, they believe that the hard part of their business is the part they are doing/have done, and teh sales/marketing/bizdev is a slam dunk.


We all misjudge that which we don't understand. And if we did understand, we could do it ourselves.


Good point, too bad nested comments don't float the original comment up higher.


I just had a conversation with someone today about adding editorial content to a site. There is no content to post yet, but it's time to get cracking on writing the code to display it! As if writing the code is the hardest part of this. If we wanted it to take 15 minutes, we could install wordpress and be done: but it would be an empty site without all the other non-programming "business" things that need to be done before one can actually say they have a blog, ahem, editorial section.


See another similar thread here: http://news.ycombinator.com/item?id=155105


In my opinion the software is the business. Without that, its just an idea on paper. And the marketable value of an idea is zero.


Got the same thing on Sunday. Usually I find the easiest thing to say, in cases where I'm pretty certain there's not going to be common ground, to recommend a third party who they're not friends with and won't assume that it'll be a favor.


you can either spend that energy and reply to the person try explaining why you worth X you are requesting (assumuning they are not naive and willing to understand) or write a blog post a of type "all I need is a XYZ"


If they know exactly what they want, the programmer is exchangeable. Maybe one is faster than the other, maybe the code will be ugly. It doesn't really matter.


"If they know exactly what they want"

That sure would be nice. Too bad it almost never happens.

"the programmer is exchangeable. Maybe one is faster than the other, maybe the code will be ugly"

I couldn't disagree more. Read this

http://www.joelonsoftware.com/articles/HighNotes.html

and see if that changes your thinking. Joel refutes your statement much better than I ever could.

(My favorite line: Five Antonio Salieris won't produce Mozart's Requiem. Ever. Not if they work for 100 years.)


I only skimmed it, but I don't think it applies. Who says those guys wanted to start a Software Company? Quote: "This is a conversation about software companies, shrinkwrap software, where the company's success or failure is directly a result of the quality of their code."

Also the comparison to Brad Pitt really makes no sense. People don't go to see Brad Pitt moves because he is an x times better actor than others. Not saying he is bad, but surely some cheaper nobodies could be found who acts well, too. But they wouldn't be famous and therefore would not draw a crowd.

Same with Salieri. Sorry, but there are zillions of programmers who could program a Twitter, for example. Sure, there are some kinds of programs that most programmers would be unable to write, but it doesn't apply to most Web Apps.

Even if the programmer thing would make a difference, the business guys still could not possibly care, because they have no way of knowing if a programmer is good or not.

Think about building a house. Once the architecture is done, surely there are lots of building teams who can build it. Sure, some will screw it up, but most won't.

Also, I think in the beginning the business guys might be looking for a prototype. If it takes off, they can still worry about finding rockstar programmers.


Here's why this essay struck a nerve with me.

There are certain things that 10% of the hackers I ever met could do in x amount of time that the other 90% could never do. In any amount of time.

The longer I work in this field, the truer that seems.

And managers have never understood that. They look at us as "person hours" to be mixed and matched to achieve their goals. I've never seen that work well.

How many times have you given an estimate like this:

For me: 1 day. For me and Joe together: 2 days. If you give it to Joe first and then give it to me: 1 week.

Idea guys understand this about as well as managers. And often they need someone from the top 10% whether they know it or not. Not just for programming, but also for analysis, design, testing, scaling, and deployment.


But what if it doesn't matter if it takes a day or a week? And how is the business person to know? Just because Joe asks for a lot of money, are they supposed to believe that he is good?

I think you are confusing your personal experiences and situations with the situation of some business guy. They are not out to start a software company, where they will manage programmers. They just want product x build.

It is an exchangeable skill, in the same way as there are thousands of mechanics who could fix your car, or thousands of window-makers who could create a window for your house, or thousands of carpenters who can create a cupboard to your specifications.

If you drive your car into some mechanics garage, you are not expecting to manage that mechanic. You just want your car fixed.


Joe has a problem with his car, it makes a terribly annoying sound. He goes to Mechanic A who decides to replace his engine. Problem solved, cost 10000$. John has exactly the same problem (with the same cause), he goes to mechanic B who finds out that a small part of the engine needs replacement. Problem fixed, cost 65$.

Btw, software, unlike buildings or chairs, is extensible and the (technical) desing decisions of the programmer are very important in how extensible it is or if it is extensible at all.


Those examples are just outliers. You can always be unlucky. But the majority of mechanics can fix your car. And the problem remains: how are you supposed to know beforehand which mechanic is good?

Extensible software: maybe it doesn't matter so much for a prototype. If the concept proves itself, you could also start writing it again.


If you believe that code is poetry, then programmers are artists.


In a similar situation actually! I like your approach!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: