I'm quite late to this thread, but I worked on Watson very briefly (not on the core development, but overall system performance improvements).

I think there's a major misunderstanding of Watson which isn't helped by IBM's Marketing efforts. IBM Marketing has been slapping the "Cognitive" label on everything and is creating unrealistic expectations.

The Jeopardy playing Watson (DeepQA pipeline) was a landmark success at Information Retrieval, its architecture is built largely on Apache UIMA and Lucene with proprietary code for scaling out (performance) and filtering & ranking. I'm not an expert on IR so I won't comment further. This is very different from Neural Nets that are all the rage in ML today.

I'd like to point the following links from David Ferrucci [1] the original architect of Watson and this technical publication at aaai.org [2].

The DeepQA pipeline wasn't fluff, the intention was to take this question-answer pipeline and apply it to other verticals such as Law and Medicine, essentially replace the Jeopardy playing Watson's corpus of Wikipedia, Britannica etc... with Legal and Medical equivalents.

Given its runaway PR success, the Watson brand was applied to many other areas which haven't been successful but I'd like to point out what the original product was here.

> there's a major misunderstanding of Watson which isn't helped by IBM's Marketing efforts

you got cause effect wrong, since it's a glorified search engine, the marketing team did all they could do pass this off as intelligence and to muddle the water around what Watson could and couldn't do. when sales target still were falling short, they started dumping everything under the Watson budget to prop up the dept.

I have seen this pattern repeated in many large companies. One big product is successful and builds a nice PR bubble. Executives pile on anything they had in the pipeline with a re-brand, diluting the new brand.

I wonder what the solution is? Stronger brand owners within the company who can defend and be the quality control of what gets associated? Or is it hopeless?

> The Jeopardy playing Watson (DeepQA pipeline) was a landmark success at Information Retrieval, its architecture is built largely on Apache UIMA and Lucene with proprietary code for scaling out (performance) and filtering & ranking. I'm not an expert on IR so I won't comment further. This is very different from Neural Nets that are all the rage in ML today.

The question I would like to ask is that if the architecture is built on UIMA and Lucence, what exactly did "Watson" do?

Apache UIMA came out of the efforts from Ferrucci and others from TJ Watson Research Lab.

"Watson's" secret sauce was the filtering and ranking, you get multiple results from the models, which ones do you pick?

There was significant engineering effort put into reducing the latency of getting answers out of the pipeline as well, you had to optimize given the constraints of latency, accuracy and confidence from the pipeline.

The main trick behind Watson is to take the various systems (parsers, search, et al.) and hacks (constraints imposed by the rules of jeopardy) needed by a jeopardy playing bot and put them all together.

So, in some sense, you could say UIMA is what Watson did -- because it allowed a lot of flexibility for researchers to combine their efforts. Ranking and filtering becomes of ultimate importance in a system like that because at some point you have to make a decision. However, it is terribly reliant on the other modules at least getting somewhere in the ballpark -- and the ranking is also not, by itself, anything impressive.

So, it's an interesting case of how far you can get by just setting a single goal and slamming everything together -- but as it turns out, for every new domain you wish to apply something like that to, that magic ballpark is hard to reach without a significant amount of engineering & research effort to come up with new systems/hacks combined with a lot of relevant data. In other words, just like any other adhoc AIish system with a particular goal. Change the goal, change the system.

So, of course Watson was oversold, it was a PR and Sales effort from the beginning. Sort of like AlphaGo or DeepBlue -- you might be able to find one or two interesting ideas in the bowels of such a system -- but the system itself is not a generic one.

If you can find them, read the papers on Question Analysis and Answer Coercion. I am still impressed by how powerful these systems were, and how effective. UIMA is a framework for tying algorithms together, and experimenting quickly with different combinations.

When I worked at IBM I expressed concern that the television commercials depicting a HAL9000 level interactive dialog system were dangerously overselling what Watson could do.

The challenge, as I saw it, was that no matter how good the tools and products that were used to help companies with data analysis to improve their operations were, when they realize they can't talk to a cube and joke with it about misusing colloquial phrases their disappointment overshadows all the 'good' stuff it was doing for them.

No relationship works well if it starts with a lie and as this article shows, people do take those ads at face value and assume there really is a talking AI inside of IBM. Then they are hugely disappointed when they find out it doesn't exist.

Over-promising has killed AI progress before (expert systems). So history's just repeating itself.

People want to believe. They'll pay for their belief. Then when projects start to fail (~5 years after commercialization) they form the opinion that it was never going to work and they'll never do it again.

There's this trend of Expert Systems being commented on as a failure and starting some sort of AI winter, yet to my knowledge they were among the first commercially viable digital animation tools, the first high speed trading platforms, and are still being used successfully in military planning. Where's the evidence that they were a failure or that they were oversold?

Well, there was this place called "The Turing Institute" which was in Glasgow. It was run by a very nice man called Don Michie. I met Don a handful of times, and he was extremely kind and generous to me. He worked at Bletchley Park and died aged 91 having hit a bridge at 120mph going the wrong way up the M11 at 2am sitting next to his wife who had defected to Russia thirty years before. Don was driving, at the time he had been blind for six months.

Anyway, The Turing Institute existed because of Don's drive to commercialise Expert Systems. Don was a driver in the Alvey project which was a grand project to solve issues around Expert Systems in response to the Japanese Fifth Generation project. A man called Lighthill then rumbled the Expert System movement. If you want to watch a demolition of it see the following video :

Fun fact. In video 6 you can watch Christopher Strachey have a pop at AI. Christopher didn't work at Bletchley, he was too young, but he did work at Manchester with Alan Turing and they created computer music and love poetry in collaboration before Turing killed himself. Strachey went on to be the first Professor of Computer Science at Oxford, he was a scion of a great family of artists and poets.

But enough of this. The Turing Institute was an attempt to say "we are right, look", but in fact it failed. Don was clear why, when you hit 40k rules knowledge bases became completely intractable. It was impossible to make improvements or changes. This was christened the Knowledge Acquisition bottleneck, and Don and others turned to Machine Learning (he liked to call it Behavioral Cloning) to solve it.

> I met Don a handful of times, and he was extremely kind and generous to me. He worked at Bletchley Park and died aged 91 having hit a bridge at 120mph going the wrong way up the M11 at 2am sitting next to his wife who had defected to Russia thirty years before. Don was driving, at the time he had been blind for six months.

