Primal Rage: a conversation with Carmack, and a look at id's latest - <AUTHOR> http://arstechnica.com/gaming/news/2010/11/post-8.ars/ <comment><USER2> I've been following Carmack since Wolf3D. It's always a pleasure to see what he's doing next.

<comment><USER3> Same here. His .plan updates were always very opinionated and interesting. I'm happy he is now somewhat active on twitter (@ID_AA_Carmack).

</comment></comment><comment><USER4> It doesn't bode well for Android when John Carmack is concerned with support issues for the platform.

</comment><comment><USER5> Interesting that he's warming to the console model that iOS derived from PS and Xbox.

It sounds like there's a space for something like Steamworks to exist on Android--this is one area where fragmentation isn't just a vacant slur.</comment>


Google+ or Google-?: Active users represent 10.3% of the whole population - <AUTHOR> http://arxiv.org/abs/1205.5662

<comment><USER2> How does that compare with Twitter? I think Google+ is a lot more like Twitter than it is like Facebook, because of its "asymmetric relationships" between the users.</comment>


The penultimate guide to stopping a DDoS attack – A new approach - <AUTHOR> http://blog.unixy.net/2010/08/the-penultimate-guide-to-stopping-a-ddos-attack-a-new-approach/

<comment><USER3> This is roughly the same approach used by the DDoS mitigation services; you run your servers on an unpublished address and front it on their address space.

I like that they've got the ghetto version of the technique documented. Better that you should rig this up on a couple VM hosting providers for a few hundred bucks than that you spend tens of thousands of dollars to get the same level of service from someone with slick marketing.

The obvious problem here is that it's hard to keep a determined attacker from finding your real address space, and as soon as that happens, you're done; attackers just skip the DNS and whack you directly.

This is a useful trick, but it's not the end of the story.

<comment><USER4> I'm interested in how you think an attacker would find your address - <USER2> least, presuming you have a web-only [1] host on a competently-run [2] network that drops anything but requests from the proxies [3].

Of course, there are (D)DoS attacks that don't consist of sending lots of bits/packets at a host, and this does assume you're hiring a dedicated server or somesuch.

Of course, they could try to sniff network traffic at one of the providers/on the backbone/..., but that's a _lot_ harder to carry out than a basic DDoS attack.

[1] E.g. don't try to receive e-mail at this host while it's being attacked; you'll need to point an MX record at it, which pretty much defeats the purpose. [2] IP spoofing will break the next defense; if the entire provider can be taken down, you have serious problems. [3] If you accept all traffic, nmap/curl will easily find the host, after which the attack resumes. For bonus points, serve up an uninteresting-looking page.

</comment></comment><comment><USER5> I hate to be pedantic, but "penultimate" means "second last", which doesn't seem to be the intended use here.

<comment><USER6> I thought that seemed awkward. What do you think they intend to mean?

<comment><USER5> My guess is "ultimate". Admittedly, "penultimate" is a cooler-sounding word.

<comment><USER7> All words are cool if you don't know what they mean. If the reader knows what it means but the writer doesn't, the effects are less predictable and desirable.

<comment><USER5> I disagree. I don't know what "venial" means, but I don't think it sounds as cool as "penultimate" :-)

<comment><USER8> well not knowing what venial means is venial after all.

