Hacker News new | past | comments | ask | show | jobs | submit | sfamiliar's comments login

think about a cocktail party. the host comes in, introduces everybody around. you meet new people, talk about stuff. generally a good host will tell you a little about the other people you haven't met, and say something like 'they'd be a good person to talk to about X', where x is some topic you know you have in common. most dating sites don't do this -- there are no introductions, no incentive to converse. you get to know/be comfortable/uncomfortable with people through interaction. a guided interaction is exactly what most online dating applications are missing.


when we're measuring productivity, what are we trying to measure? i mean, really? ultimately its how much value is created, in what span of time. relevant to this example, the questions to be asked are:

1) how much does joe's paintjob increase the value of the home for the HGTV-obsessed house-flipper?

2) how much will the value of jim's watercolor appreciate after he kills himself following a week-long binge of heroin?

put another way: how efficiently is value being created? the important answers lie more often in the decision process, and less often in the implementation schedule.

for example, a web developer working on a brochureware site: the right question may be along the lines of 'how will the work you're doing affect the conversion rate?'. in reality, those decisions aren't up to him -- the might lie in the internet strategy department or some such. they push the order, the developer implements. a real measure of results is closer to 'did the designer make the right decisions to yield results?' rather than 'did the developer get the code done more or less quickly than last time?' in my experience, when someone who is a non-developer is trying to quantify developer 'productivity', what they're really doing is dodging the question of whether or not their decision-making was good or bad, usually when they know it's bad and are looking for something to roll downhill.

more interesting to me, as a developer and sometimes manager, is whether or not a developer can deliver when they say they can? if clay says it'll be done in a week, and then it is, he's been sufficiently productive. 'sufficiently productive' is maybe the best thing we can do. the race analogy is an apt one -- if developer 1 can produce a set of functionality with the same defect level faster than developer 2, we can say that d1 is 'more productive', but it's a difficult thing to quantify absolutely. take the number of hours a developer spends working on a given project point, multiply it by their hourly rate, and you get a development cost for that project point. then consider the value that project will add to the product, over time. if you have 30,000 customers who haven't bought the product yet because it doesn't have Feature X, and adding feature X costs dollars Y, then your value-add is something line Z= customers * product price. your efficiency is something like Z/Y.

clearly you want to minimize cost, and therefore keep your efficiency as high as possible, but the ways to manipulate that, and a lot of points to consider:

a simple example -- if you can hire a developer that will take twice as long, but work at 1/3 of the rate, would the revenue lost during the extended development period negatively affect the profit efficiency?

the important questions are somewhat higher up.


Hmmmm..... Maybe a not so horrible bad answer is as good as we can do.

I like the notion that productivity should be considered as rate of delivery of value. Unfortunately, this gets into the sticky questions of value to whom and for what purpose. An even more sticky question would be how to measure it if you can answer the first two questions.

On the "somewhat higher up" questions. Are we to hold the programmer responsible for such things as "conversion rates" which may be more impacted by advertising, quality of web site, and momentary media buzz than by anything the programmer did? If so, how is this measuring the productivity of the programmer. Its difficult to make the connection. That is unless you are the whole team from start to finish.

Perhaps the best we can do is compare present and past "productivity" to see what has improved and what has not. If there is a net improvement, then "productivity" has increased else not. Trying to put a number on it beyond plus or minus may be a hopeless dream.

Still, for something that seems to be driving the world's economy, a hopeless dream is not very satisfactory.


no, we absolutely should not hold the developer responsible for the higher up questions -- the responsibility should fall on the shoulders of the person who made the decision. did the developer implement what he was asked? did he render solid feedback which was promptly ignored? if so, he bears no responsibility for the quality of the decision, only the quality of the implementation. if he made the decision, of course, that's a different matter. and in any case, the measurement of his 'productivity' is meaningless as a part of this metric.

comparing two programmers is possible. comparing a single programmer against a theoretical ideal is improbable. finding a remotely accurate formula for measuring developer productivity and yielding data that's actionable in the business space is really, really unlikely.


ruby 1.9.1 is mainly stability fixes to ruby 1.9, which had a few .. quirks.