No, I think the poster is mis-remembering things which were based on facts.

Donald Michie did work (with Turing!) at Bletchley Park, and he did die in a motor vehicle accident. He was 83 when he died (not 91)[1]. His ex-wife[2] (they had remained friends) was in the car with him and also died. She had never defected to Russia, but she was (or had been) a member of the communist party[2].

Well, there was this place called "The Turing Institute" which was in Glasgow. It was run by a very nice man called Don Michie. I met Don a handful of times, and he was extremely kind and generous to me. He worked at Bletchley Park and died aged 91 having hit a bridge at 120mph going the wrong way up the M11 at 2am sitting next to his wife who had defected to Russia thirty years before. Don was driving, at the time he had been blind for six months.

Would you mind going into detail? I looked up three news reports and his wikipedia page and none mention anything beyond a car crash, and searching "Don Mitchie russia" and "Anne McLaren russia" gives only this HN thread as a relevant result.

It sounds like you were close with them, so if there's anything more to that story then it would be interesting to hear it.

Don't think you deserve to be down voted for asking a reasonable question.

A) Most of the documentation is on the other side of the digital event horizon (so pre-1995).

B) I break apart knowledge about AI (that is, the mathematical and systems discoveries) and AI as a product. The assertion is not that the knowledge failed, but that the product failed.

As you pointed out, the math behind expert systems was solid and functional for certain problems. But the collapse of the product (aided by the popular science press researcher-hunting for whoever would promise the most outlandish things for them) broke the funding channel for anything labelled AI.

As a result, methods used by expert systems lived on and solved problems, but nobody could call it AI because conventional wisdom knew that "AI was a failure."

One of the big things that eventually changed was data--the availability of lots of data and the capability to transmit, store, and process it relatively economically. As I remember a lot of the late-80s, early-90s AI efforts, there was a lot of focus on encoding the world and the rules associated with it manually. Effectively, scaling out the knowledge of experts by embedding it in computers.

I actually wonder if we're swinging too far in the opposite direction of data vs. "understanding" the world. It may turn out that we can make some things pretty good using ML but not the last 5% needed to make them truly usable.

> I actually wonder if we're swinging too far in the opposite direction of data vs. "understanding" the world. It may turn out that we can make some things pretty good using ML but not the last 5% needed to make them truly usable.

Interesting hypothesis, care to expand your thoughts?

Are you saying something along the lines that our current ML techniques builds an initial raw decision with statistically-based reasoning, that usually works 95% of the time (Metzinger's "sentience"), but to solve the remaining 5% of edge cases, we need to build more reasoning-style decision-making (Metzinger's "intelligence")? Metzinger is covered by Peter Watts [1], jump to the "Sentience/Intelligence" section.

And also the wealth of venture capital that existed in the 1980's to fund AI dried up and from ~90 to ten years ago it was nearly impossible to get significant startup funding for an AI play, despite the epic influx of capital in the 90's. AI missed out entirely on the dotcom years.

I worked there for a time and can tell you that many of the creatives I worked with assumed that if Watson won Jeopardy, then it could do literally anything (indeed talking to you like a human), so a lot of the creative concepts were pretty far fetched.

I'm still there :-( I was amazed and I could hardly wait to integrate this incredible service into my apps I was writing at the time. Then I took a look into the services and realized that they were too primitive to build any type of AI. How did watson win Jeopardy? The world may never know....<cough>fraud</cough>

Wasn’t that the same type of conflict that doomed the Newton? The engineers didn’t want marketing to talk about the handwriting recognition (nice extra, look what other things we do) but marketing ignored them. The Newton never recovered.

It wouldn't have been the primary. The Newton had an on screen keyboard like products today. Innovation is only innovation if it works, and the Newton had a lot of amazing things going on, some of which the iPhone doesn't even attempt. The emphasis on handwriting recognition killed the product (along with a healthy does of hatred from Steve Jobs).

It really didn't kill the product - Jobs did. Yes, the Newton OS had some great stuff in it - I loved the soup model, but in terms of a newspaper or billboard ad? The handwriting was a no-brainer. Yes it was mocked - in much the same way that Siri is mocked today, but with small adjustyto your native handwriting written input became fast Nd accurate

It was mocked before on national tv when national tv was still a thing. It killed any hope for that product. It was mocked on tv, comics, and everyone who did a review. Heck, the Simpsons mocked it long after. It had plenty of billboard quality features (the intelligent stuff was practically built for ads) much more than its simpler, limited competition.

I do think it was positioned wrong. Which is amazing given how clear their actual positioning was. Big data and ML are big business opportunities. IBM's marketing just jumped the shark and could lose a lot of market share due to it.

Crédit Mutuel (a french bank) has adopted Watson [0] and it's not encouraging : it was supposed to help answering emails, : they had to describe manually the concepts in emails and create topics in which looks a lot like decision-trees (and reminds me of this 1985 ad for Texas Instrument's Lisp AI https://www.scientificamerican.com/media/inline/blog/File/De... scroll to see the ad)

Indeed the whole thing looks like a database with basic AI as a sales argument...

Totally. I observed a support chatbot project that didn't quite meet up with the vision.

Even based on the technical marketing claims the consultants were coming in with, it was a product less capable than the IBM Prolog-based expert systems that I built out 15-20 years ago to triage and correlate network events in a large WAN infrastructure.... and that was a product with a whole slew of major implementation and operational problems!

> ...product less capable than the IBM Prolog-based expert systems that I built out 15-20 years ago to triage and correlate network events in a large WAN infrastructure...

That sounds like IBM Tivoli Enterprise Console (TEC). They wrapped a big Prolog-based DSL that the users wrote their correlation rules in, around the underlying Prolog engine. You could dip into the raw Prolog if you wanted, but it was considered an advanced user technique. The vast majority of "advanced" users used the set of cookbook Prolog functions the DSL was represented as, and even more users only ever touched a GUI that represented a tiny subset of that cookbook. People figured out what parts of Prolog the Prolog engine actually supported mostly through trial and error at first, before IBM finally published more details about it.

This rules-based approach ran into the same challenges of expert systems: beyond a certain threshhold number of rules, reasoning about the rules logic became dramatically more difficult. It didn't help that IBM never supplied support tooling for the underlying Prolog engine to aid in performance profiling, debugging, build support, etc.

The lesson I drew from that experience is if you supply your users with an embedded language in your app, make sure the advanced users get access to the kind of tooling full developers want.

It is interesting to see that the Watson-Jeopardy system uses Prolog [1]. I have to wonder how much of that was re-purposed to the chatbot project you observed. If it was, then its disappointment might be predictable; the range of possible problem spaces in a support setting is going to be larger than the relatively more constrained NLP of the Jeopardy format.

I've yet to see a good NLP system oriented towards technical software support, backed by a support knowledge base, that functions substantially better than current text searching and result ranking technologies, so I'd be very interested to hear about other people's positive results with applying machine learning to this area.

NLP is amazing. But getting facts and information into a chat bot is not easy or cheap.

Typically people are deploying chatbots as a cost cutting measure to reduce labor. Sometimes that means using the chatbot as a fancy IVR, getting customers to abandon the transaction or any of several other paths. Actually answering the questions doesn't always matter!

Which is odd as the Jeff Dean pattern of "small feedforward network to say if this mail can be answered and then deep rnn to create an answer" seems to actually work. So how come IBM haven't just lifted it?

Side note: whatever happened to article-sized advertising from computer periodicals? Just like this one, they actually manage to be informative while remaining sober and honest about their intention. Not to mention it includes enough prose to develop a serious flow and style.. you can't fit that into a banner ad

You speak as if AI is something that actually exists. The term AI is always a sales pitch (or the name of a field of research). In the '50s and '60s they called various symbol manipulation programs AI; later it was expert systems; now it's statistical clustering.

IBM is a dying giant, I've seen it languishing for years. Their massive screw up was a decade ago when they decided shareholder value was more important than having good engineers. They've since gutted their R&D departments and all that's left are duds and underpaid undereducated consultants rented from places like Accenture.

The only good thing to come out of IBM in years is their Hyperscan regex library and unsurprisingly they don't market it at all or build practical applications with it

In the 80's IBM was an unstoppable juggernaut. In the 90's it was Microsoft. Then Apple. Now Google/Amazon.

Conventional wisdom is that, in a free market, a single corporation will grow to rule everything. But that never seems to pan out.

Part of the reason is that the larger an organization gets, the more inefficient and bureaucratic it gets, the less it is able to adapt. See "The Innovator's Dilemma", a book everyone interested in business should read.

The main reason is that corporations run like command economies internally, and have to compete(ish) in a market externally. So resource allocation in a corporation is a bureaucratic, political task. This is why big companies notoriously suck at everything after a while, since internal management just starts pillaging business divisions for resources and pet projects

Large firm sizes are encouraged by state protections like patent law, regulatory capture, and other monopolistic advantages granted by anti free market practices.

The economic calculation problem, described my Mises in his criticism of centrally planned state economies, starts rearing its head in large firms as well [1], leading to the inefficiencies you mentioned.

Oddly enough Microsoft is the only company I can see bucking this trend right now. The other big guys youve mentioned have essentially slumped down into their respective markets and drawn up battle lines, whereas MS really seems to be pushing into new territory. I wouldnt be surprised to see them come back into mobile with a Surface phone that gives Apple a run for their money.

Satya is largely responsible indeed, but he is just executing on the foundations laid out before him. The foundations were shaky, but they were still the right ones. I think too much credit is given to Satya. Maybe people just wanted to see someone better than the previous CEO.

Windows Phone, once they got over to the Metro UI, was quite good. I would say from a design, UI and system perspective, it was significantly superior to Android and within striking distance of Apple and iOS.

The issue with MS isn't whether or not they can build a quality mobile OS (they can), but rather it's whether or not MS can build an ecosystem with enough buy-in from companies to build apps and services.

I'm sad to see MS do so poorly with their mobile OS, considering how good it is.

> ...it's whether or not MS can build an ecosystem with enough buy-in from companies to build apps and services.

I think there might be a titanic fight shaping up in the economy to build out and secure ecosystems in a more Net-centric future. The WalMart diktats to truckers to not drive Amazon loads are just opening salvos in this war, for example.

I see healthy, vibrant ecosystems with a bidirectional value exchange as a way for very large companies to mitigate much of the damage inflicted by their own size. Unfortunately, most large companies are trying their damnedest to build out ecosystems as command and control bot networks, and see it only as a profit source to unidirectionally squeeze. That's tempting because it's so easy, but it means your command and control decisions must be better and more timely than the ecosystem's wisdom of crowds, or you'll suffer the consequences.

The thing is there really isn't a corporate/business market anymore. The company I worked for stopped buying corporate phones and plans and just gives us money every month to put to a BYOD solution. We just need to use a phone with certain security requirements. We also have started procuring software and services to fit into this world.

We still have people buying Blackberries on their own. There are plenty of people who want a phone that's good for work.

A phone that works great with corporate networks, allows for editing Word and Excel documents, could have gone very far a few years ago. Even getting corporate app developers to port their apps to Windows phone would have been easier than chasing Zynga down.

> We still have people buying Blackberries on their own. There are plenty of people who want a phone that's good for work.

This article[1] seems to run counter to your intuition:

> In the fourth quarter of 2016, more than 432 million smartphones were sold, according to a report published on Wednesday by the research firm Gartner. Of those, just 207,900 were BlackBerry devices running its own operating system.

> That gives the Canadian smartphone company a share of the overall phone market of less than a single percentage point. To be precise, it's 0.0481%.

> Even when you include BlackBerry's devices running Android, its numbers are still incredibly low. Last year, CEO John Chen said the company sold only about 400,000 devices in the second quarter.

Blackberry's market share is much nearer my own (i.e. 0 phones manufactured or sold) than it is Apple's or Google's.

With existence of antitrust laws, or government regulations in general, it's not really a free market. Both IBM and Microsoft were hit with antitrust issues. Standard Oil or even AT&T are some examples that come to mind. I bet there are countless other examples where consolidation was either prohibited by regulators, or not even attempted in the first place due to antitrust issues.

> Conventional wisdom is that, in a free market, a single corporation will grow to rule everything. But that never seems to pan out.

The extreme scenario doesn't pan out - we don't end up with one eternal corporation that owns all capital. But certainly it pans out in a more realistic scale of size and time; there are and have been plenty of monopolies in many industries, and the overwhelming power and influence of large corporations, and the damage that power and influence does, is well documented.

