Zuckerberg admits working for man claiming Facebook ownership - <AUTHOR> http://www.theregister.co.uk/2010/07/21/ceglia_facebook/ <comment><USER2> The nature this case in relation to how it is being reported fascinates me. Let me summarize while making a few observations:

1\. A guy comes out of nowhere and files a lawsuit in a state court in Allegany County, New York (population: about 50,000 - <http://quickfacts.census.gov/qfd/states/36/36003.html>).

2\. The lawsuit is filed on June 30, 2010 and consists of a grand total of 2 pages of allegations, coupled with a request for relief (see [http://www.scribd.com/doc/34239119/Ceglia-v-Zuckerberg- compl...](http://www.scribd.com/doc/34239119/Ceglia-v-Zuckerberg-complaint)).

3\. Among the substantive allegations are absurdly wrong ones (from a lawyer standpoint), such as the allegation in paragraph 3 that Facebook is a "domestic corporation" in New York. Facebook is in fact a foreign corporation that is qualified to do business in New York, as is shown by the very attachment the lawyer appends to the complaint itself (Exhibit B). I make this point only to highlight a certain level of sloppiness that attends this whole matter. This is hardly a mark of top-flight lawyering.

4\. The contract states that it is entered into as a "Purchase agreement and 'work made for hire' that reflects two separate business ventures," the first for something called StreetFax Database and the second for the "continued development of the software, programs, and for the purchase and design of a suitable website for the project Seller has already initiated that is designed to offer the students of Harvard university [sic] access to a website similar to a live functioning yearbook with the working title 'The Face Book'." Mr. Ceglia was to pay to Mr. Zuckerberg $1,000 for the work he did on StreetFax and an additional $1,000 for the work he did on "The Face Book." In turn, Mr. Ceglia was to receive (with respect to the "Face Book" work, the following: "It is agreed that the Purchaser will own a half interest (50%) in the software, programming language and business interests derived from the expansion of that service to a larger audience." The contract then provides that "the agreed upon completion for the expanded project with working title 'The Face Book' shall be January 1, 2004 and an additional 1% interest in the business will be due the buyer for each day the website is delayed from that date."

5\. The agreement appears to be a canned document and is poorly drafted. Since its terms appear to be heavily slanted in favor of Mr. Ceglia, it is probably fair to assume that this was his form of contract which he presented to Mr. Zuckerberg (then a student) to sign.

6\. The complaint then alleges that the website was completed on February 4, 2004 (paragraph 7) and asserts that Mr. Ceglia is therefore entitled to an extra 34% of "the business," (paragraph 8) or 84% in total.

7\. A few comments on the above:

(a) can anyone say "vagueness" and "uncertainty" as serious problems with this contract? with no company formed at the time, this is a guy who essentially hired Mr. Zuckerberg to develop a website that was to be like a "live yearbook" and who claims that he is to have an 84% stake in _any_ future expansion of that idea to be made by Mr. Zuckerberg, no matter what form it took and no matter who else contributed value to build that business; this in essence is a claim by Mr. Ceglia that, at any time and under under any circumstances, he can pull a piece of paper out of his pocket and claim a perpetual non-dilutable stake in somebody's company based on a work-for-hire contract for a small development fee done before that company was even to be formed; thus, every founder who might work in that company, even for years, every investor who might invest in it, and every other stakeholder (including innocent purchasers for value who bought shares in the company in secondary trading), all such persons were to work, sweat, and toil, taking huge risks all the while, and all were to be subject to dilution - except for Mr. Ceglia, who could take his sweet time and come forward at any time with his claim of an 84% non-dilutable interest;

(b) if not vagueness, how about an unenforceable penalty? How would you react to someone who told you he would pay $1,000 for some development work and then take 1% of your company for every _day_ delay in completing the project? Such terms are outrageous to say the least and probably serve to render the entire contract unenforceable, particular when the contract as a whole amounts to an alleged non-dilutable stake in a business no matter what future form it might take;

(c) how about statutes of limitations? New York apparently has a 6-year statute for breach of a written agreement. If the work was done by February 4, 2004, then Mr. Zuckerberg's obligation to perform would have started on that date. The complaint was filed on June 30, 2010, well past the 6-year deadline. Thus, on its face, the claim appears to be time-barred. One can of course allege facts for why the statute did not begin to run until a later date. This complaint fails to do so.

(d) Other equitable defenses would almost certainly apply so as to preclude assertion of any claim for equitable relief after such a long delay (laches being the most obvious - I discussed this in an earlier comment, <http://news.ycombinator.com/item?id=1509601>).

Thus, all in all, a lawsuit full of holes is built up by sensationalist reporting into a supposed major threat to Facebook and to Mr. Zuckerberg.

This is where the reporting becomes interesting. I think this relates to a strong impulse to see Mr. Zuckerberg get some sort of comeuppance for whatever reason.

The case got major headlines nationwide because a judge in a small state court entered a TRO, with the reports touting the idea that this gave the claim more gravitas because judges do not enter a TRO lightly. Yet this judge _did just that_. He entered the order even though the defendants had been given no notice of the application and even though the plaintiff made no showing whatever of likelihood of success on the merits and of alleged irreparable harm that he would suffer if the defendants were not enjoined from transferring assets while the TRO was in effect (see the brief filed by Facebook making these points, [http://www.scribd.com/doc/34240120/Ceglia-v- Facebook-Motion-...](http://www.scribd.com/doc/34240120/Ceglia-v-Facebook- Motion-for-Dissolution)). Without getting into technicalities, this amounts to a court having concluded that the TRO had to be entered to cover a 15-day period in which Mr. Ceglia might otherwise suffer _irreparable harm_ absent a court order barring any transfer of Facebook assets during that period. After a nearly 7-year delay, it is basically absurd that such an order should have been entered. No possible harm could have come to Mr. Ceglia over a 15-day period that would have been any different from whatever risk he had faced for the nearly 7 years pre-dating the order. Thus, the TRO was ill-conceived at best and the federal court to which this case was removed immediately stayed its effect upon getting the case (the parties have since agreed to allow it to expire and die a merciful death).

In this piece, then, we get a subtitle stating or implying that the claims made by Facebook's lawyers (that this lawsuit was frivolous) were in themselves frivolous. Why? Because we now have an admission by Mr. Zuckerberg's lawyers that he did indeed sign the contract. This is then touted as some sort of setback for Facebook's case.

From a lawyer's standpoint, this is all really _weird_. This case is full of holes and represents at best a wild swing at Facebook and Mr. Zuckerberg. The contract is worded in a flaky manner. The terms themselves are outrageous by any measure (think about you would react if someone claimed a perpetual stake in whatever you did just because he paid you a small fee for a minor development effort). The lawyering in support is slipshod at best. Yet, in spite of all this, the reporting on it is building continual momentum such that it is perceived as a serious problem for the company and all because a judge entered an ill-conceived TRO and because of the basically irrelevant fact that Mr. Zuckerberg's lawyers admit that he signed the contract (a fact never previously denied). Yes, this all makes for high drama, but it also makes for highly inaccurate reporting on the legal merits of what is happening.

At most, in my view, this case represents a nuisance claim against Facebook, as no court in the world is about to prejudice the interests of innocent investors, co-founders, employees and the like for the sake of some guy who comes out of the woodwork after long delays with a wildly worded contract that is of dubious enforceability. While a court might be more open to entertaining a claim against Mr. Zuckerberg personally, even that is so dubious here as to be barely worth considering.

There are obviously many people who want to see Mr. Zuckerberg get what is due to him but this will _not_ be the channel by which that might happen, notwithstanding the reporting on the case. In the end, this will be tried to a federal court and not in the blogs. And, in the courts, this thing is going nowhere.

I am, by the way, no apologist for Mr. Zuckerberg and have been quite critical of his actions in relation to the whole ConnectU mess (which _does_ pose a serious risk for him and for Facebook, as I discussed in an earlier comment, <http://news.ycombinator.com/item?id=1362379>).

<comment><USER3> While I think you're probably absolutely correct from a _legal_ perspective, I also think that you're missing the point. This is interesting precisely _because_ the contract is so amateurish, yet it appears that Zuckerberg actually _signed_ the damned thing! As bizarre and weak as the claims may be to a lawyer, to a layman, this is the clearest evidence yet that Zuckerberg was involved in some shady dealings early in Facebook history. And this time, unlike the rich kids involved in the previous dispute, we've got an amateur investor, who can't afford competent legal counsel.

You're thinking like a lawyer, and focusing on the technicalities of the case. Everyone else is taking the contract at face value. If Zuckerberg gets out of this on a legal technicality, it's because he's damned lucky that the contract he signed wasn't written by a better attorney. Frankly, I doubt that most laypeople like the precedent of that outcome.

<comment><USER4> _to a layman, this is the clearest evidence yet that Zuckerberg was involved in some shady dealings_

Really? Perhaps to the sort of layman who's already quite convinced 'shady dealings' took place. If someone got some college kid to sign an unenforceable (and certainly ridiculously unfair, from an ethical, if not legal standpoint) contract, how is that evidence of 'shady dealings', rather than inexperience and naivete?

The whole thing seems completely preposterous, I think to anyone who's entered a contract or two. It's hard to imagine the 'everyone' who would take this contract at face value, at least, not the subset of everyone who's ever signed a lease, mortgage or employment agreement and/or has had the most passing consultation with a lawyer about one. The fact that someone with professional legal expertise feels the whole thing is likely preposterous makes it more, not less likely that is the case. To suggest otherwise is to possess an oddly conspiratorial turn of mind.

<comment><USER3> Your position is as biased as any other -- you're just choosing to focus on Zuckerberg's age, and consequently assume that he was victimized. Perhaps that's true, perhaps not.

When I look at this, I see an incredibly unsophisticated legal agreement. The author of the contract hardly strikes me as a knowledgable player, and I'm not inclined to assume that he _ever_ had the upper hand in a battle of wits with Zuckerberg. In any case, the fact that a contract is poorly written doesn't automatically make me disregard it's _intent_ , and here the intent of the contract is so clear that even Mark Zuckerberg -- innocent babe that he was -- could have understood it.

<comment><USER4> Right but it's exactly the intent that seems almost predatory, however legally unsophisticated it is. Let's assume, as seems reasonable, that both parties were fairly clueless and acting without the benefit of good professional advice. When you read the contract, doesn't the stuff Ceglia is asking for seem kind of nuts? And not in any technical legal sense, just in general.

</comment></comment></comment></comment></comment><comment><USER5> Of all the speculation on what could kill Facebook, did anyone ever imagine it might be a "wood fuel salesman" from New York? Sometimes truth is stranger than fiction.

<comment><USER6> It will never kill Facebook. Facebook as an entity will still exist. Sure there might be a change in ownership, lawsuits, etc. But nobody involved would want to threaten the functional business / golden goose which is Facebook.

<comment><USER7> Good intent doesn't always end up with good result. Maybe this guy doesn't want Facebook to die, but without Zuck, the company culture, the engineers will flee away rapidly. It will never be a good change to hand a tech company to a "wood fuel salesman".

<comment><USER8> Well, he did have the foresight to invest a mere $1000 in a potentially worthless venture, but more surprisingly, he had the patience to hang on to it. It would make for a rather infamous turn of events either way.

</comment></comment></comment></comment><comment><USER9> Please see [http://tech.fortune.cnn.com/2010/07/21/the-massive-hole- in-f...](http://tech.fortune.cnn.com/2010/07/21/the-massive-hole-in-facebooks- latest-legal-challenge/)

We strongly suspect the contract is forged. We have not seen the original (no one has). Thus, we're focusing on the things that are not open to interpretation and are indisputable -- Mark could not have given interest in a company that didn't exist or and idea he had not thought of yet and, even if he could, the statute of limitations has expired.

Bret Taylor, Facebook CTO

</comment><comment><USER10> It sounds to me that FB should settle for a nice wad of cash, and make this all go away. Given a decent offer, my advice to Ceglia would be to take it. That said, a lot of people invested in FB in good faith, so perhaps any payments should come from Zuckerberg himself? I am usually not so interested in legal proceedings, but this may get interesting.

<comment><USER11> What exactly would be a decent offer considering the valuation of FB?

<comment><USER12> As commented in another thread, it would be ludicrous for Microsoft, Digital Sky Technologies et al. to allow Mr. Ceglia a seat on Facebook's board. They will explore and deploy every legal option to avoid this. It is not so ludicrous for investment bankers to engineer a tax-minimal FU-style lifestyle for Mr. Ceglia by endowing a non-profit for some pet interest of his choice and paying him handsomely.

If Mr. Ceglia truly wants ownership of Facebook, he is going to have to fight for years. If he wants enough money for a private jet, he just might get it. As will his lawyers.

This could be the most lucrative transaction in the history of Craigslist.

And the twist is if Ceglia truly did have this contract with Zuckerberg, it leaves the ConnectU guys in a particular interesting situation (as the Facebook idea was being worked on way before ConnectU).

<comment><USER13> _And the twist is if Ceglia truly did have this contract with Zuckerberg, it leaves the ConnectU guys in a particular interesting situation._

No it doesn't. The issue was never "who thought of Facebook first". All of this was when Myspace was at it's peak. Everyone had the idea to do a Myspace competitor.

The issue is Zuckerberg taking people's money and making false commitments by accepting a job and lying to the ConnectU guys that he was still working on it to delay them as much as he could.

<comment><USER14>
      > No it doesn't. The issue was never "who thought of
      > Facebook first". All of this was when Myspace was at
      > it's peak. Everyone had the idea to do a Myspace
      > competitor.

Really? MySpace was at its peak at the end of 2003/beginning of 2004? And everyone at that time was trying to build a 'MySpace competitor?'

</comment></comment></comment></comment></comment><comment><USER15> I hate these leeches. "Yeah, I hired him to shovel the driveway, and you didn't do the sidewalk behind the garage, so I own your house now."

<comment><USER16> I hate people that agree to one thing and then do another if it isn't what they want later on. "Yeah, I hired him to shovel my driveway. He said he invented a new shovel called "The Shovel" and needed money to sell it. I invested with him and now he says his new shovel, called "Shovel", is unrelated."

<comment><USER15> my comments may have been premature

</comment></comment></comment><comment><USER17> I actually found the last line:

Facebook paid [ConnectU] $65m to go away.

to be the most interesting. I don't follow the Facebook story very closely, but I had no idea that much money changed hands over the ConnectU thing.

<comment><USER18> So you never followed the story very closely, but are suprised by some of the facts in the story? I never really read much physics, but was surprised to learn that Gravity = 9.8m/s/s. Does that make much sense?

</comment></comment><comment><USER19> If this guy's claims are legitimate, does he own 85% of all of Facebook, or 85% of Zuckerberg's share of Facebook? Presumably he would have been diluted in subsequent funding rounds, etc?

What portion of Facebook does Zuckerberg still own?

<comment><USER20> IANAL, but perhaps it could be argued that MZs continued work after the "online yearbook" site launched in 02/2004 constituted sweat-equity and thus diluted Ceglia's shares?

Anyway, if Ceglia and his lawyers have half a mind, they're after a _tiny_ (compared to 84%) settlement.

</comment></comment><comment><USER21> Why would a Harvard student give up 50%+ of ownership for a mere $1000?

<comment><USER19> Also, why didn't he resolve the situation by either starting a new company or buying back his shares as soon as it was apparent Facebook could become something big?

<comment><USER22> possibly because he is/was young and naive

<comment><USER19> Yes, but this is the sort of thing that should have come up during the due diligence of the very first round of funding.

</comment></comment></comment></comment><comment><USER23> My bet is Zuck has a contract with Fincher for The Social Network, its sequel and prequel, and maybe even TV series.

</comment><comment><USER24> some good comments on slashdot: [http://idle.slashdot.org/comments.pl?sid=1727682&cid=329...](http://idle.slashdot.org/comments.pl?sid=1727682&cid=32984548)

</comment><comment><USER22> Facebook may be close to becoming a Harvard Business School case on how to create a startup with dangerously murky ownership of IP and equity.

<comment><USER25> See also Skype.

</comment></comment><comment><USER26> If Zuck was a more empathizable character I would feel really really sorry for him. This is the sort of youth mistake that really gets you.</comment>


Code Janitor: nobody's dream, everyone's job - <AUTHOR> http://ferd.ca/code-janitor-nobody-s-dream-everyone-s-job-and-how-erlang-can-help.html <comment><USER2> Am I alone in enjoying "adaptive" and "perfective" code maintenance? Dashing off new code _is_ fun, but making bad code into good code is immensely challenging and satisfying to me.

I think it's hard to write beautiful code straight off -- it very rarely happens to me, anyway. So for me, writing beautiful code is _mostly_ perfective maintenance anyway -- or do I misunderstand?

<comment><USER3> Fixing old code can be a very satisfying experience. However this is usually tempered by management apathy for code maintenance. It's an invisible problem; nobody can see when you fix a piece of bad code unless it's causing a bug. This becomes aggravated when "25% of the people doing maintenance are students and up to 61% are new hires".

To management it's, at best, an "if it ain't broke don't fix it" attitude. At worst they consider programmers prima donnas. It's immensely frustrating trying to convince them of the utility of code maintenance, even when doing so pays dividends in future feature development flexibility and bug fixing.

I would love to see some strategies for convincing management of the virtues of maintenance.

<comment><USER4> You do that by understanding some of the tradeoffs involved and showing that you understand that maintenance for the sake of maintenance is usually a waste of time.

* If it was causing some immediate issue or had a bug that needed to be fixed you could justify it that way, but all too often someone wants to refactor something to make it "nicer"

* Code that's rewritten is going to have all new bugs of its own, those are going to end up wasting more time than the time spent on the initial rewrite.

* A lot of programmers will get the urge to rewrite something before they fully understand the system they're rewriting (and thus aren't qualified to do so). You might be 90% through rewriting it to be nicer only to discover that the remaining 10% doesn't fit with your design. There was some design requirement that you missed which caused the initial code to be so convoluted and "nasty" in the first place, because it was solving a tricky problem in some non-obvious way.

* In a growing business requirements change all the time, maybe you'll spend 6 months now rewriting some system to be nicer, but 2 years down the line it turns out that that system was inherently broken and has to be thrown away and replaced. So it would have been better to commit 1 month of time over those 2 years to keep it on life-support.

* Speaking of resource allocation: Is _now_ the right time to do this, you probably have a 100 tasks with manpower to accomplish 10 of them. Maybe this is better done in half a year when you have more hires, or not at all if some of those other 90 things are more important.

But finally, if it's really the right thing to do just do it incrementally as part of other tasks. If it's really code you're working on all the time, and fixing certain issues saves you time down the line just make those fixes along with other tasks.

</comment></comment></comment><comment><USER5> For those of you (like me) who's only exposure to the acronym "OTP" is in reference to "one time passwords", I'm guessing he's referring to this: <http://learnyousomeerlang.com/what-is-otp>

</comment><comment><USER6>
       It's obvious that making changes to the set-up in the second pictures will take less time than modifying the first picture's set-up.

I'm not so sure. I had to snake a single bad cable out once and redoing all the pretty bundles took half the afternoon. :-)

<comment><USER7> If only those pictures were of the same thing. The first one is obviously the front of a rack, where all the cables are meant to be non-permanent to afford you flexibility.

The second picture is the back of a rack of punch-down blocks, which are meant to be permanent. The only time these changes is when there is a bad wire; vs the front of the rack, you change that wiring all the time. That being said, I've seen bad wiring, rather than be pulled out of the bundles, just cut and a new, supplementary cable put in in it's place, and not strictly part of the established bundles (but still neatly run).

The back of the racks are neat purely so you can be flexible on the front. Now, obviously, one can create neat front-rack cable layouts too, and potentially run into the problem you had redoing all the bundles, but the neatness is directly related to the intended permanence of the wiring.

</comment></comment><comment><USER8> _The more OTP you know, the less time you expect it takes to adapt to a code base._

I don't think your conclusion is as concrete as you make it out to be. One's knowledge of OTP likely correlates with general programming ability and experience. Better, more-experienced programmers probably find it easier to learn new code bases, so they don't need as much ramp-up time from management.

Overall though, good post. Kudos for gathering data!

</comment><comment><USER9> This is an excellent post, thank you for sharing.

I find it mind-blowing that multi-million dollar companies who are struggling with growth cannot see the quality of their software engineering actually prevents growth. They try rewrites but with the same approach to software engineering as always, it is doomed to fail.

</comment><comment><USER10> I think Code Gardener is a better name.

Software is like a garden. It can be master planned, well manicured, organized or it can be the result of uncontrolled organic growth of years and years.

Either way, my job is to keep it healthy and servings its purpose. It is my job to water,fertilize, pull out weeds as they show up and sometimes to uproot whole trees and plant them somewhere else as they are necessary for the system.

Continuing with the analogy, it is key to any good gardener to have good tools to do the job, because they make all the difference on how hard you have to work and how much you can get done in a season.

</comment><comment><USER11> One of my favorite things about the code base I work in (with a over 1,000 engineers) is the codemod culture. Whenever we create a new abstraction, we mass-convert the code over to it. This means that for many simple things like renaming methods and classes, we can deprecate methods (by renaming them to oldSlowWay_DEPRECATED), and this is an automatic flag to any engineer that they need to dig into the code and find the newFastWay.

If you believe in self-documenting code, I feel like you need to do things like this because it's part of keeping your documentation up to date. (In our code base, we maintain separate documentation, but reading the code is essential to getting the total picture.)

</comment><comment><USER12> This is an excellent post. I'm now excited about learning OTP. I've seen so many code-quality problems, some of which have destroyed companies, that I'd really love to see if there's a way to solve this problem. "No silver bullet" seems to be the going attitude. Code sucks, it always turns to garbage, and no one reads the shit anymore (that's why we have IDEs! Wheee!) I really want to disagree with this. Readable code shouldn't be a rarity.

Apologies in advance for what's going to seem like self-promotion. Many of my opinions I've already plopped onto the internet in my blog so I'm going to be doing a lot of blog linking.

Maintenance has a nasty paradox. To do it right, you need political power. You need to be able to say, "I am fixing this and that's that and any problems it causes for you are your problem." The level of political clout you need to do maintenance decently is manager-level. You need help from a lot of people and if you don't have the ability to force them to prioritizing helping you in this gnarly task, they probably won't. (Feature freeze? I need a Bob-ruling before I do that.) In most companies, maintenance is not rewarded, and it's not fun, so people with manager-level clout generally avoid such work. ([http://michaelochurch.wordpress.com/2011/09/23/taxation- with...](http://michaelochurch.wordpress.com/2011/09/23/taxation-without- representation-why-code-maintenance-fails-and-how-to-fix-it/)) The politically enabled people tend to take the "shiny new" work (and since no one has the clout to oppose them on anything material, they often made bad decisions and produce shoddy results) and the underclasses end up maintaining the garbage after they launch, get promoted, and flee the system. So maintenance ends up being a workball that gets dropped on people who don't have the power to do it right, don't have the expertise to know how to do it, and don't have any good reason to care.

People underestimate complexity density and how much it can vary, and also how high it can be in source code. How long does it take to read "a book"? Well, it's between 2 and 400 hours for me, depending on the material. 10,000 lines of code is a book. Sometimes it's boilerplate that you can scan, but more often, it's closer to the 400-hour end of that extreme.

IDEs don't solve this problem very well, because they tend toward "four-wheel drive" syndrome: they get you stuck in more inaccessible places. I think _read-only_ IDEs are indispensable, but if I were running a company, I'd be tempted to disallow IDEs for new development. One of the perks of maintenance is that you get to use an IDE. If you're on new development, then as long as the code is good I don't care and you can use whatever tools you want, but if I see you writing obvious "IDE code" I am taking that shit away.

One thing that I think is at the root of the problem is a denial about what programming really should be. People say "math is hard", but math is actually _easy_. At least, it's an only-somewhat-hard way to do things that would otherwise be impossible. Imagine what it would be like to build a physics engine if calculus and linear algebra didn't exist. How would you generalize linear regression to N dimensions without matrix calculus? Quite often, the mathematical abstraction is the simplest (and most terse) way of representing and solving a class of problems. It's hard, because of the _intrinsic_ complexity. Mathematicians are also familiar with the experience of taking a whole day to read and understand a 4-page paper. They know, from painful experience, how much complexity density can exist in 100 innocent-looking lines of code.

Why the FactoryFactory crowd exists is that there's a class of programmers who really don't belong in the industry because they despise or can't hack math (and another class of programmers who have the ability but have been misled into thinking that FactoryFactory bullshit is actually the right way to do things). So instead of mathematical abstractions, they use pointless business-y shit made up to turn the tables against smart people with taste. ("What? You've never used a MetaSelectorVisitorSingletonFactoryFactory? And you call yourself a programmer?") Of course, even though the individual pieces that commodity programmers create are less difficult to understand than appropriate mathematical abstractions, the overall tangle that must be generated in order to have a chance at solving the problem becomes incomprehensible quick. But (channeling a commodity programmer) "no one reads code" anyway. What, you expected _insight_ into the problem in that shit? We just wrote that because our bosses told us to do it.

At any rate, your insight into the sociological problems associated with code maintenance is right-on. The work is given to the people who are least equipped to do it. So can't companies just allocate maintenance work to the best programmers? The answer is _no_. First, if the best programmers do maintenance work in a company that doesn't value that stuff, they're seen as just screwing around doing junior-level work. Second, no one good will tolerate being "allocated" to maintenance. Good people will happily maintain _code they care about_ , but if you tell a good programmer that she has to maintain someone else's legacy or find a new job, she'll take the latter. So you need a culture in which good engineers _choose_ maintenance and _have the political power_ to do it right. It's really hard to make that happen.

Google is better than the vast majority of companies in this regard, but they still have a culture where it's well understood that promotions usually come from launches. Maintenance is relatively well-respected (by industry standards) at Google, but new invention is still better for your career. You can get promoted on maintenance (which makes Google better than most places) but your odds still aren't as good, and there's more downside to maintenance, where the worst-case outcome is macroscopic non-accomplishment (i.e. you beat your head against a wall and have nothing to show for it). There are large bonuses (sometimes 6- or 7-figures) for people who take on important legacy rescues, which is a step in the right direction-- an acknowledgment that it costs major dough to get anyone good to maintain someone else's mess-- but those usually go to managers and tech leads who oversee the rescue efforts; the engineers are "just doing their job" and usually try to transfer to something with more upside as soon as they can.

So the second point about developing a decent maintenance culture is that you need open allocation ([http://michaelochurch.wordpress.com/2012/09/03/tech- companie...](http://michaelochurch.wordpress.com/2012/09/03/tech-companies- open-allocation-is-your-only-real-option/)). You can't "allocate" good engineers to maintenance. They have to _choose_ it, which means you need an environment where people are encouraged to work on what's important to them and to the company. I've taken to using a 2-by-2 matrix to explain this. First category work is interesting, important stuff: core machine learning algorithms, search at Google. Allocating this work is no problem. Second category is the important but undesired work. Third category is interesting stuff that hasn't become important yet: R&D-type projects best suited for "20% time". Fourth category is unimportant and undesirable work. Important legacy rescues are 2nd-category work. Under open allocation, companies have to create genuine incentives (not just "do it or I'll fire you") for people to do 2nd- category work, and 4th-category work doesn't get done (management isn't willing to pay or promote for it, because it's not actually important). But 4th category work _shouldn't_ be getting done in the first place. It pisses people off and adds minimal business value.

By the way, closed-allocation shops generate huge amounts of 4th-category work (often the majority of the workload of a closed-allocation shop is 4th- category). If you have a closed-allocation shop, the 2nd and 4th category work gets glommed together in "that ball of work we (management) allocate to people we dislike" and not done well. This is a mistake; 2nd-category work actually is important (by definition) and shouldn't get the 4th-category treatment. It needs to be done by people who have the ability and actually care.

Third subrant, and then I'm done (for now). I don't know what OTP is, but these insights about modularity and small-program methodology are right-on. The Unix philosophy works. The only case I've seen of a program departing from the small-program philosophy and adding value is in the database world. Databases have very stringent requirements related to performance, transactional integrity, durability, and concurrency, and all the pieces have to work together. So, they become large systems that macroscopically function as huge, featureful programs. It has also taken some of the best minds in computer science _decades_ to get this stuff right. Databases are hard, yo. Do you have the best minds in CS on your business-logic codeball? Do you have decades? If no, then avoid big-program methodologies outright.

If you use the big-program methodology, your programs end up becoming parochial because their surface area is huge and requirements get barfed on it and the code becomes a pile of political injections, not real software. You end up with Java Shop politics ([http://michaelochurch.wordpress.com/2012/04/13/java-shop- pol...](http://michaelochurch.wordpress.com/2012/04/13/java-shop-politics/)). However, to be fair, this problem has little to do with Java _itself_ and is more accurately described as a problem afflicting large-program philosophies _in general_.

<comment><USER13> What is "IDE code"?

<comment><USER14> Visual Studio 2012 tries to provide IntelliSense for JavaScript, but it'll only show symbols it can find at design-time (statically-reachable) instead of all of the possible symbols available at run-time. The IDE has the same problem with C# dynamics. Anyway, C# developers raised on perfect IntelliSense from versions past can stumble when relying on IntelliSense for JavaScript. This can lead to code that's written to appease the IDE instead of the idioms of the language.

Personally, I prefer the way Sublime Text 2 implements auto-complete (for dynamic languages anyway) -- it simply indexes the words previously typed in the file.

<comment><USER13> ReSharper/Web Storm do a much better job wrt to JavaScript. I still don't feel like I understand what you mean by "IDE code". Is all code written in an IDE, "IDE code"? I was left with the impression that it is some inferior subset.

Would you write C#/Java outside of an IDE to prevent "IDE code"? What would the difference be?</comment></comment></comment></comment>


The case for ending online comments - <AUTHOR> http://www.theguardian.com/commentisfree/2015/sep/10/end-online-comments <comment><USER2> If we discuss this, do we have to use an irony tag?</comment>


The Big Data Brain Drain: Why Science is in Trouble - <AUTHOR> http://jakevdp.github.io/blog/2013/10/26/big-data-brain-drain <comment><USER2> This is so true. I'm in a Ph.D. program and everyone around me is wasting so much time by reinventing the wheel every time they need to code something. So I spend my time making libraries to help them out, but then I get scolded because that's time that's not going directly toward getting publications. And few people use my code because they don't trust software as up to the scientific standard unless (a) they spent thousands of dollars on it, a la MATLAB, or (b) they wrote it themselves and, e.g., take a mean by manually iterating over an array, "just to make sure" the mean is calculated correctly. Ugh. It doesn't matter how many tests I an point them to. I can't wait to get out of here and work somewhere where coding is appreciated, where I can actually get paid, and where I have some choice as to which state I live in.

<comment><USER3> How would one take a mean of n elements without visiting all n elements? Won't the memory bandwidth and big-O complexity always be the same? Genuinely curious.

<comment><USER4> The language used in MATLAB and Octave is designed for vector processing to an extent most developers haven't seen before. MATLAB doesn't mean "Math Laboratory", it means "Matrix Laboratory." Operations on row and column vectors are first-class language elements. You almost never have to manually iterate over an array to compute its statistics -- you'd just say M = mean(A [,dim]) where A is a standalone vector or a column vector of a matrix. In that example, M itself is a vector, if A was a matrix.

MATLAB syntax is ugly but the underlying principles are pretty cool. Well- written code scales automatically on newer hardware, or at least it has the potential to. That's not true in languages where higher-order vectors are built from discrete scalars.

<comment><USER5> The good stuff of Matlab must be balanced by it's perverse, pathological and obscene qualities.

The most vile aspect of Matlab is the faith every researcher has that producing something in Matlab is enough when the reality is code coming from Matlab will never escape, will never be as useful nakin-style pseudo for the creation of any larger system.

</comment></comment></comment></comment><comment><USER6> I'm a software developer working with big data, but I think the premise of this article ("the ability to effectively process data is superseding other more classical modes of research") is simply false.

The example problem domain ("automated language translation") is actually a stellar counter-example to the claim. Has anyone actually tried to use Google Translate for anything sophisticated? It's still truly horrible, by human standards. The field needs more research and deeper conceptual understanding, not less.

There may be some problems that can be solved by throwing software/hardware/data at them, but I don't think this is a good paradigm for the big unsolved problems in general.

<comment><USER7> _The example problem domain ( "automated language translation") is actually a stellar counter-example to the claim. Has anyone actually tried to use Google Translate for anything sophisticated? It's still truly horrible, by human standards. The field needs more research and deeper conceptual understanding, not less._

Have you compared Google Translate with the previous attempts to do automated translation based on conceptual understanding?

There is a reason why Google Translate would be claimed to be a success.

<comment><USER5> Hmm,

Being the best of a bad lot isn't enough.

Perhaps it is only a human reflex to believe that some contemplation is needed to solve problems that have resisted mounds of data being thrown on them. But being not-coincidentally human, I happen to find it plausible.

</comment></comment></comment><comment><USER8> It's a nice article, but it overlooks one fact: There needs to be a brain drain out of academia, because academia can't absorb more than a fraction of its own production of talent.

<comment><USER9> A more rigorous stack-rank-and-yank may be appropriate in this situation. :-)

A big part of the problem is that current researchers did have to manage their programming, IT, etc. during undergrad, grad, and post-doc periods. They did a lot of hacking with C, Perl, and Maple/MATLAB/etc.

As with many managers who were promoted because they were stellar engineers, those skills fade but they continue to think that they are qualified to judge the difficulty of the work. The fact that they have "done it"[1] before leads to a logically incorrect assumption that it's not that difficult.

After all, they learned those things on their own while thinking about the tough stuff.

[1] Except for, of course, in a predictable, repeatable, safe, auditable, etc. way with fifty other users asking for high priority changes.

<comment><USER10> This is on the mark.

I know many academics who spent a lot of time throughout their school career writing code to get their research done.

They looked at this as a necessary evil, and as such learned the bare amount minimum to get by. They are smart people and were able to make the code help them solve their research problem. But they are busy thinking about their research so usually their algorithms are fairly simple + straightforward (lots of nested loops and n^2 sort of things).

The main problem, in my experience, is that many of the research problems are actually fairly simple (algorithmically) and most research departments have access to fairly powerful computing facilities. Coupled, this means you can brute force a lot of solutions-- there is no real push for understanding of the algorithmic complexity.

As well, most academics are on a much MUCH longer timeline than your average business or startup. Did your algorithm break 1 month into processing your simulation? Fine, fix it and run it for another month. Or just take what you had and publish it anyways.

Just as academics look down upon the technical side of things, we are just as much to blame for idolizing the academics. Science (even in math and engineering) is a lot more 'sloppy' then we like to imagine. There are oodles of papers out there that are just downright incorrect-- and not on purpose!

(* My creds: I have participated in academia as both a student, researcher and software developer )

<comment><USER11> My experience in academic computer science has been the complete opposite.

In industry, what I've seen is that often engineers are scrambling to please managers or customers, with work divided among multiple people, so the code is usually poorly written and undocumented.

In academics, publications are of primary importance, so everything is documented. The longer timescale means there's more time to refine code that's designed for a single, focused problem. The limited scope of the programs used means code quality isn't an issue most of the time.

Also, in theoretical computer science at least, the focus is entirely on rigorous proofs and finding optimal algorithms. While in industry, it's more "get practical things done quickly so we can sell it".

<comment><USER12> > While in industry, it's more "get practical things done quickly so we can > sell it".

That's a pretty short sighted example of industry - I'm sure those examples are out there, but I don't think they're common (or the companies long lived).

Most places I've worked know that they'll have to _maintain_ that code well into the future.

Not really so in academia (publish and forget) - which is why it's rare to see even basic measures taken for modularity and abstraction, e.g. the creation of types to represent entities in the problem domain. I think I've seen that done in Matlab, _once_.

</comment></comment></comment></comment></comment><comment><USER5> Honestly,

The situation is simpler.

Academia has become abjectly miserable and abusive in its practices. It no longer offers good but low-paid jobs for smart non-conformists, it just offers it's special brand of misery based on some long-past promise of this.

Given this, only the mediocre stay (and compounding it, anyone who stays has no reason to be better than mediocre). And that is a huge, huge loss to the whole project of the development of human knowledge, something that has a long history in Western society.

<comment><USER13> With all respect towards your implied bitter experiences that led to your leaving academia, it's not the mediocre who stay (though I've met mediocre researchers). Mostly, it's the people who have a _very good chance_ at a permanent job, which is a combination of the following factors:

* The incredibly workaholic

* The incredibly specialized into a well-funded field

* The incredibly skilled

* The incredibly good at the scientific method

* The incredibly savvy at the academic game

* The lucky bastards

* The even more incredible scientific polymaths

I'd say that any combination of two of the above factors will suffice to keep someone on the academic track for a while longer. Note how rare those factors actually are.

<comment><USER5> _With all respect towards your implied bitter experiences that led to your leaving academia..._

Hey, parent here. Love your "incredible" assumptiveness about my experiences. "Respect" to you too, baby, dude.

Actually I've never been an academic myself, not even slightly. OK, I have had friends and relatives that who've been failed as well as very successful academics so I have some idea of the culture but be that as it may.

Your post seems likely a way to showcase the versatility of the adjective "incredible", usefulness with new age cretinisms and your "implied success" there, well, except I don't see any.

<comment><USER14> The assumption seems to be that intellectuals still have a home within the university. The enthymeme in the air is that those unfortunates who were unable to find suitable employment in the academy do not deserve to live the life of the mind. But the university is no longer an institution "where teachers and students can pursue unconstrained the life of the mind." This activity cannot be the exclusive domain of a tiny elite.

See [http://mg.co.za/article/2013-11-01-universities-head-for- ext...](http://mg.co.za/article/2013-11-01-universities-head-for-extinction/)

</comment></comment></comment></comment><comment><USER14> Technical work, including indispensable scientific software development, tends to be considered of low academic value in academia. This is an ingrained attitude. I very recently left after having heard "oh, you're the technical guy" once too often from other academics.

Here's an example. The Globus Online grid ftp service web page intended for users adopts an overtly apologetic tone [1]. Users of this service are promised freedom from "low-value IT considerations and processes"\--considerations and processes that the Globus Online team has humbly sought to undertake on their behalf. I have to laugh at the claim that there is "No need to involve your IT admin—all you need is Globus Online." The message is that information technology is of low academic value--unless you happen to have been one of the authors of publications that came out of the Globus Online project. If not, your career is sidelined.

Software development, system administration, network administration and desktop support have become somewhat specialized in the past 30 years, but in the minds of some principal investigators and academic administrators, these very different activities are conflated. An expert in numerical methods, computational fluid dynamics and dynamic downscaling methods for climate assessment models is a seasoned web developer with a portfolio, fluent in jQuery, underscore, backbone, responsive websites with bootstrap, CSS3, HTML5, PostgreSQL, PostGIS, the Google maps API, Cartodb visualizations, as well as an Android developer conversant with the SPen library for the Galaxy Note 10.1. It's as much effort to stay current technically as it is to keep up in the scientific literature.

There are faint signs of improvement. On January 14th, the NSF revised the biosketch format by changing the _Publications_ section to _Products_ [2]. "This change makes clear that products may include, but are not limited to, publications, data sets, software, patents, and copyrights." The previous biosketch format was awkward for software developers, inventors and producers of data sets.

Recently, a number of prominent computer scientists, and scientific software developers affiliated with the Climate Code Foundation [3], published a Science Code Manifesto [4]. The manifesto includes the recommendation that "software contributions must be included in systems of scientific assessment, credit, and recognition." Software developers in the digital humanities may wish to add their names to the list of signatories.

Whether these developments reflect a broader understanding that software developers ought to enjoy greater recognition and opportunity for advancement in academia that they do currently remains to be seen. Greater career advancement opportunity for software developers, inventors and data set producers working in academia might do something to address the Ph.D. overproduction problem.

But these developments were too little and too late for me. I left.

[1] [https://www.globusonline.org/forusers/](https://www.globusonline.org/forusers/)

[2] [http://www.nsf.gov/pubs/2013/nsf13004/nsf13004.jsp](http://www.nsf.gov/pubs/2013/nsf13004/nsf13004.jsp)

[3] [http://climatecode.org/](http://climatecode.org/)

[4] [http://sciencecodemanifesto.org](http://sciencecodemanifesto.org)

<comment><USER15> yup. science gets the software they deserve: industry not only (ime) pays somewhere between 2-3x as well, but companies like engineers and view it as prestigious instead of labs where you are viewed as the help. Even if the results coming out of the lab are completely dependent on very sophisticated computer programs to produce.

</comment></comment><comment><USER16> HN really amazes me sometimes. I posted the exact same article with the exact same title 12 days ago [0] and didn't receive much traction. In fact, the only comment on the submission read

        this should have landed on the front page...

Anyways, I wonder if there is any explanation of this phenomena.

[0] [https://news.ycombinator.com/item?id=6623501](https://news.ycombinator.com/item?id=6623501)

<comment><USER17> It's just random variation. Depending on the time of day, you need maybe 4 or 5 upvotes to make the front page and escape the /newest ghetto; but there's not much traffic on /newest so it's very easy for articles to not escape one time even if they escape the other time.

<comment><USER16> It is fine really - I wonder if there was more than random to it. Anyways, now I have attracted downvotes for my initial comment. Kind of surprised at that too! :)

</comment></comment></comment><comment><USER18> Nicely written. A couple of things, somewhat independent of the economic issue: the "big data - dumb analysis" trend is bound to change, it's a matter of time till volume is not an advantage anymore. And the fact that "academia" is by no means a uniform discipline, some fields can only move ahead with the gathering of more data, while other fields need new testable hypotheses more.

</comment><comment><USER19> Compensation is a huge issue. Unlike pure biologists, computational scientists have plenty of job opportunities outside of academia and pharma.

As a staff programmer at a prestigious institution, I was making about $50k. I left for a large company and a few short years on I'm at around $200k.

</comment><comment><USER20> "I have some serious doubts about whether the project will be able to attract a sufficient pool of applicants for these positions."

Really?? Certainly, academia has its inefficiencies, but if there is an area of academia that has an undersupply of PhD's, please correct me!

<comment><USER21> There are very few people in academia that can actually write code or run computational analyses with skill. Most are just trying to answer their very specific question, and will take all kinds of shortcuts. And God help you if you want to track back exactly what commands (or _gasp_ versions of programs) they used.

That's where they undersupply is. I've seen some very low quality code from PhDs, even CS PhDs. One thing that is missing from a lot of academic curricula is software engineering techniques. Hell, I've had to fight in order to get people to use git.

I'm more familiar with medical/biology research, where you have people that understand the domain, but not necessarily how to properly code. And if they, as a PI, need to manage a programmer (tech) / computational researcher, it can be difficult.

<comment><USER8> Ah, but this isn't just a problem with coding. A mechanical or electrical engineer would have been horrified by my vacuum system or electronic circuitry. ;-) When I was in grad school, the mantra was: It only has to work long enough and well enough to produce a result. My experiment was declared a success when I got the MTBF up from a few seconds to a few minutes.

<comment><USER22> IMO the life sciences are full of a very special kind of stupid wherein computational science is performed by people who could barely pass Calculus I let alone Linear Algebra or Statistics. And this would be harmless except that a lot of what they publish turns out to either be training set-based prediction of the training set or horrifying misapplication of null hypothesis significance testing.

And all that would merely constitute black box ignorance except that often if you try to help them make their work more reproducible or point out that even 32-bit floating point roundoff error can be initially indistinguishable from a bug that makes the results useless, a lot of them become agitated and tune out the possibility of any of this being relevant to their work.

I left academic science for industry over a decade ago because I caught a big shot who then proceeded to threaten me instead of fix what I found.

</comment></comment></comment></comment><comment><USER23> My basic line of argument is fairly simple. If you work at a university and your salary is paid via taxes you have an obligation to make your work available to the taxpayers.

This means the software you write should be open sourced and the papers and articles you write should be freely available.

I'll use the basic idea of this article as more fodder for that argument (it's even more important now because...Big Data ZOMG) in the future :)

I don't fully agree with the thought that writing software and papers are exclusive. With a little creativity you can get a paper or two out of most academic software development projects (granted they won't usually be the A-level "this advances my discipline" kind of papers but one can't only write those anyways imo).

<comment><USER24> If I work at intelligence agency and my work is paid by taxpayers, should the results of it also be available to the public?

</comment></comment><comment><USER25> Re underpaid researchers:

The part that is always unclear to me is: there is lot of evidence that research/university budgets are growing at a high rate. Where does all that money go to. It doesn't seem to go to the people who actually do science.

That seems to be the fundamental problem here.

<comment><USER26> "overhead", i.e. administration. I told someone that I was a postdoc, he estimated my salary at first six figures. Then I told him down. He said 75k. When I told him 45k, his eyes bugged out and he said 'there's something wrong here'.

I mean, I come from an excellent pedigree, too, top 10 undergraduate, top 10 grad school, and I currently work at a place where my boss is a nobel laureate. (He makes at least 250k, according to the place's 990 forms)

However, my going price gets diluted by the idiots running around with rubber- stamped PhDs. Maybe there needs to be a 'brain drain', if we can drain those people selectively somehow.

<comment><USER27> I'm really confused - why don't Ph.D.'s with excellent pedigrees just get paid more money than "idiots running around with rubber-stamped PhD.s"? Maybe the market doesn't see such a big difference..

<comment><USER28> I think you are right lost_marbles. The difference between a PhD with an excellent pedigree and a rubber-stamped PhD should be their publication records. The problem would still exist if these rubber-stamped PhDs weren't there, I think. As a postdoc, you're going to get paid zilch, period.

</comment></comment></comment></comment><comment><USER29> This article has some incredible insights which have gone right past me. Thanks for sharing. I'm currently studying for a Masters degree which is centered on visualization techniques for exploring and analyzing large datasets.

I have found myself thinking many times that a position in the industry, where I can use my teaching, data processing and analysis skills to further some business goal, seems like a much more preferable option than sitting around writing research papers and applying for grants all day. Not to mention that academia pays less and has worse overtime conditions than _any_ industry job I could concievably get.

This article really nails the key issues for why I am feeling this reluctance towards an acedemic career.

<comment><USER30> > visualization techniques for exploring and analyzing large datasets.

Would it be possible for you to treat the vast amounts written on the internet regarding career choices as your "large dataset" and use your knowledge and tools to explore and analyze this dataset, and visualize it to us?

<comment><USER29> Probably not. I only work with data that's more structured, like spreadsheet- like data with very many records and dimensions.

</comment></comment></comment><comment><USER31> I am an example of this trend, having dropped out of a physics PhD program to pursue programming, and feeling great about the decision. There are two points which are not made by the author and which I think deserve to be mentioned:

1.) Scientific research is _hard_. It is very frustrating to spend all day working on something you can't be sure is going to even work. On the other hand, programming is easy, it's mostly monkey work. Sure there are places where you have to be clever and think things out carefully, but at the end of the day, when you write code it just feels like you have so much more to show than when you do research.

2.) In research, you need to get grant money to do anything, because research is expensive. So much time is then spent writing grant proposals, and even when you get money you still can't do everything you want because it's just too expensive and/or time consuming. I'm not talking about LHC money here, but just the standard money for a professor running a lab in a university.

In programming, you can work on (I'd estimate) 95+% of problems with nothing more than your computer and some old fashioned hard work. There are so many good, free to use open source libraries out there, making it pretty easy to jump into whatever field is interesting to you. Best of all, when you finish a project, there is no need to spend weeks writing a paper about it or any of the nonsense associated with that, you can just publish your code.

</comment><comment><USER32> _" Simple models and a lot of data trump more elaborate models based on less data..."

If we make the leap and assume that this insight can be at least partially extended to fields beyond natural language processing, what we can expect is a situation in which domain knowledge is increasingly trumped by "mere" data- mining skills._

This is a great point. For many years, domain knowlege was merely such experience ex ante. In otherwords, the barrier to domain knowlege was access to data. In lieu of this, perhaps theory to estimate it. As data becomes larger, more free, and more amenable to analysis by a larger group of talent the "domain knowledge" itself as a barrier to entry (prestige, effectiveness) seemingly declines. Whle this is in theory good (more access, more analysis), there is probably a corralary that we should expect turf-wars and restriction to access, as those previously in positions of privledge fight to retain their status as "keepers of the keys".

<comment><USER33> I've spent some time in the economics field and certainly found that getting access to quality data was an enormous challenge. In fact a good amount of the work is spent putting together data sets. This is probably the bulk of what econ grad students do.

Besides this, it's important to recognize the difference between identifying correlations and patterns in data vs understanding the mechanisms behind the phenomena. Krugman makes a strong point: "The problem is that there is no alternative to models. We all think in simplified models, all the time. The sophisticated thing to do is not to pretend to stop, but to be self-conscious -- to be aware that your models are maps rather than reality." [1]

Data-mining will help generate and support hypotheses, but this is complementary to model building.

[1] [http://web.mit.edu/krugman/www/dishpan.html](http://web.mit.edu/krugman/www/dishpan.html)

<comment><USER32> Econ is an interesting subject. Basicaly, it's taught using slide-ruler-y math from the 1950's[1]. Its amazing that learning to build linear algebra models without a slide-ruler (ie, by hand), comined witha year or two of statistics and some calc, makes someone an expert in "Economics".

If you think about the huge increase in computer power available today, it seems a field ripe for disruption. However, the guys that run the fed, and guys like Krugman are basically from the "slide rule era" of Econ.

I'm sympathetic to the power of modeling and techniques, but I do think its a case of the more you know, the more you understand what you don't know. And I think for most people the deeper you go into the field of Econ, the more this becomes apparent. Its getting better, though, and I'm sure in another generation (once the current tenures expire) things will look a good deal different (hopefully better).

Not sure if your views are similar, though.

[1] You see no little to no respect for dynamic systems that are chaotic or non linear; bounded rationality and its antecedent effcts; the role of institution underpinnings to markets, etc. Just to name a couple that are glaringly relevant and empirically important, but not subject to "hand math".

<comment><USER34> you should actually make an effort to learn and understand modern economics before coming to such strong conclusions. there are good reasons why the discipline exists in its current form.

it is clear from the "slide-ruler-y math" jibe that you have no idea about the technical ability required to do research, especially in theoretical microeconomics and econometrics. you'll need more than mastery of "Mathematics for Engineering" and MATLAB to disrupt the economics profession.

</comment></comment></comment></comment><comment><USER35> > We always come across reports of how much talented Indians are and are > conquering the world in the field of technology & business.

Um, I don't mean to be offensive, but I have never heard that.

</comment><comment><USER36> My biggest worry is that it's not science that is in trouble, it's humanity as a whole that is in trouble.

The drain towards industry is to solve industry's problems: make a profit. And yes, these can be extremely interesting problems, and hard ones too.

But what would our current world look like if the scientists from the last 500 years had bent their minds to solve the problems of merchants? (and don't get me wrong, some of the problems merchants had evolved great solutions for mankind)

</comment><comment><USER37> I'm an example of this trend. I trained for a decade in big data for neuroimaging. Then I realized I was working long hours with little upside beyond my own curiosity. I certainly wasn't changing the world in any tangible way. I had originally gone into neuroscience to understand my family's history of mental illness. Ten years later I was helping no one - not even myself.

I'm not convinced Big Science is in trouble though. Those who have the motivation and talent to stay in the academy will continue to do so. Yes, outstanding people will be lost but Science can progress from their contributions to commercial efforts. Geoff Hinton ends up at Google but we'll keep hearing from him the best use of his talents - the improvements to products we all use every day at a massive scale.

</comment><comment><USER38> Scientists in actual science are seriously underpaid, but there's a case of the Teacher-Executive Problem that's going to make it hard to fix that ([http://michaelochurch.wordpress.com/2013/11/03/software- engi...](http://michaelochurch.wordpress.com/2013/11/03/software-engineer- salaries-arent-inflated-at-least-not-for-the-99/)). The more useful you are, the more need there is for many of you (individual "rock stars" are overrated in the real world) and the greater the implicit multiplier on improving your salary. Increasing scientific pay is has a bigger cost load than increasing executive pay because we actually need scientists (or teachers, in the original formulation of TEP) in significant numbers.

Society has reached a point where the academic route means practically begging for a job that won't even pay for a house, while the startup lottery offers, at least, a chance. (And finance, better yet, offers a high likelihood of being well-off.)

</comment><comment><USER39> I haven't read Wolfram's _A New Kind of Science_ , but something tells me that this is a one page summary of it?

<comment><USER40> Uh... no. A New Kind of Science is its own special kind of nonsense. For the most part, Wolfram argues that cellular automata are a transformative paradigm for science. It's not about the power of "big data" at all.

<comment><USER39> Huh. All the discussion on HN that I saw on it seemed to revolve entirely around big data. Nevermind, I guess.</comment></comment></comment>