<comment><USER5> I'd upvote you, but then you'd know I was lying (which isn't as venial).

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> Something missing from the cost calculation in this article is the cost of bandwidth used for each VM. The VM itself may be low cost but at 100Mbps you will use about 1TB of bandwidth a day. You would need to select your VM provider with that in mind. A sustained attack could end up being fairly expensive.

<comment><USER3> A good point, but I think part of the implied logic here is that if your defenses work, attackers will give up early.

<comment><USER10> Why would an attacker give up? The site may stay online but you are still having to pay thousands of dollars+ in bandwidth costs. It seems like a win- win for the attacker.

<comment><USER3> Because they can't see a site paying thousands of dollars, and they can see a site going down, and they're going to invest their attention in things they can see.

If they were thinking rationally about what they were doing, they'd (a) be demanding money to let up, and (b) breezing right past DNS-based defenses like this.

</comment></comment></comment></comment><comment><USER11> " Just be sure to set high TTL for the records so your DNS server does not collapse under the enormous volume."

The attacker, noticing your round-robin approach, decides to drop the DNS server and then only has one host to deal with.

There are a lot of weak points that can be attacked. Certain sites will have features that can be taken advantage of. If you have a long timeout/keepalive, the attacker could launch lots of quick requests with no proper tear-down. If you have a zillion servers setup like this - perhaps they can take out a major link before the traffic even gets to you.

I also don't think this is a new approach - unfortunately it is much harder to stop attacks than to create various approaches. The number of compromised machines is just too high - that is the ultimate solution.

<comment><USER3> Are people actually seeing their DNS servers collapse under load? DNS servers --- even BIND, which, don't use BIND --- are very, very fast.

<comment><USER12> Compared to HTTP DNS is crazy cheap to serve, but you'll still end up bottlenecking on the pps rate of your NIC and OS. Everybody optimizes for high throughput and ignores small packets.

Speaking of DNS DDoS, DNS Made Easy saw a 40Gbit DNS DDoS a few weeks back.

</comment></comment></comment><comment><USER13> Trying to categorize all DDoS together is nonsense. The scale and type of the attack depend on the attacker's means and motivations. How would unixy.net have blocked the following attack? [http://www.csoonline.com/article/220336/how-a-bookmaker- and-...](http://www.csoonline.com/article/220336/how-a-bookmaker-and-a-whiz- kid-took-on-a-ddos-based-online-extortion-attack)

DDoS attacks make the most sense for the attacker when they are an extortion attempt. The economics works in favor of the attacker. It costs the site dearly to be down, and they set a price that makes sense based on your site. Unfortunately, you may not hear about a lot of these attacks, and the attacker is never found or can't be arrested.

unixy.net sells DDoS insurance. You never know if the insurance policy was worth the monthly payments until an attack happens.

Note: I've never used unixy.net and can't speak to their effectiveness, but I don't like how they grossly oversimplify a complex problem

<comment><USER14> unixy.net doesn't sell DDoS insurance. They're not in the DDoS business at all. Check their portal.

Best

</comment></comment><comment><USER15> I do find it ironic for a hosting company to post that their DDoS strategy is to offload the load on other hosting companies.

They're talking about $5-10/month VPSes and want them to handle 100Mbps each? Sure those providers love that traffic.

<comment><USER4> Meh, if the traffic only lasts a couple of hours before the attacker gives up, the VPS provider could still make a tidy profit - it's not like the VPS would do much for the rest of the month...

</comment></comment><comment><USER16> Using a CDN service with ESI support handling all external hits can be even better.

</comment><comment><USER17> The second-to-last guide? What's the last one?

</comment><comment><USER18> _"The individual or groups that conduct the DDoS attacks are most of the time hired to complete the job."_

Purely out of curiosity, how do people go about finding such nefarious characters?

<comment><USER19> The answer was in the article.

<comment><USER18> Dang it, thanks. Will have to read more closely after work.

</comment></comment></comment><comment><USER20> The sysctl.conf settings are bad.. like never ran a high end server bad. 1. tcp syncookies slows down connections considerably 2. rp_filter takes up a large amount of cpu time. 3. kernel.pid_max net.ipv4.ip_local_port_range is useless. Also this doesn't stop a DDOS attack, it mitigates it by having a bigger pipe than the bad guy. A _real_ way to mitigate attacks is to 1. identify an attack based on history 2. make damn sure it's an attack 3. 'tarpiting' attacks (xtables-addons for linux). Tarpiting keeps connections in an open state on the client side thus eventually crashing the client.

<comment><USER4> This advice is _very_ bad. Yes, I'm certain you can make a server go faster by disabling some security features, but without syncookies you're one SYN flood away from a painful crash.

Your "mitigation" is also useless - yes, tarpitting for antispam purposes can work, but a specialized DDoS tool likely uses raw socket access (i.e. the OS doesn't keep track of the connections). If you can't take the number of bits/packets thrown at you, you _will_ be unreachable. And even if not - we're still talking about 10,000 machines talking to your one server. The bad guys have a _lot_ more memory.

<comment><USER20> Security features? I will bet no _give_ you a large sum of cash if you can show me that a server under a large pps DDOS survives with rp_filter and syncookies on with iptables on and without any crazy tcp modifications. In the real world there are no "specialized DDOS tools" most viruses are simple. EDIT: Why would you use a single server? Why on gods earth would you track tarpitted connections?</comment></comment></comment>


Read Houdini's books via Google Books and Library of Congress - <AUTHOR> http://www.boingboing.net/2010/01/29/read-houdinis-books.html

<comment><USER2> I was expecting them to be free, but when I click on "the right way to do wrong", a Google books site comes up that only seems to have links to place where one could buy it.

Maybe I don't understand how Google books work?</comment>


Podcasts? - <AUTHOR>

This has likely been asked before but can anyone recommend some podcasts in the programming/startups area? I've got a long drive ahead of me and would like some good listening material. <comment><USER2> Founders Talk: <http://5by5.tv/founderstalk>

Stack Exchange Podcast: <http://blog.stackoverflow.com/category/podcasts/>

Build & Analyze: <http://5by5.tv/buildanalyze/>

The Ruby Show: <http://rubyshow.com/>

The JavaScript Show: <http://javascriptshow.com/>

</comment><comment><USER3> My favorites are TechZing and Mixergy.

<comment><AUTHOR> Thanks for the suggestion -- didn't think about looking at Mixergy.

<comment><USER4> It's nice that you download the mp3 or watch the video.

The recent interview with Derek Sivers is particularly good.

</comment></comment></comment><comment><USER5> NodeUp <http://nodeup.com>

</comment><comment><USER6> the big web show

the dev show

the changelog

the pipeline

gitcasts

vimcasts

linux outlaws

\-----

start cooking video

everyday drinkers

tedTALKS</comment>


BBC NEWS | Business | Fakes are 'worth at least $200bn' - <AUTHOR> http://news.bbc.co.uk/2/hi/business/6720101.stm <comment><USER2> All the more reason to have a web service.</comment>


Apple.com down, incl. their system status page - <AUTHOR> https://www.apple.com/support/systemstatus/

<comment><USER2> Don't post "X is down" messages. Shortly you will be wrong, as is true in this case.

<comment><AUTHOR> Yes, I considered that, but it's been over 30 mins down (and still is for me from the East Coast). Anyway, this made me think that a service status page should perhaps be on a different subdomain handled by different DNS...

<comment><USER2> Regardless, my hacker opinion is that HN is not the place for this sort of posting. [http://www.downforeveryoneorjustme.com/](http://www.downforeveryoneorjustme.com/) is useful for this sort of thing.

</comment></comment></comment><comment><USER3> It's up for me…

</comment><comment><USER4> Not down.</comment>


Oxford Medical model says defeating covid19 requires digital contact tracing app - <AUTHOR> 'we need a fast and effective mobile app for alerting people who have been exposed. Our mathematical modelling suggests that traditional public health contact tracing methods are too slow to keep up with this virus.'
'Our mathematical modelling suggests that traditional public health contact tracing methods are too slow to keep up with this virus.'
'Our research of early data from other countries shows that patient histories are incomplete - we don't know the details of the person we sat next to on the bus. We need an instantaneous and anonymous digital solution to confirm our person-to-person contact history.'
here is the announcement - http://www.ox.ac.uk/news/2020-03-17-infectious-disease-experts-provide-evidence-coronavirus-mobile-app-instant-contact
Here is the proposal - https://045.medsci.ox.ac.uk/mobile-app
Couldn't FB and Goog. just do this with a switch? I understand the privacy implications, but their model says we can't do this effectively without it. We know S. Korea has this and that it helps prevent the need for full lockdowns. How could we make this work? <comment><USER2> The Government Digital Services of Singapore developed a Contact Tracing protocol using Bluetooth called "BlueTrace." The protocol is what supports their TraceTogether app. They are working to open source the technology now and are set to publish it soon.

[https://bluetrace.io/](https://bluetrace.io/)

</comment><comment><USER3> Cf the 'Alipay Health Code' now in use in China

"Green code, travel freely. Red or yellow, report immediately."

[https://www.nytimes.com/2020/03/01/business/china- coronaviru...](https://www.nytimes.com/2020/03/01/business/china-coronavirus- surveillance.html)

</comment><comment><USER4> [https://www.ynet.co.il/articles/0,7340,L-5697672,00.html](https://www.ynet.co.il/articles/0,7340,L-5697672,00.html)

</comment><comment><USER5> GeoLocal contact tracing - Walk a bipartite graph - one set of nodes formed from mobile phone (or App) unique identifiers, the other set of nodes formed from location/time identifiers - such as IP addresses + day, or lat/lon + day. It won't give you who sat next to who on the bus, but it's better than nothing.</comment>


G1 Garbage Collection JVM7 - Big Performance Problems Shown - <AUTHOR> http://nerds-central.blogspot.com/2011/11/comparing-java-7-garbage-collectors.html <comment><USER2> "a realtime system must have a deterministic time to complete a task".

Incorrect, a realtime system must only have execution times below a certain threshold. malloc/free is just as non-deterministic as GC allocated memory (in practical systems). If you put effort into it you can make malloc/free do really stupid things too. If I wrote a program that allocated and freed the right size strings the program would eventually crash.

With any sort of modern CPU it would be almost impossible to produce non- trivial programs with deterministic execution times. I'd hazard a guess that there are very few 'realtime' programs that couldn't be written using the JVM. If you can do HFT on the JVM it's realtime enough.

To make systems with deterministic execution times you'd have to start looking at extremely limited processors that lack RAM (or have really exotic ram that doesn't refresh), as well as removing other resources that are essential to building software the modern way.

All this proves is that for this particular problem the JVM is probably unsuitable for a realtime system. The fortunate thing is that I don't think any real time program actually needs to allocate strings in this manner.

In all seriousness most of the reason that the JVM is not used on realtime systems is because there aren't very many cheap CPUs capable of executing java byte code that are certified for operation in the harsh environments that a lot of realtime systems operate in. My friend builds realtime systems and he codes in C because that's the only compiler available for the CPU.

He'd start using Netduino in a heartbeat if it could survive being next to an electric generator inside the Hoover dam.

<comment><USER3> Slightly off topic, but do you have particular information about JVM being used in HFT environment?

<comment><USER2> <http://martinfowler.com/articles/lmax.html?t=1319912579>

This is actually a trading platform but if you can run the exchange on the JVM you could certainly write a client for it on the JVM.

Also: <http://www.quantfinancejobs.com/jobs/java.asp>

<comment><USER3> I had seen that, but Martin Fowler is not whom I would have thought of as deeply familiar with low latency and JVM performance under stress.

I will be looking into that platform, but I see one caution flag: _LMAX is a new retail financial trading platform. As a result it has to process many trades with low latency._ the key word being "retail". I am wondering if retail's version of low latency is in seconds or tens of seconds.

<comment><USER4> > I am wondering if retail's version of low latency is in seconds or tens of > seconds.

I think you're off by an order of magnitude or two.

Our fund doesn't really worry too much about execution speed and we'd only tolerate low 100 millisecond latency. 10's of milliseconds is what we'd prefer.

Many firms want to be lower still.

<comment><USER3> Thanks for the note.

Couple of questions.

1) Do you consider yourself retail? I would have not considered a hedge fund retail.

2) Can you say if you are colocating your servers?

3) Can you say if you are using JVM in a latency-critical application?

I am working on a benchmark, building a fake exchange framework as a platform to test relative performance of various languages, where various includes Lisp, C, Java and possibly others.

<comment><USER4> > 1) Do you consider yourself retail? I would have not considered a hedge fund > retail.

Yes fair point. That terminology isn't really well defined. You are correct that typical retail means individuals and institutional means large funds (read professionals).

Banks will often count hedgies as retail clients which is where the terminology gets blurry.

But if you mean non professional individuals then your point a bout latency is probably correct.

> 2) Can you say if you are colocating your servers?

We don't typically, but we don't live far from the exchanges. We also aren't super low latency. I honestly think that super low latency is a loosing proposition as there is usually only one person who can jump on an arbitrage opportunity.

Having said that we do have one server executing algos that is collocated.

> 3) Can you say if you are using JVM in a latency-critical application?

I can and we aren't though, it's not because of the jvm itself.

</comment></comment></comment></comment></comment></comment></comment><comment><USER3> Having done some hard-core real-time programming in the past, and currently thinking about a low-latency benchmark between languages, I am not sure that this sort of test is useful in a real-time environment. Also, using a garbage- collected language in a real-time environment would require some extra care.

One of the things to consider in engineering a real-time environment is what is the central data-flow load of the system. For example, in a medical data- acquisition environment, allocating an object for each tick would not likely be wise. In fact, use of malloc might not be called for, statically allocating buffers being a better avenue.

In the case of a low-latency financial trading system written in a garbage- collected language, it might be prudent to allocate all the objects before 0830 (if that is when trading starts) and free them after the market close.

There is a wide range of real-time response requirements (for financial exchanges, response times of less than a hundred of milliseconds (eg, 395 from BATS) for full turnaround are expected). Electrocardiogram data needs to be sampled once each millisecond, but the jitter in sampling times needs to be low.

Looks like some good tools there, but without the engineering context it is hard to draw a useful conclusion.

<comment><AUTHOR> Totally agree. My original aim was to use an idea I had about the way the garbage collector synchronises in the Oracle JVM to give 'windows' of determinism. So I set about making a program to push the gc really hard so I could see if my idea worked. But I have not gotten as far as the original aim yet because I found this interesting stuff about the G1 collector.

As for your points about realtime - I am completely with you. I had in my mind that one might have a realtime system on the rtjvm or in c++ which needed to periodically communicate with a standard JVM. There are three approaches I could see for this. One, would be to send messages and decouple that way. Another is to make the communication abort if it looked like it might cause a deadline miss. The third was to briefly (milliseconds) disable the gc in the standard JVM so the communication could occur and then turn it back on again immediately afterwards.

Now - that sounds like a really bad idea and it probably is - but it is an interesting idea to play with.

So - please don't thing I am proposing realtime programming on the standard JVM, just some ideas for larger systems integration.

<comment><USER3> So my prime hobby is ham radio, and my prime mode is morse code. These days, we mostly connect computers to the radio to do logging and morse code keying (done through the LPT port). One popular program runs under windows. The big boys use another program that runs under DOS, and lately FreeDOS as a replacement. Running under windows, there is an annoying hesitation once every word or so that is due to whatever is going on in windows.

The solution, provided by the maker of the above-mentioned windows software is an external keying module. With this arrangement, windows sends characters to the hardware brick, which, latency-free, sends out the characters quite nicely. (Amazing how the trained morse-code ear can distinguish ms delays in character starts.)

Personally, I now think that way where a system has a component that is latency rich connected to a component that is latency-free. This of course has implications to the overall solution.

</comment></comment></comment><comment><USER5> A microbenchmark like this is not very conclusive. The G1 collector is designed to handle the heap fragmentation problem and thus reduce the maximum pause time due to stop-the-world GC. It's not designed for maximum throughput.

Each GC algorithm has its worst-case behavior; saying "avoid at all costs" because of a single scenario is not very helpful.

Also, what were the JVM flags for each test? All I can see in these graphs is the bump at the beginning before the heap has sized to a stable level.

<comment><AUTHOR> I hope that the article does not imply that it is conclusive but rather that it is cause for concern. The flags were only those required to set the garbage collector - everything else is default. If you want to try other settings, the code is there to use :)

<comment><USER6> I don't know why I would ever judge the performance of non-tuned GC for any collector especially when the app is one designed to make life hard for the collector? There is no useful conclusion you can draw from this test.

</comment></comment></comment><comment><USER7> Your graphs make it very hard to compare the performance of the different collectors. What about putting all of them in the same plot, making that logarithmic, and include cumulative time (on a separate linear axis)?

<comment><AUTHOR> OK - I'll see if I can get time.

</comment></comment><comment><USER8> The G1 Garbage collector isn't certified for realtime operation. If you want a Java VM that's certified for HARD realtime, you can check out IBM's latest real time GC policy that I believe came out with IBM's Java 7.

<comment><AUTHOR> I know - I think the post makes that clear. I explained the purpose of the whole thing an earlier reply. But Oracle and IBM have realtime implementations of the JVM I believe, though I am more familiar with the Oracle one.

</comment></comment><comment><USER9> G1 is still under active development, but even with ideal implementation it wouldn't shine best performance

Reason 1. G1 is using SATB write barrier which is more expensive than crad marking barrier other HotSpot's collectors are using

Reason 2. G1 have to use STW pause to move object around. E.g. if your heap is fulled in half we life objects, you have to physically move 1MiB live data in memory to reclaim 1MiB of free space, cleaning sparse regions first will effectively reduce this proportion but G1 is still have to work very hard to reclaim each meg of free space

If you need low pause GC in JVM today. use concurrent mark sweep <http://java.dzone.com/articles/how-tame-java-gc-pauses> [http://aragozin.blogspot.com/2011/07/gc-check-list-for- data-...](http://aragozin.blogspot.com/2011/07/gc-check-list-for-data-grid- nodes.html)

</comment><comment><USER10> Your test is only one very specific scenario. I'm not a GC expert, but on EtherPad, which was a very complex monolithic JVM app, we had to turn to concurrent GC as the default GC just choked with any settings. If you haven't seen much difference between GC settings in the past, have you actually worked on realistic systems that strain the JVM GC, versus your contrived one?

I don't know the semantics of "real-time" (argued in other comments), but if you are coming from that angle, maybe you are looking for guarantees -- it seems like there ought to be a way to write GC so that it just works no matter what you throw at it, and it seems like G1 is not that.</comment>


Permanently disabling Windows 10's built-in virus scanner is no longer an option - <AUTHOR> https://www.pcgamer.com/permanently-disabling-windows-10s-built-in-virus-scanner-is-no-longer-an-option/ <comment><AUTHOR> Can you turn off Apple's "XProtect" feature? I don't think so.</comment>


Why You Can't Trust Recuiters - <AUTHOR> http://www.lessonsoffailure.com/developers/trust-recuiters/ <comment><USER2> This is a really bad article. There are so many ways recruiters add value.

1) If you apply to places like Goldman Sachs off the street, chances are your resume is not going to even get a look. Of course, if you know somebody on the inside, that's the best way to get in, but if you don't? Going through a recruiter who has a good relationship with a client is the next best way to get in.

2) A good recruiter will teach you how to write a resume. Yes, some unethical recruiters will tell you to write things you never did, etc.. but a good recruiter will tell you HOW to write it the right way, so HR people don't look it over. Sometimes as a developer, you never know..

I've had friends who got phone calls from HR: "It says here you're a PHP expert, but do you know HTML? HTML is a requirement for this job." My friend didn't put HTML on his resume because he assumed anyone would know PHP implies HTML. But not to HR people, who are generally clueless.. a good recruiter will teach you that.

3) A good recruiter will teach you how to behave at the interview and what to/what not to say. Again, not talking about lying. It's things like asking a lot of questions, displaying enthusiasm, what to answer to "How much money you want?" (hint: the correct answer is "Look, I'm very excited for this job and it looks like it's a great fit.. I'm sure you'll treat me fairly, so I'm open to hear what you have in mind"), etc.

4) If you develop a good relationship with a good recruiter, he will give you invaluable career advice. For example: did you know that most hiring manager don't want to hire someone whose longest assignment is < 1 year? They call these people "job-hoppers" and never want to deal with them. I had no idea about this, before recruiter told me ...

There's a lot more, but the point is: there are some bad recruiters, and some good recruiters. Bad recruiters are to be avoided.. but good recruiters will give you a LOT of value.

Disclaimer: couple of my friends are recruiters.

<comment><USER3> I am a recruiter and this is pretty spot on. I don't know who the author is, but it sounds like using one recruiter or nothing is the only option and that if you choose to work with a recruiter, you must do what they say.

In reality: Recruiters open doors and give you a shot at a job. Sometimes the firm can't pay what they need to, sometimes the candidate isn't good enough for the role. Thats why recruiting is challenging.

When I approach a hiring process, I am absolutely doing everything I can to make sure the deal has the potential for closing: 1) I do ask for the candidate's compensation expectations. 2) I do ask for the clients compensation expectations for the role. 3) I do frame things for both parties in order to get those expectations to line up. 4) I do share information with both parties on what is happening in the market (sometimes a company will think they need a junior guy with a 80k comp expectation, but if I tell them they are wrong, and that they need some with more experience in the 120k range, they listen). 5) I don't have perfect knowledge of everyone that is hiring in my industry. I'm good, but especially in my niche of Quant Trading, its so secretive, there is just no way I can know everything (unlike realestate brokers that more or less have an industry database they can use to get good info on the market).

Ultimately, I will do what it takes to get an offer on the table. If its too low, Ill try to get more, but sometimes that won't happen and then its up to the candidate to make a hard decision.

Your other points are all valid for executive recruiters (help with resume, deep domain knowledge, real relationships with hiring managers), but the vast majority of recruiters are in paper-pushing process shops where the person you are dealing with is purely gathering resumes, and not selling you in, learning about the market, etc. I know that it seems like splitting hairs, but the difference is huge. If you are making over 100k, dont both with the big companies, find a niche shop or an executive recruiting firm where the recruiter holds the hiring relationships himself. It makes a huge difference.

</comment></comment><comment><USER4> What I REALLY don't understand is recruiters' (or their clients) insistence of scrubbing the name of the company from the job ad (yeah, it's so you don't go and apply directly so they don't get their fees).

I once saw an ad for a BBC-job that led to a recruiter-site that referred to an unnamed international media corporation. How is it ever worthwhile to hide that you're the BBC? Similarly, there are swathes of job ads for vaguely defined entities, which makes it incredibly hard to (a) get excited about applying (b) know how to sell yourself (c) is this the same job as this other _almost_ identically worded ad?.

I once saw an ad for a position in a non-profit. Presumably with below-market salaries. But all it said was that it's for a non-profit!? Is "caring about non-profit stuff" considered a binary state?

<comment><USER2> It's at their clients insistence. Most recruiters would be absolutely happy to reveal the name of the company, however if they did, those companies would not do business with them anymore.

The reason the companies don't want to do that is because they don't necessarily want it known _internally_ that they're hiring. What if a guy who's being replaced sees the ad for his job?

I'm not defending that logic, but just explaining how it works (couple of friends of mine are recruiters)

<comment><USER5> So how do you explain recruiters who strip candidate contact details from all CVs?

I work in this industry, and it is absolutely all about preventing employers and candidates from contacting each other without giving the recruiter their cut.

<comment><USER6> _Standard operating procedure._

As soon as a company operates where some amount of secrecy is considered necessary, the easiest thing is to maximize that secrecy. The alternative is to have to think each whether X information should be given out.

Some candidates might actually not want identifying information "out there" so it's strip everyone's information than figure out who.

Naturally, this makes things a bit absurd and inefficient but it is simply the natural logic of secrecy. And hey, secrecy appears whenever you have an adversarial market relation. So we may as well relax and enjoy it.

</comment></comment></comment></comment><comment><USER7> I have been using recruiters for the last 10 years and I agree that it is very easy to be taken advantage of if you don't know how to use them.

First, go to the recruiter who can give you the best deal. That means, don't say yes to the first person who calls you. Tell them you'll get back to them and then check out the boards for whoever else is in the running. Apply to them all, talk to them all, and then decide which one you are the most comfortable dealing with. Even if the company isn't mentioned, it's fairly easy to compare requirements.

Second, know your price and be willing to walk away. The only reason you get screwed on rates is because you allow it. If you are not willing/able to walk away when your price isn't being met, then you have already lost. The competition for candidates is fierce so if you stand firm and you have the skills, you can often get the recruiter to submit you even if your price is above where the client is willing to go. Get your resume in front of the client and have them reconsider their price. If they still don't budge, walk away.

Third, they are a necessary evil since many jobs can't be accessed (or with great difficulty) without them. This is not because the headhunter makes it difficult, it's because the hiring company doesn't want to deal with the recruitment process and give headhunters an exclusive on the job.

</comment><comment><USER8> I've worked with some great recruiters in the past. Especially when you're growing rapidly, or in times when the market is red-hot and it's hard to find and close the best candidates, they can really help leverage a company's resources.

Sure, there are a lot of bozos and unethical recruiters out there -- and plenty of times when it is just adding overhead. But it's a big mistake to paint everybody with the same brush. Instead, I'd say the thing to do is ask around and see who has a good reputation; try them out and see how well they work for you; and if you have good results, try to make it into a long-term relationship.

<comment><USER9> I think the theme of "recruiters are a waste of time" comes back again and again because most people (me included) haven't seen a single one that was useful or helpful.

And every time in threads like this one, there are a couple of recruiters jumping in explaining that yes the industry has a lot of bozos but that _they_ are doing their best, etc.

I'll stay on the side of "recruiters are a waste of time" until I meet one that seems to know what he's talking about, follows up on positions he was supposed to set me up with, gives me advice on resume/things to learn/..., etc.

<comment><USER10> I've met at least one _internal_ recruiter (i.e. recruiter for Scribd, not a general headhunter) who was good. Presumably there are equally competent headhunters out there...

Somewhere.

<comment><USER11> But an internal recruiter is, presumably, on salary, so wants to do the best for their company AND is likely to care more about placing the best value candidate, rather then the cheapest.

</comment></comment></comment></comment><comment><USER12> Don't trust 'em, use 'em.

In FTE positions I've found recruiters to be particularly effective in negotiating higher salaries. I believe that's because 1) in a negotiation they're better situated to play the "bad cop" role, and 2) the customer may be more willing to pay a premium for the assurance a professional firm ostensibly provides.

