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.
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.
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.
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.
What? A brand name which is just a word meaning "IBM Enterprise Products and Services" doesn't really live up to the marketing hype? I can't imagine such a thing.
Imagine analyzing product reviews to determine if it was positive or negative.
Type "I like it", and see the inaccurate targeted sentiment (neutral sentiment instead of positive).
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!
It was an odd acquisition considering IBM Watson's supposed sophistication. Why not just use Watson's components rather than acquiring a company that did roughly the same thing?
Which components? The Jeopardy-Watson didn't have any components immediately relevant to targeted sentiment analysis; it would make sense to acquire the missing components externally.
Quite a few seemingly similar AI/natural language/etc problems are actually very separate.
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.
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.
I've still got great shiny magazines from that time, though.
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 would not generalize from Watson to the current trends in AI.
I had researched into Watson when it had won Jeopardy, as much as I could publicly find, and concluded at that time itself that it won't stand up to the hype IBM is creating.
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.
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.
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.
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!
I haven't other than on HN, but I've been lucky in that I've had the opportunity to participate in some awesome and not-awesome stuff. Maybe I will start!
> ...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.
You guessed it! Based on a mailing list post, a colleague and I figured out how to pull facts in from an Oracle database and then pull in facts from there about system or MIB relationships.
We started with a really promising system that would let us call out to compiled python code and pull in some more capability. But by that time, we finished the original project and moved on.
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!
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
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?
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.
Completely off topic, but didn't IBM have a system called Watson in the 1990s that was used by the police? Try as I might I can't find a reference for it anywhere.
it's just a brand name at this point, which they attach to any machine learning they develop or acquire, and they should stop trying to sell it as a distinct technology.
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.”
This is painfully obvious, as this has been IBM for a very long time.
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?
Kids are used by scams/charities to lure in people for all kinds of things. The latest one is the cars for kids scam which used kids to get donations and who knows what they did with it.
This has always been my assumption. If Watson did anything close to how it's advertised, IBM would have a big competitive advantage by actually using it.
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.
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".
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.
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.
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.
> the problem is that these firms are used for work that is not valued by either the customer or the implementor.
Truth. I've noticed many contractors take specs _very_ literally. While that might be good in that the result won't be _wrong_, the product usually becomes quite brittle and can't "scale" well.
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.
Is it a bit like Deloitte? I keep hearing it's the shittiest of the bunch, but you do it for a while so you can move on and get a better job (or start your own company).
In this business, there is no rock bottom. I have seen people who would not know how to work with Java classes without main method. They were working on $100M projects.
I really have a hard time believing there are people so incompetent employed as software engineers? How are they not caught out? How do they get hired?
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.
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.
In larger environments this is exactly what process exists for.
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.
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.
Perhaps. I'm a pretty covering-all-bases type person and the most common (often inadvertent) con pulled on me involved people pretending to be good at something they weren't, in some way.
It's somehow really counter-intuitive and uncomfortable to challenge someone's honesty openly, maybe?
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.
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.
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.
There are many variants. I was hired into a group based on tons of positive reviews of my work from a variety of senior engineering roles.
When I got into the group, I was asked to do stuff I had never done. Okay, I start to learn it, but slowly.
Then I was reorged into a different group, doing stuff I had never done. Okay, I start to learn it, but slowly.
Then I was reorged into a different group, now I'm a Developer, when I've never programmed professionally before.
I am far far worse than my colleagues at even simple tasks. It's not that I'm not trying, I'm working tons to try and learn data structures, and programming to be able to complete my job.
But it would be entirely valid for my coworkers to feel the same way about me, as you describe about this guy.
It's likely going to take another 4-6 months before I'm competent at my job. Will my colleagues still care at that point? Will I be reorged into another position by then? Who knows?
And I'm an expert at many fields, just none of the ones I'm being asked to do.
I'd leave, except my colleagues are great, the topics are great, and if someone is going to pay me to learn how to be a proper developer, I'd be stupid not to do this.
But it's hard as fuck, and I'm certainly not pulling my weight.
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.
Go work in the government where many of these big contracts are granted. You'll see a lot of engineers borderline competent and a few good ones who manage to keep things running.
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.
You know why the FizzBuzz test is used? It's because a lot of senior devs with 10 years of experience really can't code a solution. They work at companies that don't do FizzBuzz style tests.
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.
I'm not disagreeing with you, but from what I know about WP, it could have been auto-generated. The plugin ecosystem is extremely varied and does lots of crazy shit
I and I'm sure others here would be delighted to hear those stories about the crap you found. Those are often the most interesting kinds of stories, fire away!
Densely packed structures with no object oriented code sometimes make sense in latency critical code and are not uncommon in financial systems.
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.
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!
More than once I've seen "experienced senior developers" who write code in Microsoft Word and then don't understand why the smart quotes cause compiler errors on their string literals.
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.
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.
> "the smart people leave, the dumb people stay and promote other dumb people"
This is sometimes referred to as the 'Dead Sea Effect'.[1]
The same way that water carries salts and other minerals to the Dead Sea, and then the water evaporates while the salts accumulate.
Similar effect with hiring a mix of good and bad people, and over the time the good ones leave because they have options while the bad ones stay and accumulate.
I actually love the idea of Watson being used for healthcare...
Sadly I think it is being used wrong...
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)
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.
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.
Because, in theory, if anything goes wrong during the course of a patient's care the doctor can just say "Watson agreed with me" and the chance of litigation drops dramatically.
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.
> 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.”
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
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?
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.
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.
if you work or visit China you basically must use WeChat, Alipay, and Baidu. the great firewall blocks the competition and everyone in China uses the homegrown equivalents.
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.
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.
> ...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.
I used to have a piece of paper with the top 10 US companies by market cap, decade by decade. You didn't have to go very far back in time to find companies you don't recognize :-)
The list of Dow components is a particularly compelling study. It firms up in the 1920s and 1930s, and is relatively stable through the 1950s, then starts turning over at an accelerating pace.
See also Deloitte's "Shift Index". A Forbes writer has covered this for years. A long-term secular decline dating to the mid-1960s. Measuring return on invested capital.
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
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.
> *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.
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.
> 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.
> 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.
It's not just dying, it's shedding customers. The only reason the stock price isn't in free-fall is because it's cutting costs rapidly via outsourcing and also buying back shares.
IBM Real(1) annual Revenue (in billions of 2016 dollars):
1986: 111
1996: 116
2006: 109
2016: 80
(1) adjusted by BLS CPI Calculator
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.
It will happen again. The use of the phrase "artificial intelligence" itself ought to be forbidden until such a thing actually exists in the corporeal world.
maybe an 'AI recession' is plausible but a large scale loss of interest is unlikely given that AI / ML / deep learning (pick your favourite word) is already too embedded in commercial application.
Like always the hype in the field is strong, but this time we actually have the data growth we need to produce palpable results (and already have).
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.
I should have added: healthcare. No shit IBM research has publications, they have their own journal. Also, 15 publications in 3 years is pathetic. c'mon
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?
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.
293 comments
[ 4.3 ms ] story [ 279 ms ] threadas a side note: it just sounds wrong to have the words "hating on" in an article title.
disclosure: I haven't read the article but wanted to share a related story.
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.
I wonder how often that happens.
EDIT: I have to say, I bet this happens quite often in fact, especially with software.
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.
Imagine analyzing product reviews to determine if it was positive or negative. Type "I like it", and see the inaccurate targeted sentiment (neutral sentiment instead of positive).
If you change your example from 'I like it' to 'I like puppies', the 'targeted sentiment' changes from neutral to 'puppies positive 0.550431'.
While the first example you found does seem odd, the rest seems to work quite well. Maybe it just has problems attaching 'it' to a 'target'.
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 don't in any way shape or form like it.
https://cloud.google.com/natural-language/
Quite a few seemingly similar AI/natural language/etc problems are actually very separate.
Edit: My suspicion was confirmed when I tried "I like it a lot" had a positive sentiment with 0.711.
Edit: Spelling
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.
I've still got great shiny magazines from that time, though.
[1] https://www.technologyreview.com/s/603062/ai-winter-isnt-com...
I had researched into Watson when it had won Jeopardy, as much as I could publicly find, and concluded at that time itself that it won't stand up to the hype IBM is creating.
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.
Indeed the whole thing looks like a database with basic AI as a sales argument...
[0 - in french] http://www.silicon.fr/credit-mutuel-non-ia-watson-magique-17...
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!
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.
[1] https://www.cs.nmsu.edu/ALP/2011/03/natural-language-process...
We started with a really promising system that would let us call out to compiled python code and pull in some more capability. But by that time, we finished the original project and moved on.
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!
[1] https://en.wikipedia.org/wiki/Xanalys
https://en.wikipedia.org/wiki/HOLMES_2
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.”
This is painfully obvious, as this has been IBM for a very long time.
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?
Charities?
Source: former president of children's cancer research foundation
In my defense we were actually trying to make a difference in the world not sell software.
I mean, to be fair, I don't think selling software and trying to make a difference in the world are at odds with each other.
http://www.nbcnewyork.com/investigations/Kars-for-Kids-Cars-...
https://en.m.wikipedia.org/wiki/Kars4Kids
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.
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).
BPO / offshoring is a whole other can of rotten worms.
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.
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.
Truth. I've noticed many contractors take specs _very_ literally. While that might be good in that the result won't be _wrong_, the product usually becomes quite brittle and can't "scale" well.
Update: I’m not saying this is a good thing, just an industry observation.
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.
That said I’ve witnessed plenty of cringeworthy moments watching members of the MIT community deal with guest speakers during Q&A.
It's somehow really counter-intuitive and uncomfortable to challenge someone's honesty openly, maybe?
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.
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.
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.
I think everyone is going to get a lot quieter, as you don't know who's listening.
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.
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.
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.
When I got into the group, I was asked to do stuff I had never done. Okay, I start to learn it, but slowly.
Then I was reorged into a different group, doing stuff I had never done. Okay, I start to learn it, but slowly.
Then I was reorged into a different group, now I'm a Developer, when I've never programmed professionally before.
I am far far worse than my colleagues at even simple tasks. It's not that I'm not trying, I'm working tons to try and learn data structures, and programming to be able to complete my job.
But it would be entirely valid for my coworkers to feel the same way about me, as you describe about this guy.
It's likely going to take another 4-6 months before I'm competent at my job. Will my colleagues still care at that point? Will I be reorged into another position by then? Who knows?
And I'm an expert at many fields, just none of the ones I'm being asked to do.
I'd leave, except my colleagues are great, the topics are great, and if someone is going to pay me to learn how to be a proper developer, I'd be stupid not to do this.
But it's hard as fuck, and I'm certainly not pulling my weight.
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.
Hell, I spent time stuck on a problem because I had never used code folding before, and couldn't find the import statements I needed to edit.
Would you agree that not understanding code folding is a bit much?
I'm not defending the particular individual, or the situation, only giving some context to my comment.
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.
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.
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.
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!
This is sometimes referred to as the 'Dead Sea Effect'.[1]
The same way that water carries salts and other minerals to the Dead Sea, and then the water evaporates while the salts accumulate.
Similar effect with hiring a mix of good and bad people, and over the time the good ones leave because they have options while the bad ones stay and accumulate.
[1] http://brucefwebster.com/2008/04/11/the-wetware-crisis-the-d...
Sadly I think it is being used wrong...
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)
Think about the human condition, think about human biology. Be clear- these are systems beyond current science... and doctors deal with them every day!
That's an odd question. People in tech are always saying "teach everyone to code!!". There's your why...
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.”
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
Project homepage suggests this is an Intel project.
> Hyperscan is licensed under the BSD License.
> Copyright (c) 2015, Intel Corporation
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.
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.
I've concluded that the leadership of IBM is what blows, and the C level offices should be gutted and replaced with whatever good engineers remain.
I've seen leadership make or break every organization I've been a part of
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.
But instead they wanted a piece of the consumer app market so badly that they rebooted their platform 3-4 times chasing an impossible dream.
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.
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.
[1]: http://www.businessinsider.com/blackberry-smartphone-markets...
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 list of Dow components is a particularly compelling study. It firms up in the 1920s and 1930s, and is relatively stable through the 1950s, then starts turning over at an accelerating pace.
See also Deloitte's "Shift Index". A Forbes writer has covered this for years. A long-term secular decline dating to the mid-1960s. Measuring return on invested capital.
I'll second that - both Azure and Surface are best-in-class.
> Azure is an absolute joy to use and administer compared to IBM Bluemix.
Note to other readers: although slightly tangential, these two comments do not actually disagree or contradict each other.
I spent some time recently diving into Azure ML Studio. It's a rough product still, with a lot of opportunity for optimizations/better UX.
I reckon the administration is much nicer, and probably closer to the designers/architects' UX understanding.
E.g.:
https://en.wikipedia.org/wiki/History_of_IBM#1969:_Antitrust...
https://en.wikipedia.org/wiki/NCR_Corporation#Expansion
See "Titan" by Chernow.
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.
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.
[1] https://fee.org/articles/economic-calculation-in-the-corpora...
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.
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).
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.
> "IBM Watson is the Donald Trump of the AI industry—outlandish claims
> that aren’t backed by credible data," said Oren Etzioni, CEO of the
> Allen Institute for AI and former computer science professor.
> "Everyone—journalists included—know[s] that the emperor has no clothes,
> but most are reluctant to say so."
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.
Some of the cognitive services they are offering today are not half bad; also I can say their salespeople are doing a gangbusters job in places.
And that the over hyping of it today will negatively impact its adoption when ready for general use?
It will happen again. The use of the phrase "artificial intelligence" itself ought to be forbidden until such a thing actually exists in the corporeal world.
maybe an 'AI recession' is plausible but a large scale loss of interest is unlikely given that AI / ML / deep learning (pick your favourite word) is already too embedded in commercial application.
Like always the hype in the field is strong, but this time we actually have the data growth we need to produce palpable results (and already have).
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.
3 minutes of searching :
http://researcher.watson.ibm.com/researcher/view_group_pubs....
http://researcher.watson.ibm.com/researcher/view_group_pubs....
c'mon
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 brilliance of the team... priceless.
The cost of everything, the value of nothing : this is what will be written on the tombstone of capitalism.
However he's no longer at IBM...