> *Part of the reason is that the larger an organization gets, the more inefficient and bureaucratic it gets, the less it is able to adapt."

Which is a symptom of publicly traded companies, right? It creates this weird system where finding a niche and serving it reliably year in and year out is considered failure; you're only succeeding if you're constantly growing, which means you inevitably collapse under your own weight.

Just today I had a 10-minute chat with one of my colleagues from marketing about AliExpress. I live and work in Eastern Europe, and almost all the people who do online sales rely on a Chinese company like AliExpress. Some of those people were using the UK as their source of buying merchandise until a couple of years ago, not anymore, it's all China now. The US (and the UK&Ireland) are losing big on this because Amazon's stock-price is blinding them. IMHO Amazon is going to hit a wall in terms of online sales sooner rather than later and the only thing that will be left to save them will be AWS.

The Hyperscan website (https://01.org/hyperscan) says it was built by Sensory Networks Inc, and then bought by and released as open source by Intel. No mention of IBM. Are you thinking of something else?

> Their massive screw up was a decade ago when they decided shareholder value was more important than having good engineers.

IBM's management believed shareholder value was important, in about the same way Bernie Madoff believed his investor's well-being was important. Which is to say, not at all in actuality.

IBM's management was negligent in regards to shareholder value in almost every way possible.

Believing shareholder value was so important, would require simultaneously believing having good engineers is critical.

The management decided to fleece the company for their own near-term benefit, to the detriment of shareholder value (which is now being represented in the stock price accordingly, and it'll get much worse, soon).

Dying? How so? Lots of companies have their legacy IT infrastructure built on top of IBM's mainframes and products. Who's innovating fast enough to provide a compelling enough reason to replace all that infrastructure? Perhaps IBM is just stable and uninteresting, like most blue chip companies.

IBM have been what seems like this bureaucratic monstrosity ever since the started. But that was back in the 60s.

I appreciate their perseverance if nothing else. If you look at the fate of companies like Nokia, IBM has some how managed to avoid this what has been meteoric shifts in their business.

Plus competition is always good.

Watson itself clearly was a great product and a big step in the development of AI. Just because the marketing department is making a mess of things shouldn't take away from the work that was done on Watson in the first place.

A couple of years ago I was given a project that was essentially "Evaluate Watson APIs to see if there's anything there we could make use of", and came away with the distinct impression that it was largely smoke and mirrors, and there was very little that was either effective or interesting there.

Our IT department has been talking about Watson for a while but I never could get anything out of them what it's really supposed to do. From what I can tell it's a very slick marketing term with some mediocre tech behind it.

As far as I understand (and I have only passing knowledge on this, as we've been evaluating machine learning technologies for our startup) IBM Watson is just a set of APIs you can use to build your own solution, and the APIs themselves are not top-of-the-line (Google's are.)

The other day I saw a TV ad for Watson for the first time: the ad showed a bunch of aeronautical engineers who instead of having to take all kinds of measurements of airflow around a hull or who knows what else (the TV was muted) now sat behind a single computer that would do the whole thing for them. It was such bullshit, I couldn't believe my eyes.

Imagine Amazon promoting SES as this amazing tool that'd automatically send marketing emails and create a marketing funnel and drive user acquisition cost down by a factor of 100X, without you having to do anything. That's the level of vaporware they are selling.

Very few out of the box machine learning services work other than speech-to-text by the worlds greatest company in that field (google). It's not a case of roll your own but find companies that can help you deliver s solution to your specific problem. (That is my business)
This is the absolute bullshit of Watson. What it could be is a series of very good datasets and then being able to build models (based on recipes) and deploy them. It's so unbelievably clunky though. And Bluemix? Urgh

My team and I were able to build a pretty good chatbot with Watson two years ago. We used Google for speech-to-text, however, as we found IBM's to be behind in that area. We had to use a Node.js proxy with a couple libs to parse out some natural language features (like time)...but overall it worked pretty well. At the time, it was the only open system I knew of to write things like this. Today, of course, there's the Alexa API from Amazon and Microsoft's LUIS, which are probably vastly superior for this sort of thing.

I'll give you my experience. Manager asked me if we could use the Watson Speech-to-text API a couple of years ago, because he was impressed with the ads he'd seen. I worked for a week. Turns out the "dialect" of spanish that is spoken in Argentina (and this was tested against porteños, not even the accents from the provinces!) is utterly unsupported. Even when speaking slowly, it'd throw a random set of words with even more random looking probabilities.

Manager was expecting that after a week we'd have something akin to Googles "hello google!" at hand, through Watson. It took a couple of coworkers to come up with even more impressive broken examples to finally convince him that the technology was bad.

Interesting! Thanks for the concrete example. It's bad enough trying to convince managers as to the specifics of why some product doesn't work for your project.. even worse when said product has great marketing.

The dirty secret is that IBM Watson is just a brand for their army of data consultants, and their consultants aren't very good. In my experience working for a competitor in this space, IBM Watson was widely agreed to be smoke and mirrors without much going on

At first I was annoyed by your comment, but then I realized how true it is and sulked instead.

The good consultants are leaving as soon as they hit the end of their first promotion cycle. The duds stick around and assume the upper-level manager roles. The group is in bad shape now and poised to get worse in the coming years.

As someone who's worked in that space, I'll repost the short version of a comment I made before: it's an economics problem.

Services Profit = Bid - Employee Cost + Upsales

Bids are only so flexible. Employee cost is much easier to minimize. So inevitably, all consultancies trend towards providing the cheapest employees that will satisfy the customer. And if the customer isn't constantly vigilant, the quality can get pretty dire indeed (BAs who just learned to "code" yesterday).

Holy shit man. This was literally my experience with Accenture. I worked side-by-side with them on a massive IT project. Their team was like 60 liberal arts grads willing to work 80 hours a week configuring some COTS software and 4 managers making sure they don't go home. I think they just use India now instead.

Depending who you get this could be an upgrade. I've met some damn good Indian programmers who work for contracting shops (and, sadly make way less than they would in the states). But, I've also met some who literally don't know how to code.

The ones you encounter in the U.S. are the cream of the crop. It gets very spotty when you look at western-based outsourcing shops like Accenture or Deloitte and then when you go to Persistent, Capgemini or Infosys it's a shitshow.

Fundamentally, the problem is that these firms are used for work that is not valued by either the customer or the implementor. The primary concern is cost. If you are a developer for a tech company working on core products, you drive revenue and are important. If a feature you implement is marginally better than the competition, your firm can win the market and, due to economies of scale, the revenue gain will be huge. Because revenue is sensitive to small differences in quality, you want the best possible developers that you can afford.

As a result, developers viewed as part of the firm's comparative advantage are paid well and treated well. But if you are a DBA working at walgreens, then you are not a part of the comparative advantage of the firm. If you are marginally better at your job, revenues will not go up. You are a cost that will be outsourced in a heartbeat if the firm could save a dollar. Or like doing landscaping at Google. Regardless of how awesome Google is, they are going to look at their landscaping expenditures purely as a cost. Revenues will not go up if you do a better job. Thus they don't care about getting the best possible landscaping, they want adequate landscaping, like water running out of a tap.

That's the type of work that is passed on to these outsourcers. It may be technical in nature, but there is little to no perceived marginal gain in the work being of a higher quality than the minimum amount necessary to be fit for use: maintenance of products that companies no longer want to invest in, but they have service contracts in place that require maintenance. The goal is to minimize cost while not breaching the contract. Or bespoke work in the B2B space where you don't get the type of economies of scale that result in a meaningful revenue bump when one particular piece of code exceeds expectations. In all these things, the driver is the cheapest talent such that the output is adequate.

That means that these jobs are not rewarding to the developers who do them, and so these firms have huge problems with turnover and keeping good developers motivated. Those developers who remain are the ones who don't mind working on code that no one cares about, being paid poorly to do it, and being treated as expendable. In other words, the least motivated, passionate developers are the ones who remain. It is no wonder that they will tend to be the least talented.

One thing I love about HN is the willingness of people to name names in stories. I don't always do it because of fears of repercussion, but I appreciate people like you who do. Thanks for saying the word "Accenture".

In this case, the names are completely interchangeable. I had precisely the same experience years ago on a large ERP project on which Deloitte was the lead consultant. After the beachhead team (which was good) rolled off the project, the backfill consisted of an army of fresh-outs straight from Deloitte's consultant boot camp, billed out at a rate a developer with 6-7 years of experience should have cost.

People have very public debates about consumer brands. Apple or Google or whatever. These B2B businesses can stay out of the spotlight and get far less press. There's an open market for their services and their value is based on reputation, so why not express some unvarnished opinions? Especially when I'm being anonymous online.

I worked for PwC BPO but observed the management consultancy before IBM acquired them (grey day). Take a graduate, any graduate, send them to boot camp to learn java for 8 weeks, deploy lemmings to client at a lot of money per hour, replace dead lemmings with new fresh lemmings. Those that could handle it would rise through the ranks via attrition. Great business model, awful code.

I was shocked to see this comment as it rang so true for me. I worked at Oracle for many years, and I think it's a pretty well run company, but this theme of "the smart people leave, the dumb people stay and promote other dumb people" is very true. Mark Hurd is the current CEO, and I think he's really good (even though all the people on www.thelayoff.com absolutely revile him), but there is a reason he came from outside the company.

I know for a fact that one of the subsystems for a major energy multinational was supposedly "Object Oriented" but which had absolutely no instance variables and no instance methods. Instead, "objects" were actually represented as what were essentially contiguous regions of arrays of structs, and everything was implemented in the form of oodles of cut-and-paste variations of essentially the same 4 index incrementing merge-like deeply nested looping/conditional class methods which called the other variations recursively. This wasn't an obscure system either, but was actually responsible for hedging all of the trades for that major energy multinational! When that subsystem had a bug, multi millions of dollars of trades would go un-hedged each minute.

Just a week ago I did a little side-job for a client who was previously helped by a moderately-sized web development company (100+ employees) with a WordPress site. They were too expensive for him.

There's so much I could say about the crap I found (and if someone asks I'll be happy to!), but I can summarize it by saying that it was bad even compared to the what I've come to expect from WP sites that are plugin- and WYSIWYG-layout-builder-laden, to the point of being utterly unmanageable from the WP backend interface, even on a local setup, because just exploring the ridiculous custom interface pages take ages to load.

I truly cannot imagine this code being written by anyone but a lowly, unsupervised intern at this company. And yet, based on my experience, it was probably just some 'regular' employee, unnoticed by his manager, and his manager, and the client none the wiser because how should he be able to assess competence.

That being said, if they weren't trying to eke every microsecond of performance out of the system, then that's pretty poor design, maintainability wise.

She wasn't trying to eke every microsecond. There were some smart guys on our team, and we were all afraid of that code! The programmer who wrote it would fire back about her Mathematics PhD if you ever tried to bring up Object Oriented design. When I was there, she would sit in the cafe downstairs eating a sandwich, until something broke. She wrote herself fantastic job security!

Unfortunately, it is not. I heard about idiocy like this a long time ago from a developer friend of mine, I was also skeptical. Don't know why but have witnessed similar levels of stupidity too often to keep track. There literally is no bottom. None.

BigCo (using Ruby On Rails) that I worked for once hired a developer. He'd worked for Microsoft and the only 'issue' was that he had to use a mac in our environment. Or so it seemed.

After two full weeks of him quietly 'working' at his new MacBook, I got a bit suspicious about the fact that he'd not asked for help once. So decided to check up on him and ask him how he's settling in with the codebase and if he could use any help.

He opened up his editor to show me something he was struggling with. I gave some suggestions (look at this code here, do something similar).

After some back and forth it became clear that:
1. he was entirely unfamiliar with Ruby On Rails
2. he had no idea how to use a Mac
3. he had not bothered to learn how to use a mac while sitting at his desk for eight hours a day for two full weeks
4. his approach to copying some existing code and then changing it for the new use case involved mostly clicking through the Edit menu. He was less familiar with keyboard shortcuts than my mom and her mom. CMD-C was not in his vocabulary.

He was let go shortly after, but of course he did get a full month's pay, an amount that would comfortably support the frugal freelancer for at least another three months.

Honestly, I'm mostly thankful for this situation. It cured a decent amount of my 'impostor syndrome'. It also left me wondering how these kinds of things happen.

This company was one that lots of good developers would want to work for, in one of the most desirable cities in the world, and they were constantly in need of good developers. I was baffled by the mismatch between what the market offered (plenty of good developers, more than most cities) and their constant need for developers, to the point of hiring this guy and not realizing that he didn't know the basic copy and paste keyboard shortcuts until two weeks in.

Not knowing keyboard shortcuts is a bit much though, wouldn't you agree?

I do think that he might've had a chance (perhaps downgraded to a junior position) if he'd shown willingness to learn though. The fact that he just sat there for two weeks pretending to be busy was the primary reason he got let go.

I rarely use code folding. Furthermore, few people other than programmers use code folding.

Not knowing the copy and paste keyboard commands is a completely different realm of incompetence!

But you're right that lots of developers don't know many keyboard commands. I was being a bit too broad. Personally I can't imagine how any programmer would not bother learning keyboard shortcuts (or even better vim keybindings), but I've met plenty who didn't.

It seems odd that someone would not know the copy/paste keyboard shortcuts, but the most likely explanation is that he hadn't figured out that it's Command+C rather than Ctrl+C on the mac.

That being said, while using the 'edit' menu to copy/paste is clumsy, I don't see that it would actually have a significant effect on someone's productivity. So I would not go so far as to say that someone was incompetent just because they did that.

Typically you get a few good engineers and then eventually they get swapped out mid period of performance for "other projects" (or leave their firm) and there's not really a good option for saying "no" without killing the whole project and going through proposal overhead again to encounter the same problem.

The ones that do stay in that environment either have golden handcuffs or are goddamned patriots and love the challenge. I like to think many are the latter as government is an amazing place to do impactful work that is too important to screw up.

Catching them would require that other engineers are probably pretty rude or mean to them. Asking questions like, "How do you seriously not know how to X?" and reporting them to management. I think most software engineers are more likely to be a little on the friendly side and instead give the bad dev a pointer in the right direction or a few minutes of mentoring here and there. Then, eventually, the bad dev becomes an ok dev, and so on.

For example, I can be relatively rude and direct (without meaning to be about half the time), but when someone tells me a story that strikes me as unlikely or heavily embellished, I feel really uncomfortable challenging the story, because it's tantamount to saying "you're lying".

In the situations where I was 'conned', in hindsight I could have probably found ways to test the person involved surreptitiously. It just didn't enter my mind to do so. But openly challenging them just felt wrong to me, and it still does, because if you're wrong you just accused someone of lying.

So these days I make a game out of finding ways to surreptitiously test the people around me. I often forget how useful that approach is (trust, but test), and I guess your comment reminded me to apply it more.

I think it's generally not useful to attempt to assess a person's honesty through conversation. It is very hard to distinguish between lies, foggy memory, or a poor conceptualization on the speaker's part.

Whether its a good plan to challenge someone's honesty actually has nothing to do with whether or not that person is lying, even if I have certainty and evidence. The question is: what is the best thing I can do for my life? If my accountant lies to me, I will call the police. But if someone turns out to not be skilled as claimed? It depends on context.

It doesn't advance my life to tear down someone else; the best thing I can do is try to build my own understanding and take action. My approach is to be curious, actively listen, and ask clarifying questions. This can be as simple as saying "tell me more about that." Once I have enough information and context, I can judge claims and ideas directly.

To be clear, I try to make sure it's in no way an 'open' challenge. Usually it's an entirely innocuous question that at least for me is a 'tell'. And usually at least a few more of those to make sure.

It's not about tearing down someone else, it's about assessing the validity of someone's statements.

I might have presented it as more suspicious/antagonistic than I meant. My actual approach is pretty much as you describe in your last paragraph.

Basically, my approach to 'new humans' is the biblical adage: "be as shrewd as snakes and as innocent as doves", because I do believe, as in the biblical context, that good people are sheep among wolves. I try to be a good sheep, but I know for a fact that I can't handle wolves without being clever.

So far it works pretty well for me, but I've found it difficult sometimes to explain how I try to be both a sheep but shrewd, calculation but not shrewd or manipulative.

Sorry, the post wasn't at all intended to be a personal attack. All I'm saying is that someone willing to immediately call something out as "shit" when it comes from a less experienced dev on their team likely comes from someone with a toxic attitude or someone in a bad working environment. Most of us stand on the shoulders of giants and would have never got anywhere if our mentors were downright rude or mean to us.

In corporate environments that I've experienced, the otherwise very argumentative developers would never actually challenge Employee No. 9610 in their basic skills. There's a formal distance in every interaction, pros and cons.

But in the few startup environments (<15 people) the culture was much closer, and there's no way that they would not have been 'caught' very early on, probably even in the first interview.

Even the nicest manager and teammates in the world don't have to proactively call someone out on being incompetent if every sprint their tickets are going unfinished, etc. And with the tooling, it's an automatic paper trail.

Oh don’t get me wrong, I don’t think it’s a good thing to be a jerk. I’m at a startup now with an extremely nice and respectful culture. That doesn’t mean people keep their opinions to themselves.

You can’t realistically look at engineering culture and say wow here’s a sympathetic bunch who stay quiet when they see something wrong. Just read what industry leaders Richard Stallmen or Linus Torvalds write.

I resent Linus being bad-mouthed. Only because he is kinda famous his occasional rant is published everywhere. Normally he's a very laid back and reasonable guy. He's definitely not someone who is toxic in the workplace.

>Asking questions like, "How do you seriously not know how to X?" and reporting them to management.

Exactly. Between my freelancing and full-time experience, I've been involved with dozens of teams. Very few of them react well when you question their abilities, no matter how fair and justified the question.

I had problems with Watson to the effect that not even the documentation matches reality. There are some fairly basic things missing from their NERC offering. I can tell you that the functionality that is missing is so basic (e.g. negation) that without a doubt, no one in IBM has ever used this offering in practise beyond a toy example.

The idea that IBM Watson is some uniform AI in a box with a bunch of REST API's to "expose" its intelligence seems to be the sales pitch. It's not. It's just a bunch of acquired products (you can see this when e.g. Watson Knowledge Studio breaks and you see the Python scripts that glues everything together in the backend) that are poorly integrated, probably because the left hand has no idea what the right hand is doing.

IBM has almost zero credibility in deep learning and AI. They haven't hired anyone of note. They haven't produced any novel or influential research in the field in years. And yet they air these cheesy Dylan ads and the rubes fall for it. Watson is a Theranos-scale fraud, and it's finally coming out.

I know someone who is intimately involved with IBM Watson, they are highly educated and constantly diss the system. Calling it, 'Just a large database'. If Watson was a true breakthrough, it should be gaining marketshare throughout it's specialities but it's not. Google is leading the industry with DeepMind; Facebook and Microsoft aren't far behind. I'd encourage others to be very skeptical of the PR that IBM is pushing about their Watson problem.

disclosure: I haven't read the article but wanted to share a related story.

Many years ago when I worked for a company that decided our existing ecommerce app was too terrible to fix and would be too much effort to rebuild, we talked to a number of vendors, including IBM. The marketing materials and salespeople made a compelling case, but deeper dives into the app itself and the support engineers behind it convinced even the most enthusiastic internal cheerleaders to look elsewhere.

In recent years as news articles heralding the future of Watson for various industries (including healthcare and supply chain), I predicted a similar path. An amazing product in a very narrow environment designed specifically for marketing and selling purposes, and not very adaptable.

FTA: “And everybody’s very happy to claim to work with Watson,” Perlich said. “So I think right now Watson is monetizing primarily on the brand perception.”

Yeah, well, "duh."
What boggles my mind is people will read this, nod sadly, and continue not to notice that a whole bunch of what they think they know about machine learning, autonomous vehicles and so on is also marketing department hype.

I don't know if that's fair. To take self driving cars as an example, I've seen cars driving themselves around mountain View and Waymo isn't promising much more than that. Watson had ads with an intelligent voice but they were selling a bunch of programmers to make expert systems like it was the 80's but in java this time. I think by comparison those other fields are promising less and delivering more. Even if there is still a gap between what people think will happen in the next 10 years and what we can likely deliver in the next 10, it's nowhere like what is described in the article.

"Such "autonomous vehicles" will be a reality for "ordinary people" in less than five years, Google co-founder Sergey Brin said Tuesday."

How's that working out for you Sergey?

Self driving tech hasn't moved appreciably since the 90s. Computers are better. More people are trying it. Reality is, it's just collision avoidance with GPS. They rely on maps; what happens when the maps change? What happens when a kid runs out in front of one of these things?

Sergey isn't taking people's money based on that promise.
As an engineer I don't beat people up about realizing how hard problems are and not releasing crappy products. Missing estimates happens. It's another thing entirely to try and pass off a product as something it isn't to a buyer.

I like how IBM does very elaborate marketing ploys to hype their wares: like Deep Blue competing against Kasparov and Watson competing against Jennings to showcase IBM's engineering prowess. But it does sell the idea pretty well I think, but perhaps the idea is too grand/far ahead of the present.

Saying something like this does a big disservice to IBM's real accomplishment. Code a brute force chess engine, add some alpha-beta pruning, transposition table, or even some of your heuristics and let us know how it does. Just because it's not an adversarial RNN or whatever, it doesn't mean it's brute force.

Watson that won Jeopardy was a fantastic advance in information retrieval. Google introduced the knowledge graph a year later, but domain (jeopardy) specific watson was terrific. The sad thing is that they got captured by PR rather than sense; a focus on customer service and my bet is that they could have disrupted Oracle/Seibel out of 75% of accounts.

IBM would be ridin' high!

BTW. This is still on the table for IBM if they are prepared to invest 18mths and focus gung ho on Oracle. In 18mths it won't be as "other players" will have moved, like Sauron, to hit this market.

This just goes to show just how tragically far away we are from even beginning to build the rudiments of a strong general purpose AI. For all the fantastic achievements of systems like Watson and Alphago, and they are amazing achievements, they are radically optimised special purpose systems fine tuned to solving one extremely specific and narrow problem, and that problem only.

Watson is a case study in this, but I know Google has big plans for applying the tech behind Alphago in medicine. I wish them every success, but I'm concerned they will hit similar specialisation issues.

Untill you actually have a viable, testable plan to implement it almost allege money you throw at it is pretty much certain to be wasted.

The Manhattan project is often given as an example, but that project was based on solid theoretical models and repeatable experiments. They knew exactly what they were doing and how they were going to do it.

The problem in AI at the moment is mainly developing talent and expertise, not capital funding. I'm all for advanced research into technologies. However we need to advance that research on as many different fronts as possible in a flexible way simply because we don't know how we are going to solve the problem of general AI. Guessing on an approach and spending billions on it would be a complete waste. We're simply not at a point where that would do any good.

Agree, they should have focused on much more tractable domains before Medicine.

I think that there's an business case issue here; MBA's see this as the mega win, the research staff can't say "it won't work" (because you are immediately flagged as an obstacle to progress and the execs either cease to listen because they don't want to hear, or you get bullied with an avalanche of attacks on your team or sacked).

Until last week I was on a 6 month contract as a senior DevOps engineer for IBM/Watson. I was responsible for one of the huge real-time data ingestion pipelines that Watson receives. I left to work elsewhere in spite of being offered an excellent position. (If you guys are reading this, hi.)

I went to IBM not expecting much more than working as a cog in a lumbering giant.

Watson is the fastest growing part of IBM. If IBM has all of those eggs in one basket, it is the Watson basket. There were lots of jokes about cognitive in the office pool.

That said, it was by far one of the best managed companies I've seen. They have some fantastic data engineers and scientists. They are backing most of the open source projects related to AI and next generation tech. Spark, VoltDB...

The ads might seem sensational, but the concept of a black box that orders preemptive maintenance for an elevator isn't far fetched...

More over, Watson had so many current customers because it is valuable. The technical advisors that but products don't put faith in ads any more than we do.

Problem is deeper (and simpler). IBM does not look for clients, but rather victims. We clients end up being caught in an internal upsales fight. Nobody cares which is the best solution IBM as a whole can offer to you (their own people do not even know all their available tools!), but rather how much suboptimal stuff each salesman can load onto you. I'm on my way out of IBM...

IBM is focusing on using Watson to cure very specific diseases, like certain types of cancer.

I think a far better use for Watson would be to do initial diagnosis, for example my life got massively delayed because I got hypothyroidism as teenager, but only using internet data I could self-diagnose and self-treat (because doctors are still unwilling to help, not trusting data, and before someone come berate me for self-treatment, it is working...) as adult I could finally get my life 'started' (hypothyroidism affect physical and mental development, and slows down metabolism and the brain)

During my quest I met many, many, many people on internet, that had self-diagnosed with something using the internet as a tool. All of us would have been diagnosed properly if Watson was being used on the doctors office, using its data crunching capabilities and symptoms as input to find out what problem we had. (in my case: I have Hashimoto's disease)

> All of us would have been diagnosed properly if Watson was being used on the doctors office, using its data crunching capabilities and symptoms as input to find out what problem we had.

No, unfortunately, I don't think there's any basis to believe that you could have been diagnosed properly by "Watson". Maybe by better data management in medicine. Not by an IBM brand name.

From the article:

> “Why confuse people and make them think it’s going to find something that a physician couldn’t possibly find?... Then you’ve moved into what strikes me as unethical territory when you’re potentially giving hope to people who should never have placed hope in that kind of a system because it’s not a magical box that does that stuff.”

There was a thread a while ago on HN where someone mentioned they design EMR and EHR systems and for a particular module they design they couldn't put in autofilled dates because the nurses union saw it as a slippery slope to them being out of a job. Considering good spectrometers embedded in the cameras of smart phones are only a few years away, perhaps full blood panels coming just from the camera of your iPhone, can't say they are wrong.

As a physician, I say most doctors would enthusiastically welcome it. With today's constant threat of litigation, practically all doctors are getting second opinions on every diagnosis anyway to help defend their actions in case something goes wrong. If they can say "Watson agreed with my diagnosis" instead of "Dr. Jones agreed with my diagnosis", work gets done quicker. Waiting for second opinions is hugely annoying and a big time waster in a doctor's day.

If it worked in that way, which it currently doesn't (see comments about question answering systems and Jeopardy) in terms of the state of the art, we're... maybe 30 years off that, like as in we're 30 years off fusion.

Think about the human condition, think about human biology. Be clear- these are systems beyond current science... and doctors deal with them every day!

The current push seems to be in radiology. An AI that never sleeps and can read images and give you a good estimate of whether something is a tumor? It probably wouldn't replace humans entirely but it could be the first place that AI really gets into the process of diagnosis.

IBM has a toxic culture. They are the vendor lock-in Gods. Every company I've ever worked for has cringed at the mention of IBM, never suggested them as a new solution, and always regretted whatever if anything they locked themselves into.

They are the only company that charges you to sample their API's. They are the absolute worst, an infection that needs to be cured.

I'm working on a team for a platform built on open-source
software which actively replaced a previous IBM solution, and there are more services from other vendors being phased out in favor of internally developed tooling.

Seems like a good long-term investment, in an era where people are constantly criticizing CEOs for short-term cash-grabs. Why shackle yourself to a vendor if you plan to be around for awhile.

I overheard a good-'ol-boy businessman at a hotel bar a few months back. He bore an eerie likeness to Bosworth from Halt and Catch Fire, and was telling a younger gentleman about a project he worked on. "...so Watson comes in and they Algorithm the whole thing..."

It has trouble with negation outside the relevant clause. So it is not fooled by e.g. "I don't hate it" vs. "I don't like it", but the first of the following two sentences is rated more negative than the second:

I don't seem to hate it.

I don't seem to like it.

Edit: In fact it can even be fooled just by increasing the linear distance between a positive term and negation. The following is rated +0.6!

I think this is actually very accurate as to how humans use the sentence "I like it". If you cook dinner for someone and you ask how it is and they say "I like it" it generally means it's not bad but also not good.

Edit: My suspicion was confirmed when I tried "I like it a lot" had a positive sentiment with 0.711.

It's tempting to start whispering winter is coming, but I think one may reasonably hope that the current fashions at large have enough nuance to differentiate between this particular marketing gimmick and the broader developments in ML.

Personally I'd be happy to see the paragraphs/minutes at the beginning of far too many interviews about "intelligent" machines exchanged, from straightening out the misconception that Watson is an example of this new hot "Deep Learning" thing and one of the pinnacles of achievement in the field, for some type of more valuable type of commentary from leading researchers.

You are right - for specific tasks. E.g. in computer vision they are able to surpass humans for static image recognition. For image segmentation they are getting close already. For generating art they IMO have surpassed some "artists" already ;-)

If you think about it, even with 90% accuracy they are worth it as they could almost automate some cognitively-difficult tasks and for those instances that they can't do it properly, a human can intervene. So instead of 10 humans watching over something you end up with a single one. It would take some time until all we have in the research is in production and that will change a lot of things. After that there might be another AI winter (who knows if we can do general intelligence?), but with current pipeline it might take a while to reach plateau.

What's the second AI winter then? I only know about the 1986-1990 era, where "AI" was used in a broad sense covering everything from Prolog, expert systems, LISP, heuristic search algorithms, fuzzy logic to ML, neural networks and their generalizations.

From MIT[1]:
"The first chill occurred in the 1970s, as progress slowed and government funding dried up; another struck in the 1980s as the latest trends failed to have the expected commercial impact."

I saw a very humorous twitter exchange between a bioinformatician and IBM Watson's twitter account. The scientist asked them to provide any peer-reviewed ML publications and the best they could do was an abstract at a regional conference no-one has heard of. And it was a terrible abstract.

It's completely marketing. IBM still has a good name among people who don't know much about technology. They're trading on this and the current saturation of 'machine learning' in the popular press.

Well, the operational people will struggle to publish because it won't be on their scorecard, so effectively they won't be paid for it. Additionally many of them won't have any skills relevant to creating an academic publication and no nice professor to help them do it. So if IBM are going to publish it will be their lab.

In terms of publication rates, in universities it's a mill. All academics are measured on publication impact and because of the arbitrary and self reinforcing nature of impact the way to win is to sprinkle as many papers around as you can get your graduate student factory as you possibly can. The question is what is the actual utility of minting out the same paper with nine different authors?

The real crime is in using cancer kids to sell your product. I mean, who even does that? Even if you could cure cancer for kids, I find it incredibly tacky to go around making commercials about how you can cure cancer for kids, which aren't targeted at those who actually are in the position to use the technology, and its used to market to other tangential industries where the real money is. It's just despicable and you can tell right there its smoke and mirrors.

There's a special place in hell for anyone working at IBM or involved in the Watson project who is supporting this thing. It's damaging legitimate deep learning/machine learning industry and generally making a fool out of IBM, AND giving children with cancer false hope....just so IBM can try and stay relevant and make money?