for a less-than-complete guide to ruby 1.9 features, consider reading eigenclass's summary from way back: http://eigenclass.org/hiki.rb?Changes+in+Ruby+1.9


"... consider reading eigenclass's summary ..."

"Last major update on 2007-10-12"

Casual lurking on ruby-core suggests that all sorts of things have changed since then.


It's still a fairly decent reference if you need to update your software for 1.9. Several incompatibilities I ran into were listed there. For others problems, I did have to search the mailing lists, though.


jim cramer has said before that one shouldn't have a position you can't afford to spend an hour/week investigating. however you may feel about his financial wisdom otherwise, this point seems sound. in this case, that'd mean an hour/week for each currency, reading up on that country's economics. you might have that kind of time, i don't know. first world western countries' currencies are very stable, and change slowly over time, their values increasing and decreasing by slow degrees. if the dollar, euro, or pound suddenly went horribly south, the rest of the world would definitely feel it, and their currencies would also likely plummet. so there's no safe harbor abroad for currency.

consider instead gold, silver, platinum, and jewelry. since we're talking about an 'escape scenario', they might be your best option. mr. wemmick in 'great expectations' had a not-terrible plan in terms of an unstable economy: he had gems and jewelry pinned under his lapel, and frequently touted the value of 'portable property'. this might be a better route to take than currency since it doesn't fix a destination, it's easily liquifiable, and very portable.


someone alert Stan Rogers!


couldn't have been more aptly named. this is pretty funny, in a sad kinda way. we've all been there, kiddo. thanks for giving us a reason not to go back.


sounds like you want a mini-dvi adapter, a big standalone screen, a usb keyboard and mouse, and a steelcase chair, not a desktop computer.

if you want processing power for web servers and databases, get a slice somewhere -- they're pretty affordable. don't buy an entirely new machine when you can get everything you asked for in the first paragraph for the macbook (and the sync hassles that come with two machines). you'd have to buy that stuff anyhow if you got a desktop, why not get it without the desktop?

my setup: three slices, a macbook, 25" 16:9 flatscreen LG in portrait mode. i use the mac keyboard, but have a really comfy chair. there's a file server in the kitchen, but it's left over from an old desktop and is not a speed demon -- it doesn't have any inputs or outputs connected save for ethernet.


Thanks. lot of good points.

Apart from the points you mentioned, I think not having to sell a much depreciated desktop when I leave US is an advantage.


nice article, though i'm not sure that's the One Thing. my one thing would be 'know your audience'. that's part message and part usability. if you're designing an app for engineers you design the ui very different than if you're designing it to allow residents of the local retirement community to self-schedule dinner deliveries.

that said:

if you're a resident in a company with a separate marketing team, it's key to speak their language -- after all, the people you're going to be marketing -to- is the marketing team. it's their job to get the message out, it's your job to be sure they know what the message is, and what it isn't. make sure you don't oversell, and let them know what would be overselling, and promote key features internally; they'll get external through the firm's marketing wing.

if you're a startup, marketing is doubly important. if you can't sell a friend on the idea of a product, you won't be able to sell the public. if your startup idea is complex, you're going to have to find a way to make it intelligible in ten seconds by picking the key features you want understood. and everyone in a startup is on the marketing team, whether they like it or not.

it's really worth it to read a book or two on marketing, if for no other reason than to get the lingo down. i've found my suggestions much better received when i could speak market-speak to the marketing team and sales team, and promote effectively to civilians. i recommend 'the culting of brands' by doug atkin as a good start.


they're buying up hosting to compete with amazon, likely.

we use slicehost and really dig it. will this adversely affect our service and pricing? time will tell.


> they're buying up hosting to compete with amazon, likely.

Indeed... and to be honest, given what that are buying into, seems like a good execution on that strategy.


to include in a website, jsjac is pretty nice. (http://blog.jwchat.org/jsjac/) it can be used to replace nearly all of your messaging functionality -- short messages, group messages, and live chat. it's reasonably easy to configure and install, and requires a jabber server running somewhere.


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

Search: