You can't impress developers
baus.net
baus.net
I work at a company that sells a tool for model based testing and invariably, at every customer company, there are developers that think our tool isn't worth the money, because when we explain to them how it works and they think 'I could build that'. Yes, of course they could, just like they could also build a Reddit clone in a weekend. They just don't realize (and is hard to convince otherwise), just how much work it is and how much real world experience is necessary to make it actually useful. As the article says: developers are very hard customers and fortunately (for us, but not for the industry in general) the decision makers often distrust/discount the technical opinion developers have of tools they intend to purchase.
Tl;dr: developers too often say 'I can build that', when really, for practical purposes, they can't.
I used to harbour the "build it in a weekend" suspicion about everything, and then I started building things. The world is a damn mess, is what it is.
Maybe it's related to that thing that has mentioned on HN quite often lately, where the incompetent people are unaware of their own incompetence?
I'm not sure that it's Dunning Kruger so much as it is just not knowing at the outset of the project all the pitfalls you'll get into making it.
Most PERT method research is out of the Operations Research community. There's some interesting stuff there about how estimates can be wrong. For example, if you accept that there's a range of probabilities on every node in a PERT graph, then managing the "critical path" by itself is very risky. There's a whole bunch of what you might call subcritical paths lurking, and one step in risk management is to find the parts of your project where they might be lurking[1].
Another thing that pops up. In the classic PERT formula, the divisor is 6. Why 6? It turns out that nobody is quite sure, but it roughly assumes that events follow a double-triangular distribution[2]. This is a heroic assumption, to say the least, but how do you best account for it? In my prototype code I've made the distribution configurable with the idea that advanced customers could change it; or perhaps some regression across all customer data could provide a better fit.
But then comes a bit of a bombshell from the psychologists, who operate in a carefree world, innocent of project management problems. They've found that decomposing a task improves estimation performance. It's called the "unpacking effect".
In a series of experiments Kruger & Evans established that you can improve estimation performance on a main task simply by asking people to list the subtasks required to achieve it. How long will it take to get ready for a date? If you ask this question by itself, the answer will be wrong. If you first ask "What do you need to do to prepare for a date?" and then ask how long, the answer is still wrong, but it is less wrong. Read their paper, it's absolutely fascinating [3].
To me this raises the fascinating possibility that the improved performance of PERT estimates over expert judgement derives mostly or wholly from the enumeration of subtasks rather than the statistical stuff that comes along for the ride.
[0] http://confidest.com/ (I know it looks very ordinary, my CSS chops are very ordinary).
[1] Richard J. Schonberger, "Why Projects Are 'Always' Late: A Rationale Based on Manual Simulation of a PERT/CPM Network", Journal of the Operational Research Society
[2] T. M. Williams, "What Are PERT Estimates?", Journal of the Operational Research Society
[3] Justing Kruger and Matt Evens, "If you don't want to be late, enumerate: Unpacking reduces the planning fallacy", Journal of Experimental Social Psychology.
http://johnmardlin.tumblr.com/post/51994252739/humans-are-no...
Neat, what is the company? I was glancing at some papers on model based testing recently and had no idea there were commercial tools for it.
As a developer founder, getting over this has been one of the most challenging but important steps in making my business grow and thrive. I'm still not 100% there yet.
Sometimes OPs are wrong or misguided and somebody with more experience or expertise is there to point out why.
That's valuable.
Often you hear from the creators of things. Folk who are at the coalface of some system, company or problem.
That's valuable.
So sometimes it comes with a bit of grunge and grump. I don't really care. The rest is worth it.
I'm a little confused by the perceived offense as well: it's not good to tell someone something sucks? I would much rather hear honest thoughts about my projects ("seems like a waste of time, poor implementation anyway, maybe try $x instead?") than be given a false sense of security through unwarranted praise. Of course what is not cool is downright snippy dismissals without any substantiation, but I think those are still relatively rare.
Really the most tragic thing about it all is that pointing out the "middlebrow dismissal" in a verbose comment/blogpost has become a meme unto itself. We spend so much time on meta-discussions now. So here's my idea of how to approach comments you guys feel are putting people down unfairly: neutralize the meanness by following up that very mean comment by saying something like "I don't think you're being fair, I think author of the post has made something really cool because $y". And, the $y part better be something technical, or else we're going further down into more non-substantive meta-discussion discussion.
When I worked with developers raised in the 1920s, 1930s, and 1940s, they generally wouldn't hold back when it came to criticism. If something was done wrong, or if something was a stupid idea, they'd say so very bluntly and to-the-point. They'd also be more open to receiving such criticism, and would re-evaluate their own work or ideas without a second thought. They surely wouldn't let it hurt their feelings, or anything of that sort.
Developers raised in the 1950s, 1960s and the first part of the 1970s tend to be willing to give out some harsh criticism, but I've found they're often less willing to accept it from others. They won't necessarily re-consider their ideas or work when questioned.
The trend is more pronounced with developers raised in the late 1970s and 1980s. I've generally observed them to be far less critical of the work of others, but also even less willing to accept criticism directed at their work or ideas. Some even consider criticism to be unacceptable.
Now I've started working with some developers raised during the 1990s, and their attitude is generally one of criticism being completely unacceptable. They don't necessarily think that praise is necessary all of the time, but they can often take any sort of criticism very personally.
While it may just be tied to age, experience and maturity, I'm thinking it goes beyond such things. For example, I've seen several different professional developers raised in the 1990s actually cry in the workplace when faced with valid, and actually quite muted, criticism of their work. These people were adults, over 20 years old. I'd never seen anything like it with the thousands of other developers I've worked with over the years, even ones who were of a similar age at the time, but born earlier.
I wouldn't be at all surprised if that's what we're seeing here, too. Old developers, who have a more accepting attitude toward criticism, are more than willing to dish it out and receive it back. But the youngest generation has a very different attitude toward it, seeing criticism as extremely offensive, and even pseudo-criminal in nature. While many of them do just try to avoid giving and receiving criticism altogether, I do find it kind of funny and hypocritical when the more outspoken ones openly criticize those who are critical of others.
Sounds weird to be assessing developers raised in the 1920s.
Does that give enough context?
I would hesitate to generalize across generations. I have worked with some excellent younger developers who can take direct criticism and some terrible older developers whose ego couldn't fit through a door.
I tend to be more direct with my criticism when someone "should know better" and gentler when it's a more advanced concept for them. I've found that works well for most people.
There is a difference between a) "I don't like $x about your idea." b) "I like $y about your idea. I think you could make it even better if you do $x differently. For example like this: ..."
In my experience, older generations tend to do a) more, while younger ones do (and expect) b) more. Not a bad development IMO.
Don't get me wrong, I'm all for tact! I'm also all for explicitly stating your opinion as an opinion, which often has the effect of softening things in the way you suggest, but even that should not get in the way of actual, valid, useful criticism that isn't excessively hostile.
We baby kids (and ourselves) far too much. Everyone gets an award, everyone is a winner, no one is necessarily wrong. It's crap, absolute crap, and this kind of universal communicative pacifism is a symptom. It harms our expression by limiting it.
It also depends who is giving the criticism. Someone who has no place to be harsh shouldn't be harsh. There are plenty of ways of saying "this is beyond wrong" in a calm, fact-driven manner[2].
1) my Dad was fond of the phrase "amazed and appalled". He was amazed we thought of doing it, and appalled we actually did
2) mentors: ignorance is your problem, stupid is something else
The only recent trend that has diminished this site is actually this very submission, and the related self-righteous comments that appear in virtually every story now (one single fresh account drops a negative comment and the whole discussion gets sidetracked into how disappointed someone is in the community, so now everyone has to stay inside for recess. It is incredible how many "why all the negativity" comments appear in discussions with little to no actual negativity).
Meta is the curse of all communities, and HN is currently mired in a lot of meta.
The longer form version of this - http://dennisforbes.ca/index.php/2013/06/02/hacker-news-isnt...
^ Posts like those? :D
The silent reasonable majority (that is less inclined to comment or even vote) needs a way to help curate when things get unbalanced. Think about how you might not end up actually clicking upvote on a comment that is reasonable and that you agree with but how you most definitely would downvote the snide negative comments that top HN comments sections all too frequently.
So is the problem that the people with the power don't exercise it, or that people don't upvote the reasonable comments in a sufficient ratio to push the bad comments down?
Meta-HN is not my favourite topic but perhaps it's time we had a review to account for how the community has changed since the last one.
And, to be honest, sometimes they really do know best. When it comes down to it, it isn't about being right or wrong. If someone makes an OSS project, or a post, or anything, and you don't agree with it (or they are flat out wrong), just don't be a dick about it. No one knows everything and we're all just trying to do our best and get better.
But I have often felt that there is confusion in some circles between being a dick and providing accurate feedback without "sugar coating" (something which a lot of people claim to provide/enjoy receiving). So I am not sure what can be done here.
So, I can't speak for everyone but it's fairly rare that I down-vote a post that appears to have been written in good faith (even so-called "middlebrow dismissals").
I would imagine (or, indeed hope) that most users with the ability to down-vote are fairly conservative with it. It's important to keep flame bait and trolling comments off of HN, but I'm less sure where to draw the line WRT comments whose content I find uninteresting.
Now I see: "you can't... " , "you don't..", "don't try...".
Mostly titles that sound like coming out of mouth of some extortionist.
If you couldn't impress developers we'd never switch to new technologies. And yet here we are, with rack and sinatra and cucumber and node and clojure.
The criticisms just aren't interesting.
It's disappointing to open a discussion thread and have the top couple of comments be some negative nitpick of something that's shallow or irrelevant.
Next time you're about to post, ask yourself if it's the most interesting thing you could say about the topic. If it's not, why not think for a moment and then post what is most interesting?
Rack, for instance, isn't really that much different from CGI, FastCGI, SCGI, NSAPI, ISAPI, Apache modules, and so forth. It's just one more way of invoking custom code to handle an HTTP request. This is something we've been doing for many years now, and it really isn't "new".
The same goes for Sinatra. I remember seeing Perl and Tcl code in the 1990s that essentially did the same thing. It's pretty much the most basic and obvious way of handling such a situation.
Cucumber reminds me of some internal software I dealt with at one firm back in the 1980s. Business analysts would write English-like acceptance tests, then feed them to a program that would generate PL/I code that'd automatically test different aspects of an accounting system.
Clojure is perhaps the worst of the examples. It's merely a dialect of a programming language that's over 50 years old. Many of us first worked with Lisp decades ago. Even targeting the JVM doesn't make it special, given that the Java platform has been publicly available for almost 20 years, and was targeted by non-Java languages well before Clojure attempted it.
While the implementations may be new, the ideas surely aren't. Having worked with equivalent technologies in the past, sometimes decades ago, many of us here just don't find them interesting or special in any way.
Can you explain how my last comment was "condescending"?
It's not "condescending" to express an idea that differs from that of somebody else.
It's not "condescending" to disagree with a claim made by somebody else.
It's not "condescending" to give examples why a claim somebody else made may not be true.
The commenter I replied to suggested that certain technologies were "new". I disagreed, and provided reasons why I don't consider them new, based on other technologies that I, and very likely others here, have used in the past.
If you wish to discuss those technologies and their novelty, I'd welcome such discussion. If you disagree with my claims, that's fine.
I'm just not certain how you accusing me of being "condescending", without even giving any evidence to back up this claim, is productive.
The comments are condescending because you imply that there is no difference between them and the technologies you listed. In reality, most advances are made incrementally, and if one wants to make such an advance then one often needs to reimplement some, or all, aspects of what has been done before.
"What" a tool does is often irrelevant. Often advances occur in "How". And "How" is often either hard to communicate, not desirable to communicate (I.e. for competitive advantage), or not particularly interesting, but vitally important.
Indeed, often existing technologies need to be trimmed back to provide a more useful subset - asm.js comes to mind.
However, obviously the person you replied to was using those as _examples_. Your reply completely missed the point he was trying to make that new things, I.e. things that are not the same as other things, are used by people regardless of how similar they may be to other things.
I've started down-voting these types of posts.
His comment is a new branch in the comment tree. If you find this branch uninteresting you're free to not follow it. Sometimes some really interesting conversations appear a few branches deep in the comment trees that are completely off-topic.
I know where you're coming from and I've seen people use that "middlebrow dismissal" tactic you've described when passionately debating. I totally don't think that was PommeDeTerre's intent. It looked to me that he just believed that the examples akkartik were bad enough to warrant pointing out. He didn't attempt to tie that into completely dismissing akkartik whole comment.
And for the record, I don't agree with PommeDeTerre's comment at all because I think he missed the point akkatrik was making when he listed his examples.
But that's my point. It's happening right now in this thread. :-)
All the technologies you cited are AWESOME. And I would be screwed if they weren't.
Everyday I have to thank all the wonderful minds that bothered to come up with easier and more elegant solutions to problems that made me pull my hair out on the past.
To say they are more of the same is untrue and very mean.
---
What's the difference between 'programming language' and 'dialect'? 'Supports macros' or 'uses parens in surface syntax' doesn't feel like enough reason to label Clojure a dialect. Supersets of specs are closer to 'dialects', like ISO C and gcc C, or Kawa scheme and guile. Racket seems to add enough extra feature that programmers are quite likely to leave base scheme in any program, so it doesn't feel like a dialect either.
---
(Parenthetically, since I'd rather discuss the original argument: I mildly agree with my sibling comment by thedanfilter: arguing about definitions doesn't feel like the most interesting conversation to have here. It feels nitpicky; you didn't actually ever comment on my original argument itself: that large-scale habits reveal developers aren't hard to impress. Do you disagree with it, or just with the examples I chose?
However, gravitating toward words like 'condescending' just adds more heat than light. Avoiding introducing incendiary distractions is hard; I'm not sure I'm succeeding in this comment. But comments here would be improved if we all tried harder not to take the bait. Maybe we should all try to skip past the first three comments we feel the urge to respond to every morning, or something.)
That said, it is possible to go overboard and criticize something based on irrational hatred. At that point, you're just talking about trolls: it has nothing to do with developers not appreciating each others' work. Internet trolls have existed since the dawn of the internet, and there are plenty of resources on how to deal with them.
How you communicate your criticism is also important: there is no need to be overtly negative. Just point out what's wrong, and how to correct it; your job is done. Here's a recent instance where I've been overtly negative: the correct response is criticism of my style, as Junio has done [1].
[1]: http://thread.gmane.org/gmane.comp.version-control.git/22535...
Rather than fact-based technical articles, useful new tools, and cool side projects there are a lot of crappy articles repeating the same things we've heard thousands of times about productivity, standing desks, work/life balance, meditation. The articles rarely present anything new, they are mostly anecdotes presented as fact.
I still find great things on HN and participate in interesting discussions but sometimes when I look at the front page it seems more like a site for people interested in self-help guides.
How many programmers does it take to screw in a light bulb?
Five. One to screw in the light bulb and four to say, "I could have done that."
Fun read!
How many Prolog programmers does it take to change a light bulb?
False.
NaN.
?none. it's a hardware problem.
How many electrical engineers does it take to screw in a lightbulb? None. It'll be fixed in a driver patch.
We created X, and here's the successful, maintainable, real world product we used to implement it called Y
than:
We created X, here's a 10 line incomplete demo that isn't really useful for anything and that we didn't explain well
And you are saying HNers are the ones with negative attitudes?
I want to say it's the nature of the game but that's simply not true, we take pride in being assholes. For Brython, while I was appreciated the amount of work and the complexity that went into it, I was unimpressed by the methodology.
I think this reasoning is fairly sound and possibly hints that HN may be less unfriendly than the comments alone make out.
Anonymity tends to make criticism easier to lob around. I'm in academia and even super-critical reviews tend to be prefaced by apologetic "good points" before the submission gets eviscerated; even then a good reviewer will give constructive feedback. I wonder if we could borrow this approach to commenting to improve the atmosphere?
Edit: Added quotation marks.
I didn't upvote, I didn't downvote, and I didn't comment though.
Maybe the lesson is "if you don't have something nice[1] to say, don't say it at all".
[1] or meaningfully constructive, at least
- Huge projects which are still understandable within minutes,
- Products which handle special cases, which in turn amaze its users (when the dev has managed to get beyond her own use cases),
- and devs who write more elegant code than me (clever use of patterns, readability, yadayada).
It's easy to sniff at another dev's code, since nobody's perfect, and code is often a compromise of a conflict of various factors (and each conflict can be solved in various ways). But, this loop which has a workaround for a off-by-one error which is caused elsewhere - has likely been written under time pressure, and I might someday make the same mistake. I think it all boils down to dev compassion.
In my opinion, we should compare other people's work to our own work. If we compare against the work of the very best then 99.9% of things will fall short of what they should have been.
I think someone's work needs to evaluated on their own merit, or with one's own work, vs. some other genius's work.
In regards to devs, I am a hacker (my criminal record proves it), but you'll always come across people who are ignorant in what they know and unwilling to be open to change or something they didn't have a hand in.
ALL OF US as coders need to be open to new libraries, code bases, languages, and always willing to learn, but I think it's inherited with our skills that we look for holes, errors, and other ways to optimize...to the point that it comes off as an attack instead of criticism.
If you link on HN, EXPECT criticism (constructive hopefully), and just ignore the ignorant trolls. A real coder knows how to give supportive criticism, and credit where credit is due....Not sure if this validates my opinion, but I'm easily impressed though :)
A year of keeping up with HN has been a crash course on how to build things for the internet. I don't know what my stack would look like without all the unimpressed developers picking apart the industry news. Keep it up.
Stop! Don't tell people not to try. There's always going to be the vocal peanut gallery at HN (and anywhere online) that will do whatever they can to disparage projects.
But, this doesn't make up the majority of people reading. There are millions of developers, hackers, designers, builders reading and benefiting from the projects, code, and products that people post. These are the people who get inspired or utilize the projects and blog posts about that cool new thing you made in node.js, or the neat hack you did with Ruby and realtime sockets, or that awesome new CSS technique.
The minute we stop showing the things we make, the trolls win.
So I say: TRY! Keep trying! Keep pushing out things that you made. Ignore the trolls and focus on the constructive feedback.
HN is a beautiful thing, and it had a huge hand in pushing me to start a startup. And, yes, it was a developer product. If I didn't try, it wouldn't have existed.
I went to a mountain Bike trail competition, and watched the biggest masters in the world in this. Everybody there knew how to balance over the rear wheel(manuals), over the front(endos) and jump over a meter hight any obstacle, more than 3 meters with a ramp.
There it was a kid, 16 years old or so. He was not as good as the much older guys, but all of them were impressed about the guy. They knew that guy was good just looking at him.
If you want to impress devs you have to be better than them, and this is very hard on technical matters.
But you don't need to, because what makes a good product is not tech alone, but how this tech applies to human beings. Things like design or human interface, or understanding the market or people are also essential.
Quite often the tech experts are totally ignorant in those areas(no wireless, less space than a nomad.lame)
http://baus.net/posts/you-cant-impress-developers/
(its not a cache, but i'll say cached here for those searching the comments for a link to the google cache)
Starting like this, what did you expect? Boring mannered small talk?
[1]: http://i.imgur.com/22emWiZ.png
[2]: http://od-eon.com/blogs/stefan/improving-the-font-rendering-...
- http://bellard.org/jslinux/ - Google: impressed from the engineering and scale side. - Demo scene - Exploiting difficult security vulnerabilities
In the early days it's a wonderful community of supportive collaborators. These are the people who start unmoderated mail lists and discussion groups, at least the ones that grow to the next stage.
It attracts people who want to be part of an unmoderated mail list or discussion group. It doesn't matter what the topic is, they always show up. They feel a sense of empowerment. They have arrived at the place where decisions are made, and they have an equal voice! They will express themselves.
Then it becomes about governance. How will we make decisions (even though the decisions are about nothing).
Then even those people leave, because the atmosphere is so poisoned by the negative people who say they hate everything and anything.
The good folk who started the community are long-gone, probably dreaming about new communities where everyone gets along and is supportive and has good ideas and doesn't get in anyone's way! Only to do it again, and again...
If you don't like Hacker News why don't you stop reading it, posting to it and pointing to it in your blog multiple times a week, glowingly when its in your favor and harshly when its not.
You seem to being continuing your long running tendency to eviscerate anyone or anything which criticizes you and make out like its "their" fault and not yours.
You are also reinforcing the perception among many that you want attention, even when it entails hacking people off to get it, like you are doing here.
Not sure I've actually seen much aimed at you on here that is "personal". Its mostly a lot of people frustrated with you for being the actual troll while accusing everyone else of being trolls.
As for people using aliases, I think you should have actually learned the value of them considering how much time you spend on the internet trolling. Its a really, really bad idea to troll under your real identity. Its why so many people are permanently irritated with you.
At this point I think I will stop trying to offer constructive criticism. Its becoming really obvious you are a pretty classic troll, and quite good at it too. You are mostly wasting everyone's time as only a good troll can.
I am mostly just getting tired of YOU trolling Hacker News, That is one hypocrisy I'm seeing, you complaining about trolls when you are the one doing it.
This thread just isn't productive or interesting any more. It seems to be mostly designed to get attention. Based on the posts of others you seem to have been trolling here for a while.
The other hypocrisy I'm seeing is you exploit Hacker News when it benefits you (i.e. to plug your product) and trash it when it doesn't gush praise of you, but that is normal for you.
Telling you my real identity would be silly since you are, most of the time, not a nice person to anyone who criticizes you.
How could anyone give you constructive criticism...
If we don't know who you are! :-)
That's a little constructive criticism back atcha. ;-)
it doesn't matter how much evidence you submit in support of your arguments, the "fact" that "you hate everything and anything" is all-purpose.
is dave one of those people? decide for yourself.
but i can assure you that the dynamics of community are far more complicated than "wonderful supportive collaborators" who get sabotaged by "dark trolls"...
-bowerbird
> what does it mean????????
decide for yourself, dave.
(by the way, one question-mark is quite enough to mark something as a question, i have found.)
*
also, "bowerbird" is my performance poetry name -- which i now use for all creative purposes -- so it's not some name that i am "hiding behind". i've signed all my posts on the web since 1995. and i'm still using the @aol address i had then.
if george orwell was coming here, would you want him to use "george orwell", or his "real" name?
how about mark twain? or beyonce's husband?
indeed, you can call me any time at 310.980.9202, if you want to confirm that i am "a real person", or discuss the specifics of anything i've posted.
-bowerbird
p.s. i also appear regularly on poetry stages here in los angeles, if you happen to be in town.
In fact, it's a sign of respect to give constructive criticism because the implied message is: I found your work interesting enough to spend time looking over it and thinking about; and I'm not going to treat you like a child who needs to be coddled, but rather like a peer who is capable of handling criticism.
Value in the $-sense, or in the emotional sense?
Why can't you give constructive criticism AND praise at the same time.
As for mixing praise and criticism, that is appropriate for certain situations; for example when dealing with a student with low self confidence. However there is a danger in praise which I outlined in my previous comment, it really doesn't accomplish much besides stroking a person's ego, and that can have unintended negative consequences for their long term development.
I'm not sure I want to manipulate the DOM in Python instead of JS/jQuery, but it could prove super cool to write web workers in Python for instance.
The more you can compute in the browser the better. The client is where CPU cycles go to die, we need to change that.
It's impressive from a technical standpoint, and that is in some ways enough.
But why the need to port everything to javascript? I don't use python for things I would write in javascript and unless you are prepared to port all the libraries (i.e. the thing that makes python so useful/fun/awesome) then why? I can just use JS. JS is a language with good enough features. I don't need a python that compiles/is intepreted in JS.
It's less that I am not impressed, and more that I think the effort is somewhat wasted. Of course I still respect the implementer.
For schools, Universities, etc, it means not having to worry about platform or installed software.
As most open source projects stall due to "more important things to do", it would probably be wise to offer these people as much encouragement as we can to better the chances that someone will complete one (and want to support it in the future).
Someone should research this. Every-single-time a nice little community starts expanding rapidly all the construction is gone and all we're left with is the destruction. Reddit and HN being the most recent examples I can think of. For a throw back: Anyone remember GameFAQs of 1998? Go check it now.
Now here's a cool startup idea. A ranking system that takes into account not only community upvotes, but an automated NLP assessment of the quality of writing. Useful for both the submitted posts/articles and for the comments.
What about non-native English speakers?
From the dozen Hack and Tells (http://hackandtell.org/) held around the world to the hundreds of stories developers have of their first time looking at ffmpeg's source to the growing number of live Javascript console demos (great one here: http://www.youtube.com/watch?v=jArKzo-h3R0) to Dan Kaminsky's DNS bug discovery - I feel developers are very clearly capable of being impressed. It is a pretty regular thing.
It is, I will say, a very, very hard thing to do. I encounter it each day in my gig serving developer communities at Twilio. I have to bring my best work to them every time I ask for their attention - anything less ends in derision or, even worse, dismissal. Developers are natural skeptics whose daily work's default state is broken. This engenders a very high velocity needed to escape that skepticism.
Further, while HN certainly qualifies as a representative set, it is a specific demo of developer. There is a wide swath of developers who don't participate in this forum - poor reception here rarely means poor reception everywhere developers live.
Finally, I would submit that if impressing developers is one's goal in a project, one is probably set up for disappointment from the start. Amazement is an extrinsic factor that makes a poor primary goal as many factors governing success lie outsides the code one writes or the product one is building.
I always feel happiest when I fix the problems I want to solve elegantly and those solutions are widely adopted by the people primarily suffering from those problems. Whatever people think outside that scope doesn't really affect that satisfaction.
I think the challenge in many companies is getting enough access to your users that you can tell if they are impressed or not.
I'm going to try to think this way more.
The python in javascript on the client side is a neat hack, but it's not solving any known problem for the mass of developers here. If this showed examples of performance and gained improvement over alternatives and it would sell better here. Right now though, it pushes the idea that javascript isn't good enough and we should be using something else in the browser (see DART, CoffeeScript, etc and related flame wars).
For example, you can find this behavior when someone posts something about problem X and there is a minor grammatical mistake or an opinion that is expressed in the post that is unconventional. The comments section will zero in on that and miss the big picture.
E.g. what does a master chef think about the dish by another master cook?
Does an architect respect the buildings of another?
What about painters, musicians or writers?
In movies for example, teams form for projects that last in total a couple of years, but for individuals, their work might just be a couple of months. I've often wished programming worked like that, at least commercial projects. I know a lot of programmers I'd like to try working with. But we don't do it that way.
Also, there is a sense of history in most of those activities that isn't present here. A young basketball player can tell you about all his role models, going back many generations. I've seen it (thinking of Iman Schumpert on the Knicks).
They listen to each others' music, eat each others' food, I'm sure there's a lot of pettiness to the discourse, but in software, it's not uncommon for people to compete with products they've never even tried. I can see that in competitive products!
I think it will eventually get better. It is getting better over time. When I was starting the idea of an individual creating software was VERY radical, and there wasn't much support for it. Until I came to Calif, and met other people who believed in the idea. Nowadays, they make movies about people doing that. I would have told you 30 years ago that day would come, and people really didn't believe it. Esp programmers. :-)
So it is getting better. I just wish it would get there faster.
At the end, I thought it was a really awesome idea, but didn't comment -- I guess I should have, and this blog post makes me feel kind of guilty.
I've learned my lesson -- If you like something here, or even think it's remotely interesting, say so.
That being said, I don't care much for "show off" posts like "Look everyone, I made a functional web server in Brainfuck!". If you're trying to impress other developers, it is certain that you won't. It is not a worthy goal in itself.
"Do you create anything, or just criticize others work and belittle their motivations?"
And remember - don't be self-effacing.
It's not about admitting genius. It's about recognizing effort and proactivity.
It's about stimulating good behavior. It's not about who's more badass.
Many Developer think that they are the best developer in the world and this kind of people dont honor others work.
Since i use github, i see that not everybody think like you do (in the past i agree with your statement).
someone have a mirror please ?
Offering a critique doesn't have to be fake smiles, nor does it have to be slagging off. People can ignore posts. Or people can offer calm advice about why something is suboptimal.