In contracting it's a different dynamic; the client agrees to an hourly rate and you fight the recruiter for your cut (and if you're happy with the cut then you still win). It's like "lease vs. buy" from the client's perspective.

</comment><comment><USER13> There are some good recruiters out there. And, they can be particularly helpful if you are trying to make a field change (i.e. break into finance) when you don't have any background in it.

Also, not _any_ job will work. Many tech recruiters don't get paid unless you stay at the job for 6mo-1yr, so there's a definite incentive to make sure the job is not a total misfit.

But, yeah, if you're a new college graduate or just making a shift within a field you are already successful at, a recruiter is probably not worthwhile.

</comment><comment><USER14> I think this was outlined in the first Freakonomics book.

I am constantly fascinated that most recruiters are doing such poor jobs -- examples include bad matching (oh you got java on your CV, do you want this web designer job, it mentions javascript) -- as this is a role that can be eliminated, I would think they would really try to add value, to avoid being replaced by a website.

<comment><USER15> It is in the 1st Freakonomics book. The post is obviously bait to get traffic.

Recruiters are a middleman; they get approached by people offering jobs, and by people wanting jobs. Some are better than others, just like in every industry.

Not everyone looking for a job is visible to all employers, and vice versa - recruiters fill that gap.

</comment></comment><comment><USER16> The last recruiter I went through was an interesting fellow. Youngish, and fond of striking out on his own.

The recruitment firm was a dreary affair. They had a postage stamp of posh office space in the throbbing center of Boston. The postage stamp was divided in half and on one side were Java recruitments; on the other .NET recruitments. Both sides were full of people chattering and monitor screens mounted up high. It was like a miniature Wall Street floor.

This guy coached me on interviewing and even lent me a tie to wear during the first phases of the interview process. He was experimenting with placing people in robotics companies, and he got me the most challenging and exciting job I've had so far. I still work there.

But yeah, for the most part I don't trust recruiters. I _knew_ this one was different from the rest, and I'll be surprised to find his like again.

</comment><comment><USER17> I've done the recruiter thing quite a bit early on in my career, so I think I have a little to add here.

A good recruiter spends a bunch of time getting to know people so I can spend that same time working on my skills. They're an expert not only at making friendships, but on finding and understanding what types of jobs these people have.

Yes, they are motivated by get-any-deal-done. But I am motivated to take the highest price, and unlike the real-estate example, I can deal with 20 recruiters a week if I want to -- there are no exclusive locks.

So it's in my best interests to spread the word about my skills in an easily digestible format to as many recruiters as possible, and to make the best impression on each recruiter as they call (so they'll remember me)

After that it's just a numbers game. Let the recruiters fight it out over who has the best jobs, or who is able to deal with clients with really tough problems. Recruiters are tools, as much as they think they are rock stars, their job is just one of providing trust between a party with needs and a party who can provide for those needs. Personally I think the rates some of them charge should be unethical (a percentage off the top for each hour in a multiple-year relationship? Crazy) but their job is to ask for anything. Hey, it's a free country. You can ask for whatever you want, right?

I think, from the getting-a-job standpoint, that its just a game. Recruiters call me up and offer me all kinds of low-end, low-ball jobs. They actively try to make me take the lowest rate possible so their split can be higher. They fake parts of resumes. So what? I'm nice to all of them, only deal with the best and honest, and let the rest of them go about whatever they think of as being good business. Even with the most honorable, we haggle over rates and such. That's the way its supposed to be. That's the fun of the marketplace (although it drives many engineers nuts, I understand)

Now from the other side of the desk, I can see where recruiters could be a huge pain in the ass -- taking up all sorts of my time talking about positions that they are never going to fill anyway. But even then there are strategies you have to employ to be a good at your part of the game.

I just think "you can't trust recruiters" is a bit trite. You can't trust a lot of people of various walks of life. But some you can. So only work with those. Learn the game and play it well. I've had amazing relationships with recruiters. Some are really good people. They have different incentives than me, but that doesn't mean I can't trust them. I just need to understand where they are coming from.

<comment><USER18> About the exclusivity thing: A friend of mine is a financial officer for a company that just moved offices to Charlotte. Hiring two staff, they tried a couple of recruiters and hired two from the same recruiter, with a 25% bounty.

They needed a third staffer, but were informed from that same recruiter that the bounty would be 27%. Confused because the extra position was no different - "you are charging us MORE for return business!?" - my friend was told that the extra cost was due to not signing an exclusivity agreement.

His response was, naturally, "bye bye".

</comment></comment><comment><USER19> The reason why recruiters are needed is because companies are very bad in answering and maintaining their job posts and open positions. Recruiter will spend time establishing contacts with all possible prospects.

