8 ms·
As a student hoping to become a software engineer, I'm a little nervous about Googles aggressiveness towards applying ML across many of their products. It makes
by zengid 10y ago
As a student hoping to become a software engineer, I'm a little nervous about Googles aggressiveness towards applying ML across many of their products. It makes me wonder: Will the field of software engineering be reduced to plugging ML nodes into client-side interfaces? Could it shrink the demand for engineers?
- jrockway 10y agoIt's a logical concern. There is no reason to assume that today's software engineers are any different than the 1950's coal miners. The world changes, bit by bit, there is no such thing as perfect job security for life.
- deleted 10y ago[deleted]
- plessthanpt05 10y agoNot really true...tenured professors pretty much have perfect job security for life.
- sanderjd 10y agoThat is similar to coal miners unions providing jobs for life. That is, it's only a job for life if the business model it relies on continues flourishing. Higher education looks like a more stable employer than software engineering, but I definitely wouldn't be confident in saying that it will look like it does today, 50 years from now.
- ilaksh 10y agoPersonally I think that within X years (could be only 10, or 5, or probably less) we will see human-level AGI. This is because the grounded (based on granular sense/motor) deep learning systems such as Deep Mind are being applied in varied virtual environments and some with gradual development of skills and knowledge. This type of approach will enable truly general agents. So we better hope that the BCIs develop quickly as well.
- fooker 10y agoOr there will be another AI winter. There is no way to tell now.
- lend000 10y ago> (could be only 10, or 5, or probably less) I don't know when, but I can guarantee it won't be within 5 years. The reason: digital hardware improvements are slowing down. Today's best hardware can only run a model with the number of nodes in a human brain at 1/2400th speed, and probably with an oversimplified model: http://www.telegraph.co.uk/technology/10567942/Supercomputer-models-one-second-of-human-brain-activity.html http://www.telegraph.co.uk/technology/10567942/Supercomputer... I don't think we will reach human level AI on digital hardware; it just doesn't really make sense with the Von Neumann bottleneck. Parallel, analog computation is the way forward and that has yet to be commercialized, so we probably have a ways to go. That being said, AI is getting very impressive on the software side, and with the use of TPU's, GPU's, and FPGA's, we can definitely look forward to compelling use cases where these algorithms have apparently creative intelligence, but only within an extremely specific category (when compared to the generalities of biological analog brains).
- lend000 10y agoI'm being down-voted to oblivion by all the pure software engineers on here who think their trade is being challenged -- well, it is. The fact of the matter is that the world runs on hardware and analog hardware is orders of magnitude more efficient. It's definitely worth every software engineer's time to learn how computers work from all the way down at the laws of electricity, basic signal processing/analog circuits, up to semiconductor physics and microarchitecture.
- jkestelyn 10y agoIMO, the same question could be asked with respect to any abstraction that hides complexity. The answer will always be/has always been: No, it won't. Rather, engineers who can think creatively about the role of pre-built ML models in mainstream applications will be in high demand.
- closed 10y agoAgreed. That made me think of how statisticians 70 years ago were often good at doing all kinds of tests by hand. Once the doing things by hand part was abstracted away by modern computing they just focused on other parts of statistics.
- maverick_iceman 10y agoThat would be a great day, when no humans will need to program any more. But I don't think it's anywhere near.
- eva1984 10y agoMuch of so called software engineering is about assembling/wrapping other API/libraries anyway. I don't see how ML change the scenario, instead of querying some db, you are now querying some trained models. Until we have an algorithm that could write correct code given requirement specified in natural language, the demand or prospect of software engineer as a profession will not be affected by ML/AI too much. However it is hard to predict when such technique will emerge, 10 years? 20 years? maybe 50 years.
- rawnlq 10y agoThe blog post specifically mentioned Program Synthesis which is exactly what you're talking about. The article they published was called Neural Programmers but I haven't read it: https://arxiv.org/abs/1511.04834 https://arxiv.org/abs/1511.04834 So at the very least they are working on it!
- UncleMeat 10y agoIts been a field of study for decades, though, with pretty minimal success. Every hot field gets applied to it (genetic algorithms being the hot stuff 6-10 years ago). I wouldn't worry yet.
- eva1984 10y agoYes, there are work on this field. But so far all are just like toy examples. The big barrier here is natural language understanding, so far we have limited success even with deep learning at hand. If eventually natural language understanding is solved, it is going to be a much bigger deal than programmer losing their jobs.
- primaryobjects 10y agoThe paper references program synthesis via neural networks. Here is my take on it, using genetic algorithms. http://www.primaryobjects.com/2013/01/27/using-artificial-intelligence-to-write-self-modifying-improving-programs/ http://www.primaryobjects.com/2013/01/27/using-artificial-in...
- pinouchon 10y ago
- dgacmu 10y agoSpeaking as a part timer on Brain who's not a machine learning person, I've found and believe that MI just opens up more opportunities for good programmers. There are a ton of problems out there that we couldn't solve well with computers without MI, and so didn't even attempt. Now we can attempt them, and they're both fun and hard. (I wrote a longer-form answer to a very similar question a few months ago: http://da-data.blogspot.com/2016/05/dont-quit-that-programming-career-yet.html http://da-data.blogspot.com/2016/05/dont-quit-that-programmi... )
- EternalData 10y agoI've noticed that the number of applications MI can be embedded into is nowhere near its full potentiality. There's a lot of potential for people who are able to think on their feet product-wise and incorporate MI, even if MI is a black box to them. Echo your opinion.
- Swizec 10y ago> Your real job as a software engineer isn’t to write code. It’s to translate hand-wavy business requirements into detailed specs that a computer can follow. > Your job is to ask questions and to find edge cases that the product people didn’t think of. Your job is to help operations define processes well enough to be automated. https://medium.com/swizec-s-nightowls/what-should-you-learn-to-get-a-better-coding-job-6453ef083597#.ylybmulln https://medium.com/swizec-s-nightowls/what-should-you-learn-... Right now it takes 5 to 10 years to train a human who already knows how to code to do this. Some never learn. I think we're safe for a while. Engineers don't "write code", they build solutions. We just happen to use code to do it. And we happen to manually type that code. Even if an AI could type it for you, you'd still need someone to build the solution.
- Roboprog 10y ago>> Some never learn. Even with currently available programming techniques, simply getting many coworkers to move from "WET" to "DRY" can be a daunting challenge. Many people just hate abstractions. ML / AI tools seem to often just boil down to larger aggregations of abstractions (which require some training and/or experience to learn). I guess the "we enjoy [lots of] typing" crowd will go the way of the dodo as the tooling moves up abstraction levels. I hope they don't suck me down with them :-( (yes, I'm glossing over the requirements gathering aspect of the comment to carp about the construction aspect, but the same strategy of abstraction/investigation, or not, applies)
- deepnotderp 10y agoAs someone who does ML research for a living, I can wholeheartedly assure you that programmers will be even more in demand as a result of ML.
- Sargos 10y agoBut why? Programmers right now do everything by hand. In a ML future less of those by hand things will be needed. It seems like less programmers will be needed as a result.
- deepnotderp 10y agoLet's say I want to make a new shazam using deep learning. I, as the DL researcher, would be tasked with coming up with the neural network architecture. Once I'm done with that, now what? I now need someone to build the entire app, UI, UX, database, etc. That's what programmers have been doing all along! Now you just have another API (ie DD or TF-serving) to integrate.
- Florin_Andrei 10y ago> I now need someone to build the entire app, UI, UX, database, etc. What part of the decisions involved in that process have "magic" attributes that makes them uniquely tied to the meat-based data processor in your head?
- UncleMeat 10y agoProgrammers do not do everything by hand right now. We have compilers and libraries and frameworks. There is a HUGE stack of automation that involves basically every step between you typing characters in a text editor and you executing code somewhere. Did FORTRAN reduce the need for programmers by offering a compiled language?
- thavalai 10y agoLots of commenters seem to think that programmers are safe for a while. As a programmer, I sincerely hope they are right. But, the majority of developers I know, including myself, are ultimately writing software to be used by humans, typically presenting data that is comprehensible to humans, so that they can make decisions. If AI advances to the point where similar decisions can be made by machines, looking at the same data, then I fear that entire classes of applications will disappear, and with them, the need for developers who build them. Obviously, we'll still need developers, though perhaps far fewer than are needed today. Perhaps software development will go through the same revolution that agriculture did, where from we went from > 90% to < 3% of the population being involved.
- eitally 10y agoThis is already nascent, but growing quickly, in a field typically called things like "robotic process automation" or "cognitive computing". Essentially, eliminating the need for wide swaths of CRUD and business process enterprise applications, and the developers who create them (and the sysadmins who support them, etc etc).
- deleted 10y ago[deleted]
- logicallee 10y agoPut another way, the downside of utopia is that it's very hard to make a living sweeping up excrement off of the streets anymore - those jobs are simply gone. And they're not coming back, either. The reason I make this analogy is that programming isn't fun†. It's maddeningly difficult. As far as I'm concerned, plugging ML nodes into client-side interfaces can't get here fast enough. † I don't care if you "think" you like it - just like someone might think they like sweeping excrement all day.
- pizza 10y agoI see the future kind of like this: 1 - introduction of automation vastly increases throughput of industry, either eroding a traditional 2 - industry vastly increases demand of technically and scientifically literate workers 3 - folks compete for contemporary educational/employment opportunities in industry 4 - an engineer acclimates to their niche If you're already in a stage 4 situation, it may seem like there's always a new blockbuster industry in stage 1. But, the transition into stage 3 for a new technology may seem insurmountable. That said, technologies rarely meet their hype.. Either way, engineering is a subset of problem solving, and people will always have problems. It would be great to assimilate all kinds of problem solving skills that you can.
- bsn54 10y agoIt's. funny and amazing at the same time to see software engineers driving themselves into oblivion by meddling with this AI and ML.Godspeed!