Lets take example of seatgeek.com - great way to get applicants. However, did they send at least thank you email to all people which break thru their system (even if person didn't submit resume)? No. On the other hand, good recruiter will definitely follow up - even if a message he/she received from you was not directly about hiring.

Did you ever try to get a job in a big company by applying to job post on web site?

Just try the following experiment: If a recruiter of some big company (Google, IBM, Symantec, etc.) calls you then just say that you will think about it and you will call him or her back. Then, in parallel, submit your resume to that company web site. You will probably get no answer at all. Then, after waiting, call recruiter back. And, if you are good, they will tell you that can arrange you an interview in a week or so.

</comment><comment><USER20> I'm at the point where I'll seek out a job if it specifically doesn't deal with a technical recruiter. Even if it pays less, not having to deal with them is worth it.

Between their lack of knowledge about technology and their overall "used car salesmen" tactics, I don't trust the whole lot of them. I know that's prejudicial, but I haven't had a good experience yet.

</comment><comment><USER21> A friend with a Harvard MBA was selling his house and thought that the standard real-estate commission structure where the commission percentage goes down as the price goes up was absurd. He negotiated a commission structure where, up until the price point where simply slapping a sign out front with that price quoted would result in a sale, the commission was 2%. From there on up, it was 10%. So, the agent had a stronger incentive to find a buyer willing to pay a high price. My friend ended up selling for a low-ish price, but he didn't pay much of a commission.

The biggest difference between the standard real estate model and the standard headhunting model is exclusivity. A headhunter is motivated to "throw paper" at a hiring manager when multiple recruiting firms are competing to fill a role. I think that retained search may be a better option, but it's rarely used at lower levels for some reason.

</comment><comment><USER22> Another problem with recruiters is conflict of interest. They likely can't be seen to poach one client's employees for another.

If the recruiter is large and they represent many clients, the pool of talent you can pull from via the recruiter may not include someone very qualified and presently employed somewhere with no room for advancement they deserve.

If you had just advertised the job on LinkedIn and done some cursory research yourself before going to a headhunter, you might be able to access that resource. At a cheaper price, even.

</comment><comment><USER23> This is just 2 examples (real-estate, recruitment) of a general commercial rule: trust no-one! Most of the time the interests and motivations of the guy selling you x/y/z are not aligned with yours.

</comment><comment><USER24> Real estate agents are like the dealer in blackjack: they always sit on 17. Playing with recruiters means you go bust on 21 instead of 22: they add even less value than real estate agents.</comment>


First world demons - <AUTHOR> http://peternixey.com/post/51189494392/first-world-demons/ <comment><USER2> Teju Cole argues against the expression 'First World problems' more convincingly:

> I don't like this expression "First World problems." It is false and it is > condescending. Yes, Nigerians struggle with floods or infant mortality. But > these same Nigerians also deal with mundane and seemingly luxurious hassles. > Connectivity issues on your BlackBerry, cost of car repair, how to sync your > iPad, what brand of noodles to buy: Third World problems. All the silly > stuff of life doesn't disappear just because you're black and live in a > poorer country. People in the richer nations need a more robust sense of the > lives being lived in the darker nations. Here's a First World problem: the > inability to see that others are as fully complex and as keen on technology > and pleasure as you are.

> One event that illustrated the gap between the Africa of conjecture and the > real Africa was the BlackBerry outage of a few weeks ago. Who would have > thought Research In Motion's technical issues would cause so much annoyance > and inconvenience in a place like Lagos? But of course it did, because > people don't wake up with "poor African" pasted on their foreheads. They > live as citizens of the modern world. None of this is to deny the existence > of social stratification and elite structures here. There are lifestyles of > the rich and famous, sure. But the interesting thing about modern technology > is how socially mobile it is--quite literally. Everyone in Lagos has a > phone.

[http://www.theatlantic.com/technology/archive/2011/11/whats-...](http://www.theatlantic.com/technology/archive/2011/11/whats- wrong-with-firstworldproblems/248829/)

<comment><USER3> Really excellent points. Also it's worth considering that most of the people providing these solutions are not equipped with the expertise or experience to tackle 'third world problems' like floods or infant mortality. No amount of AngularJS or Clojure can solve these issues. However photo sharing is a domain that is approachable and there are obvious financial incentives to do so.

</comment></comment><comment><USER4> Hi. This is Eliezer Yudkowsky. I work at the Machine Intelligence Research Institute on reflective decision theory for eventually building stable self- modifying AIs. I do this because I think it's literally the most important problem in the world. I do not have issues with a dead-end job or think that I haven't found anything worthy of leaving it.

I wish entrepreneurs would stop working on First World Problems. I think a planet that raises its best and brightest to dream of building the next Instagram is on its way to doom.

Thereby your psychological hypothesis is shown, by this clear counterexample, to be factually false as a generalization about a necessary cause of worrying about "First World Solutions"; or to put it another way, someone already working on an important problem would arrive at the same worry for much the same reason that others say they are worried.

With that out of the way, I remark that it furthermore constitutes a fallacy of ad hominem / poisoning the well.

<comment><USER5> That's a pretty unfair standard; no psychological statement is true of literally all humanity, and only someone very naive would try to generalize that broadly. I don't know the author at all, but I'm willing to give them that much credit.

Let me try to reframe his point in a way you might find more palatable. When you feel anger, it's an opportunity to learn something about yourself--an opportunity that most people ignore. You'll always feel like you have a good immediate reason to be angry because that's how emotion works, but those explanations are often retroactive and superficial; they don't point toward a change in the world that would make your anger go away. Projection one such failure mode, and a very common; so common, in fact, that many people would do well to check themselves for it _every single time they feel anger_. The author illustrates his point with a concrete example.

Perhaps none of this is useful to you personally. That's fine. But you aren't representative.

<comment><USER4> One counterexample can't outweigh a lot of positive examples, but we don't have verified positive examples of people making the reasoning error the OP claims - we don't have verified positive examples of people secretly thinking what OP claims they were secretly thinking. It seems to me that I went through the same thought processes that other people worried about FWS _say_ they underwent, while being in an utterly different context from what OP is claiming to produce motivated cognition. That makes me extremely skeptical that OP is correct in trying to thus undermine the thought processes producing worry about FWS. In this case it's not clear that OP is successfully generalizing over any of humanity.

</comment></comment></comment><comment><USER6> "my assumption is that whatever they hate is simply the same thing they fear in themselves."

Hold on. It's late where I am, I'm tired, and this might be me performing some kind of logically fallacy but: are you saying that if I hate Paris Hilton I'm actually internally scared of being an airhead who gets far more publicity than she deserves?

I think saying "what you're doing is stupid because X" is pointless, navel- focused and unproductive, though not necessarily even remotely wrong.

Here's what I'd like: I'd like instead for a discussion to take place on exactly what areas we _can_ write code in that changes the world in a useful and laudable way.

The medical imaging example is sort of interesting, because I've worked on hospital software before and the biggest challenge has nothing to do with writing code, it has to do with politics and money. I've occasionally thought of apps that you could build and run in a hospital (watch HL7 traffic and send alerts when probable bad things happen, e.g. patients get prescribed too much drugs / odd medications), but again: writing the code is not the hard part, getting it into hospitals is.

I'd like to know what problems I can help solve now, where the main problem is actually writing code.

<comment><USER7> Interesting example. I kind of wonder why you would hate her. She may be a irritating but she hasn't killed anyone, stolen anything or brought down any banks.

However, if you value intelligence, meritocratic success and substance over style then the fact that Paris apparently represents the opposite of those things is bound to be unpleasant. Is it really her that's so distasteful though or the fact that people seem to like her for it. If it's the latter then she's bound to be unpleasant by association.

On a different note I think idea that Paris is an airhead is probably misguided. Being a billionaire heiress will only fly for so long before the press lose interest and like Kim K she's been an extraordinarily savvy girl in keeping the ball rolling.

</comment></comment><comment><USER8> To me the real issue is not that many Silicon Valley entrepreneurs tackle problems such as photo sharing. It's that they do so with an utter lack of humility and awareness for what's going on in the world.

If you want to create the next big photo app, that's great. I'll support you, use it and enjoy it. But be modest and don't always insist that you're changing the world on a grand scale.....because when you get paired up with, say, oncologists and Red Cross volunteers, you'll seem kind of silly.

<comment><USER9> But isn't there a certain lack of humility in attempting to solve a set of problems that you have no insight into because they do not affect you at all?

There is nothing wrong with trying to address "third world problems" if you have the skills and background knowledge to actually do something, but if you grew up in a middle class suburb then stick to working on what you know. A lot of the innovations in the first world eventually end up being used and applied to bigger problems anyway.

<comment><USER10> Okay - there are a lot of First World Problems too left solve.

Like - drop in replacement system for the flywheel of a car consisting of electrical engine with recuperation braking system backed by supercapacitors (batteries are expensive) you could turn any car in de facto hybrid for a fraction of the cost and it could be used on the current fleet that will be in commission for a long time to come.

Heat pump that cools tank of water at night to 4 degrees and pumps up the cold back into the build which would make air conditioning at summer much less straining on the grid and cheaper to operate.

There a lot of inefficiencies in out energy production and consumption system that could be eliminated by some engineering ingenuity and sufficiently smart software.

<comment><USER11> Those are great ideas! I'd be up for working on those. So you're actually thinking to replace the flywheel of an engine instead of refitting the brakes? (I'll put my heatpump comment in a separate comment)

<comment><USER11> Actually what about putting in a bigger alternator and stronger belts and having it charge some super capacitors? That's already connected to the engine through a belt so whenever you use engine braking you could also be partially charging.

Can the alternator run in reverse though and provide energy to the engine/drive train?

<comment><USER10> Well it was just an idea conceived over 2-3 beers with a friend with just some basic napkin math that said we don't brake too much of the laws of physics. I can see multiple approaches working.

But the goal - make the existing fleet of vehicles better while cleaning the air as a bonus is a worthy one and smog is a first world problem.

Edit: honda have something similar

<http://en.wikipedia.org/wiki/Integrated_Motor_Assist>

</comment></comment></comment></comment></comment></comment><comment><USER12> Ever see the episode of South Park where San Francisco is overrun with smug? You think Trey Parker is secretly just afraid that he loves to smell his own farts? I mean this is textbook logical fallacy. Just because some groups of people react to internal fear (e.g. Homophobes) by lashing out against those that have the characteristics they fear they have, does not mean that any time people are critical of other people its because they harbor secret fears.

The problem isn't that people individually are making photosharing sites. That's way cooler than 90% what people do. But so is being an advertising exec like Don Draper in Mad Men. Very cool job that many people would love to have. But Don Draper doesn't tell himself every morning that he's changing the world. This is of course something you see on Wall Street too. "I'm changing the world by securitizing these income streams." And how do tech folks react to that?

Also, people love to complain, about everything. Try writing a new GUI toolkit and prepare yourself for the barage of complaints from people asking why you didn't just contribute to GTK.

</comment><comment><USER13> _"The First World Problem objection is a classic of these. Why should it bother anyone that someone should build another photo sharing service? Is it really such an offensive thing to do?"_

That depends. Is it accompanied by a statement saying "Look at our cool photo app!" or is it accompanied by a statement saying "Look at us, with this photo sharing app we're going to change the world!"

'cos that latter one gets annoying...

</comment><comment><USER14> The "he is criticizing it because he fears it for himself" theory is of course an oversimplification. But sometimes it is true. And even if it is not true, it is a great strategy to make someone stop with the criticing, which i used quite a few times when I got sick of homophobic jokes.

And there is an other argument for doing it anyway, even though it looks much less important than curing illnesses or stuff like that: We live our lifes in a specific way. The way we live it, we generate expertise. I know nothing about illnesses or development work, I would have to start at zero. But I know how to build a computer together with the parts on the market, and I think I know how to select the best ones, so I can build a hardware recommender. Same thing for other people with foto sharing apps and so on.

Working there where we have a clue is not arrogant and mindless, often times it is smart.

</comment><comment><USER15> Nonetheless, I think it's important not to lose touch with the fact that some things are more important than others. It's necessary for an entrepreneur to think that what he or she is doing is important, but one can take that too far.

It's not as though the entrepreneurs are on their own in this, anyway. There is always far more money and attention for things that are not important in comparison to those that are. Playing games versus medical research, for example. Political campaign funding versus medical research. Pretty much anything in the mainstream of culture versus medical research.

In general we are the species that fritters away our opportunities for significance, with odd exceptions here and there. Entrepreneurs are just like everyone else in this respect.

<comment><USER16> If all you do is tackle big problems, what do you do when you ron out of problems? Someone has to provide a welcoming world for the ones whose problems have been solved.

<comment><USER16> Since it's too late to edit, that should be " _run_ out of problems" -- HN's text edit box does not work well with the stock browser on my phone.

</comment></comment></comment><comment><USER17> _The credit, as we know, belongs to the man in the ring but the pity belongs to the First World Objectionist for he is only sheltering from his own fears_

Agreed. Anytime you bring out something shiny, new, awkward, and full of a mix of excitement & doubt - the arm-chair-quarterbacks will miraculously emerge from the ether. It is their role. HN is still the best place to get feedback on products, and it comes with the pendulum of 'that is the best thing _ever_ " to that is a toy and _no one_ will buy or invest.

Know your market. Get the feedback you need and utilize what's valuable.

</comment><comment><USER18> His argument regarding the way in which we develop "demons" is incoherent. Negative emotions are not just the product of disdain or fear of our own actions. Just because one thinks murder is abhorrent does not mean that they are secretly harboring a desire to commit murder. He never defends this claim, and merely asserts that, because people are displeased with the abundance of companies solving trivial problems, we must be afraid of entrepreneurship.

How does he reconcile this with people like Elon Musk and Steve Jobs, whom most people venerate. Did they not work exceptionally hard and face hardship that most of us couldn't bear? If the impetus for our dislike was really a fear of the toils of entrepreneurship, we wouldn't venerate any hard-working entrepreneurs like Elon and Steve. If anything, we'd dislike them more because they have faced more adversity than the photo-sharing apps.

No one dislikes these companies because they fear work. They dislike these companies because they are trivial, and there are too many exigent problems in the world to make another Pinterest clone.

</comment><comment><USER19> I get his rant. But most of the "real" problems at least on the surface require huge amounts of resources, if they are even solvable.

For instance, world hunger. We seem to produce more food per unit land area each year yet people still go hungry. I'm sure the explanations given are all valid, but more importantly solving them requires near-global consensus for which no incentives seem to exist.

Example 1 -- food market speculation. How many in the West care if millions go hungry when there's money to be made?

Example 2 -- continued breeding by the poor. Many in the West are opposed to any form of birth control except "God's will."

Having tilted at a few windmills in my day, I can see why people would give up trying to solve "moon shot" level problems in favor of something achievable (and with any luck, sinfully profitable) in their lifetime.

</comment><comment><USER20> I don't find it offensive, I just find it troubling. The talent can be used more effectively in other areas. This bothers others at varying degrees. I don't believe this has anything to do with my own fears.

I still admit that that psychological effect is real. I'm sure it's true for many circumstances. I just don't think it's applicable to this case.

</comment><comment><USER21> "Why should it bother anyone that someone should build another photo sharing service? Is it really such an offensive thing to do?"

When the money for building this another photo service comes from the people, through money printing by central bankers, then , yes it could be offensive.

In USA, Japan and Europe money for banks and big institutions like Google, Microsoft, Yahoo or Apple is free, as they could get money at near 0% interest with real inflation way over 3%.

No problem with "yet another whatever" that really makes profit by itself, and is necessary, but a real problem with a new multi billionaire acqui-hire that never returns what it extracts from society and when the show is over makes everyone to pay for it, creating misery for all in the process.

</comment><comment><USER22> _Unless that is, you're in a job you don't enjoy and the reason you've coached yourself not to leave it is that you haven't found anything "worthy enough" to start yourself._

No, the problem is money. Good ideas are not that rare. "Worthy" ideas are not that rare. The money to implement them is almost impossible to come by, whether you're in a corporation or raising on the outside.

Free-floating capital is not actually that rare. Talent is not that rare, "talent shortage" whinging aside. The problem is a bilateral and cataclysmic distrust between both sides. Money doesn't trust Talent not to steal so it injects a bunch of useless management that makes Talent impossible to unlock. Talent doesn't trust Money not to be stupid and develops a deep, smoldering cynicism that the rest of the world misperceives as obnoxious entitlement.

The problem is that any idiot can raise money for something any idiot can do. On the other hand, if you try to convince someone to pay you, _even at the level of mere salary money_ to do something worthwhile, you get a lot of questions because not everyone can do those useful things. You get: _why you?_ Which is actually a valid question, even if mildly insulting, because things that are worthwhile are hard.

We end up all working for the smooth-talkers selling trivial ideas because they've been overriding the "why you?" objections since college, when it involved booze and women with low self-esteem and, by age 30, they're very practiced at overcoming, for example, "last minute resistance" (LMR). So when they see LMR in investors, they know what to do, and we don't.

<comment><USER23> I notice most of your posts lately have a very negative tone. I don't think the negativity is really justified, given how many opportunities there are for programmers. Life isn't just good for programmers, it's also getting better every day. We are probably living in the golden age of internet startups, where small 3 man shops can effectively compete with large enterprises. This won't be true forever, but it's true today.

If you don't have any money (and let's face it, most of us don't), you can still start a startup. You can work on your project in evenings and nights. Or you save money and quit your job for 8 months or so. Or you can work part time on your startup and do part-time contracting work on the side.

Starting a software startup is so much easier than opening a bar or a restaurant or a jeans shop it's not even funny. People put their life savings in ordinary businesses like these every day, and more often than not they get utterly crushed by reality. A restaurant without customers can't afford to keep the doors open for long. Buying a 30k kitchen and hiring 5 people before the first customer has walked through the door is _scary_. We programmers in contrast can just pivot until we find something people are willing to pay for. We can build half a product and use server analytics to figure out which direction is best. We have unique insights in our users and customers and the press loves to write about anything that involves startups. There are so many things subtly working in our favor!

Doing a startup isn't _easy_. But nobody is entitled to an easy road to guaranteed riches. But doing a startup _is_ possible even if you're broke, don't have any connections and are only a mediocre programmer or business person.

Of course the VC money game is rigged to an extent. So what. If you have traction you have leverage and if you have leverage you'll still get a good deal. And if you have paying customers you may not even need VC money. These are, in the big scheme of things, not things to get terribly upset about.

<comment><USER22> I'm probably older than you (almost 30) and I don't think you're aware of the long-term career risks in this industry. Yes, it's cheaper to go all-in on a startup, and you might build something that makes life (yours and others') a lot better. There are a lot of great things about living in 2013. There certainly are opportunities that didn't exist 20 years ago.

However, what happens when your bootstrapped startup fails is an unholy cocktail of the following:

        a. Your savings is depleted.
        b. You learn a lot, which overqualifies you for junior-level work.
        c. People try to take advantage of (a) and offer you low-level positions.

Rapid learning (b) and zero credibility advancement (c) is a recipe for disaster, because you'll probably fail when you get shunted into some bullshit low-level job after having been "spoiled" by the experience of getting do real work.

It's the career problems that make this game an unholy mess: the fact that most so-called "tech" jobs are career-killing, subordinate wastes of talent that slowly turn you into an unemployable idiot. It's the risk that you'll be 37 and taking orders from a 25-year-old "tech lead" who only knows half a programming language and won't listen to your ideas. Worst of all, at that age you probably have a spouse and kids, so suicide isn't an ethically defensible option. At that point, you just have to suffer for 40 years and die of natural causes.

<comment><USER24> You are my age, and I intend this to be friendly. Gizmo is right. You have too much potential left to be so negative. This negative view of employment in our industry is not unique to software. The same concerns about getting stuck in a career-killing, life-draining job are found in most professions.

I don't know you personally, so I am hesitant to put words in your mouth or infer what you are feeling. So I'll just talk about myself.

What made the difference for me was attitude. It sounds trite but it's true. Some people are too motivated to let themselves be beaten down by a bad job or a bad boss. They continue to struggle through until they change things for the better. I used to be that kind of person, but I gave up hope. I had to find a way to convince myself that I was smart enough, could work hard enough, and could be persistent enough to force positive change in my life. That I would carve a good path through life with my bare hands if I had to. The other alternative was for that negative view of career option to become a self- fulfilling prophesy.

I have three children myself, the oldest of which is 4 years old. For their sake I cannot kill myself no matter how bad I feel about my prospects. But also for their sake I cannot let myself get beaten back into a hopeless corner where I come home depressed every day about my life. If I come home every day dead already, what hope do they have of seeing the wonder and beauty of life that makes it worth living? Even without the responsibility of kids I have seen too much good in life to ever be convinced that death is preferable.

<comment><USER25> I know I'm breaking HN guidelines, but thanks for that comment. :)</comment></comment></comment></comment></comment>