I asked this a couple of years ago here and I feel like I keep have to asking: is this our industry's way of trying to tell us something about where our jobs are headed?
I can't help but get the sense that we're trying to tell ourselves "evolve or die" and that the web jobs will move towards AI/ML if you want to stay employed in the 10-20 year range.
I don't really understand the sentiment that the web jobs are going away. Web/mobile and supporting technology has only risen in relevance.
ML has some narrow use cases where it can solve some interesting problems or eek out some additional efficiency, but I don't see programming move towards it.
as a mobile dev, I have been considering this with some UX folks. Few things going for AI/ML - conversation interfaces should be far cheaper/quicker to produce in comparison to traditional app development. Furthermore, talking and touch are natural ways to interact (e.g. pointing on a map whilst talking) vs endless long presses and menu items.
Whilst I have been involved in Android since the beginning I personally would not encourage younger folks to focus too much at the expense of new technologies (inc. blockchain tech for that matter).
That’s a good point. The interface between the user and the computer has been dominated recently by web apps and mobile. Historically, it was native GUIs.
But, I could totally see AI/ML driving voice interfaces in the future.
I recently bought myself an Apple Watch. I’m not sure I would have agreed before using this thing. I mean maybe for people for whom computers were too foreign, or for those who grew up with no other options...
But no, I’ve been enjoying the experience more and more. Texting my girlfriend by voice. Asking Siri to find something on a map for me. First time I’ve been impressed by the pragmatic nature of it and not just finding it a clever toy (at least in some time).
I’m still wary of some of the implications, but I’m cautiously optimistic now more than I would have been.
That said, it’s certainly not my area of expertise so I’m also wary it spells my own career doom if I don’t get smart.
Voice and speech stuff isn't going to work in today's work environments. Can you imagine an open office full of people jabbering away to their computers? I guess voice printing will to some extent prevent other people "highjacking" your computer while trying to control theirs, but the noise would be extreme.
For certain industries - e.g. tech - people like quiet to concentrate. Not unique to tech of course... libraries are quiet too for the same reason. I cant imagine the average office where concentration is required benefiting from a call-centre-esque environment where everyone is talking out loud.
.. but I guess it might mean we can get away from open offices and back to private offices?! :-)
One could imagine responding to subsonic commands, though, with a microphone in contact with the throat... I can't imagine using it for programming, but could be cool for quick navigation.
Yeah, there’s always a guy in one of these conversations that can’t imagine working in an office with people talking to their computers. I guess you get to be that guy this time.
The other guy is the one who will never talk in public to a computer.
Finally, you have the guy who can’t imagine not using a keyboard to program.
For the rest of us, we have no problem talking to our computers, and we anxiously await the future to arrive.
sure - as part of the presentation, the UX guy also demo'ed something like botsociety.io. Essentially, he had a Facebook chat bot with buttons to hint what is possible (leading the conversation). That sort of interaction could be likened to messaging them versus talking to them...and perfectly suitable for an office or where you don't want to broadcast certain info.
So whilst ChatOps might be fairly basic today I am open to it becoming very much more advanced in the coming years.
But voice conveniently leaves out exposing to users the capabilities of the software. Have fun exploring all the features Google maps has by barking at the app where 99% of your commands are rejected.
pretty sure folks will be able to just ask what it can do...and the response could of course look like a man page where folks can drill down further. I don't think we necessarily need to think the interactions will exclude a screen...but of course they could depending on the hardware / situation...today that activity might be driving...but perhaps we won't be driving all that much by the time this tech has advanced sufficiently.
This is no longer the case; human computer hybrids are no longer competitive in chess.
From Wikipedia:
Computer chess engine Zor won the freestyle 2017 Ultimate Challenge tournament. The best human plus computer came in 3rd place. In 2017, chess computer engines are superior to human plus computers.
His argument still stands. The fact that combinatorial optimization is difficult doesn't change the fact that the problem space is finite and can theoretically be enumerated by a very fast computer with lots of space. This also means that the heuristics that are typically used (that dramatically reduce the problem space at a rate tied to the size of the problem) can make the exploration of potential solutions much easier than it once was.
in any game with perfect information AI will be able to beat a human if it has enough computing resources and a big enough lookup table. web development is not a game with perfect information. but "AI" (read: new frameworks libraries and tools) could help automate some of the more annoying or repetitive parts
Ask a client/server native. application programmer from the 90s if they needed to learn how to do web development.
But, I think ML/AI is a bit different than that. ML seems like more of a backend thing or specialized application. How many people need to work on face authentication? Or object recognition? I’m just not sure how much AI/ML will be considered a general purpose programmer requirement. Interacting with models, sure... but not necessarily making them. In this respect maybe ML is similar to databases — we all use them, but don’t need to make them.
There will always be programmers writing at the interface between the user and the computer. Right now, those developers are heavily skewed towards web apps. But there is a sizable amount of mobile development too. If anything, I’d think the web jobs would move closer towards mobile as opposed to ML.
I think your definition of ML may be too narrow. I recently had on my plate to determine -- for all incoming requests -- whether or not they belonged to an outlier category that was only very loosely defined as a group, but impossible to separate on an individual level.
This is one of those situations where I greatly benefited from thinking of the problem from an ML perspective, as it allowed me to create a very simple probabilistic model and verify that it was sufficiently accurate.
I believe we'll get more of those "ML in the small" things popping up even for regular developers. It's not something new, it's just a mental perspective shift toward the probabilistic.
And this exactly why an enterprising software engineer would be well served to be familiar with how to do basic machine learning. You don't have to be great at it, you just need to know how to copy somebody else's notebook or whatever and get it to work on your simple data set.
However, just as many people can hop in to web development and quickly create value (or at least CRUD apps), you still need really experienced people with a breadth of knowledge to push the field/work on really complicated or large scale systems.
It's the same for AI/ML/DL. Basically anybody can train an image classifier right now, but only a handful of teams on earth understand computer vision well enough to attempt to tackle self driving cars.
I don't think it's intended for a general audience. It's intended mainly for people who have bought in to the idea of "effective altruism", and want a global-utility-maximizing career, and also at least somewhat believe AI research is important to that goal.
You should still learn some ML because it's cool and fun, though, and will give you valuable perspective.
I'm curious about the emphasis on safety. I don't think anyone claims they are closer to achieving AGI. And yet there are already jobs for AGI safety ? :)
'Safe' AGI is a harder problem than 'any' AGI, so getting started early could be helpful. Especially considering how bad many of the AGIs in the 'any' category could be. Worst case, we don't get a mulligan.
I wouldn't exactly consider myself optimistic about safe general AI either, but there are extremely strong incentives in the direction of developing greater generality. Not sure we have the luxury of not having some form of AGI in our future.
The current safety progress certainly isn't ideal (where ideal would be "oh hey we figured it out, boy that was easy"), but it is roughly in line with what I'd expect for a smallish new field trying to lay foundations. No one knows what to do; there may not be any other option than to flounder for a while.
I would say the trick is making the problem statement coherent. Sure, coming up with a firearm that can't kill innocent people is impossible because the innocence of someone is subjective. So instead, you can choose to approximate a solution and then iterate until you have a solution that is technically imperfect but so close to your initial goal that the difference is negligible.
For instance, in your firearm example, we can't determine who is innocent and who isn't. But we can use embed a facial recognition device into the firearm that then cross references whoever the firearm is pointed at against a database of known non-innocents.
And then exclude any targets obviously under 18.
And then make the model probabilistic and add greater weight to targets that appear to be carrying weapons of their own or that are acting in an obviously dangerous manner.
You get the point. After enough time, you would have a firearm that is (arguably) better off than the one you started off with and so closely approximates the goal of your initial problem description that you don't care to make a distinction.
I could be wrong, but I imagine this is how AGI safety researchers think about their work to some degree.
Decision tree based processes like you outline are not only naiive (It does not operate with complete observability) and it's not resilient (It is susceptible to workarounds).
That explicit reasoning approach falls squarely into GOFAI, symbolic reasoning, expert systems etc... so we're well past that at this point and know the problems with it.
Anyway, again, it's not a tractable problem. Something smarter than you is going to be able to eventually beat whatever restrictions you put on it. Might as well just be comfortable with it.
> That explicit reasoning approach falls squarely into GOFAI, symbolic reasoning, expert systems etc... so we're well past that at this point and know the problems with it.
The symbolic reasoning you're talking about is going to make a comeback through probabilistic inductive programming, so don't dismiss it. It is necessary to attain sample efficiency and generalizability, which is virtually impossible with purely statistical approaches. I recommend you look into Josh Tenenbaum's work: http://science.sciencemag.org/content/331/6022/1279.
I wasn't clear with that statement. As clarification, I'm not saying that GOFAI approaches aren't going to get better or be more relevant.
Rather, the AI community has really good confidence that you can "fool" every AI approach to date. That has been true the longest for GOFAI approaches, and now we're doing it for DL/RL.
The firearm problem can fail a few times and it'd still be better then what we have. It's like Tesla crashing a few times. Still better than not having it.
How sure do we need to be that we're safe from evil AGI? Once it's in the wild, we don't get another chance to make it safe.
Once evil AGI arrives, that's quite possibly binary. Our only hope is good AGI outsmarting it and at that point we're playing the same game that produced us. We're not universally good. So we have to be more sure of it then anything, so we don't go down that road.
On this issue, I'd prefer the truly paranoid are in charge of safety. Not the gung-ho "of course it'll be nicer then us" crowd.
I don't think we can constrain it. Our best hope is to discover that it wouldn't care to harm us.
This website is made by and somewhat for a subculture of people very worried about safe AGI. The idea is it's a career guide for people who want to know how to have a career that will maximize some definition of total utility (in their view, this is the morally best career). They see preventing unfriendly AGI as a very important goal in a utilitarian sense.
What is the big job market for AI/ML? I see some Kaggle competitions, and a few high wage jobs working for the big tech companies, but it still seems pretty niche.
Makes sense from a theoretical viewpoint, b/c all AI/ML models are not Turing complete in order to be optimizable, whereas your average programmer easily churns out "models" in a Turing complete language. So, joe blow programmer is universally more powerful than any AI/ML algorithm. He can program an AI in his TC language, but AI cannot replicate his work in a non TC language.
Once an AI gets that good, good enough to reproduce even a junior developer, nobody can ever get paid to work again. Before that point, it’s still useful to know the basics of AI in the same way knowing about arrays or higher order functions is useful.
many of them are Turing-complete almost by accident, if you are willing to add enough parameters. E.g. a shallow neural network with one layer is Turing-complete.
It's actually Turing-complete for rational-valued weights (countable). If you are willing to grant real valued weights (uncountable) then it is actually more powerful than a Turing machine, able to compute things in P/poly, a very weird complexity class that includes some encodings of the halting problem. But this is just because you're "cheating" by allowing infinite precision which is not possible in the real world.
The bank where I work needs so many data scientists and AI/ML/DL engineers and they can't find enough of them to the point they're paying master degrees and MOOCs to all employees that want to study it, as long as they already have some experience with Python/R or a background in math/stats/engineering.
I know you probably mean well and maybe want to stay anonymous, but it seems pretty clear to me that commenter was looking for a specific firm in response to their question. Is it the case that all of the top 20 IBs are offering tuition reimbursement for data science?
I understand the commenter wanted a clear answer but I don't know if I should be specific since I can't find a public source to go along. Maybe this is internal and I fd up?
Just so you know its very easy to find out where you work. I can get your name from your keybase links, easily find your linkedin page, and verify your location to be sure from other links on keybase.
And you're in top-20 I-banking? So most likely in a huge city, with a huge swath of data science talent. The issue isn't folks not being able to work remotely.
The thing is that data scientists are wanted by so many companies that besides salary you have to compete with perks and other things. IBs can't provide some of the perks, like remote work and makes it less attractive to potential candidates. This is my opinion, not my employer.
66 comments
[ 4.0 ms ] story [ 127 ms ] threadI can't help but get the sense that we're trying to tell ourselves "evolve or die" and that the web jobs will move towards AI/ML if you want to stay employed in the 10-20 year range.
Whilst I have been involved in Android since the beginning I personally would not encourage younger folks to focus too much at the expense of new technologies (inc. blockchain tech for that matter).
That said, we hopefully have another 10 years!
But, I could totally see AI/ML driving voice interfaces in the future.
But no, I’ve been enjoying the experience more and more. Texting my girlfriend by voice. Asking Siri to find something on a map for me. First time I’ve been impressed by the pragmatic nature of it and not just finding it a clever toy (at least in some time).
I’m still wary of some of the implications, but I’m cautiously optimistic now more than I would have been.
That said, it’s certainly not my area of expertise so I’m also wary it spells my own career doom if I don’t get smart.
For certain industries - e.g. tech - people like quiet to concentrate. Not unique to tech of course... libraries are quiet too for the same reason. I cant imagine the average office where concentration is required benefiting from a call-centre-esque environment where everyone is talking out loud.
.. but I guess it might mean we can get away from open offices and back to private offices?! :-)
The other guy is the one who will never talk in public to a computer.
Finally, you have the guy who can’t imagine not using a keyboard to program.
For the rest of us, we have no problem talking to our computers, and we anxiously await the future to arrive.
So whilst ChatOps might be fairly basic today I am open to it becoming very much more advanced in the coming years.
From Wikipedia:
Computer chess engine Zor won the freestyle 2017 Ultimate Challenge tournament. The best human plus computer came in 3rd place. In 2017, chess computer engines are superior to human plus computers.
https://en.wikipedia.org/wiki/Combinatorial_optimization
But, I think ML/AI is a bit different than that. ML seems like more of a backend thing or specialized application. How many people need to work on face authentication? Or object recognition? I’m just not sure how much AI/ML will be considered a general purpose programmer requirement. Interacting with models, sure... but not necessarily making them. In this respect maybe ML is similar to databases — we all use them, but don’t need to make them.
There will always be programmers writing at the interface between the user and the computer. Right now, those developers are heavily skewed towards web apps. But there is a sizable amount of mobile development too. If anything, I’d think the web jobs would move closer towards mobile as opposed to ML.
This is one of those situations where I greatly benefited from thinking of the problem from an ML perspective, as it allowed me to create a very simple probabilistic model and verify that it was sufficiently accurate.
I believe we'll get more of those "ML in the small" things popping up even for regular developers. It's not something new, it's just a mental perspective shift toward the probabilistic.
And this exactly why an enterprising software engineer would be well served to be familiar with how to do basic machine learning. You don't have to be great at it, you just need to know how to copy somebody else's notebook or whatever and get it to work on your simple data set.
"AI/ML engineer" is the new "web developer".
Soon everybody and their mother can make ML models and apply them. You may ask if it isn't already the case.
However, just as many people can hop in to web development and quickly create value (or at least CRUD apps), you still need really experienced people with a breadth of knowledge to push the field/work on really complicated or large scale systems.
It's the same for AI/ML/DL. Basically anybody can train an image classifier right now, but only a handful of teams on earth understand computer vision well enough to attempt to tackle self driving cars.
You should still learn some ML because it's cool and fun, though, and will give you valuable perspective.
https://www.youtube.com/watch?v=XTLyXamRvk4
The FHI/SIAI/MIRI people have been spinning their wheels for over a decade on this and made zero progress.
The current safety progress certainly isn't ideal (where ideal would be "oh hey we figured it out, boy that was easy"), but it is roughly in line with what I'd expect for a smallish new field trying to lay foundations. No one knows what to do; there may not be any other option than to flounder for a while.
It's akin to trying to come up with a firearm that can't kill innocent people. The problem isn't even coherent.
The only solutions are:
1: Redefine what AGI means, like openai has done.
2: Prevent AGI altogether
For instance, in your firearm example, we can't determine who is innocent and who isn't. But we can use embed a facial recognition device into the firearm that then cross references whoever the firearm is pointed at against a database of known non-innocents.
And then exclude any targets obviously under 18.
And then make the model probabilistic and add greater weight to targets that appear to be carrying weapons of their own or that are acting in an obviously dangerous manner.
You get the point. After enough time, you would have a firearm that is (arguably) better off than the one you started off with and so closely approximates the goal of your initial problem description that you don't care to make a distinction.
I could be wrong, but I imagine this is how AGI safety researchers think about their work to some degree.
That explicit reasoning approach falls squarely into GOFAI, symbolic reasoning, expert systems etc... so we're well past that at this point and know the problems with it.
Anyway, again, it's not a tractable problem. Something smarter than you is going to be able to eventually beat whatever restrictions you put on it. Might as well just be comfortable with it.
The symbolic reasoning you're talking about is going to make a comeback through probabilistic inductive programming, so don't dismiss it. It is necessary to attain sample efficiency and generalizability, which is virtually impossible with purely statistical approaches. I recommend you look into Josh Tenenbaum's work: http://science.sciencemag.org/content/331/6022/1279.
Rather, the AI community has really good confidence that you can "fool" every AI approach to date. That has been true the longest for GOFAI approaches, and now we're doing it for DL/RL.
How sure do we need to be that we're safe from evil AGI? Once it's in the wild, we don't get another chance to make it safe.
Once evil AGI arrives, that's quite possibly binary. Our only hope is good AGI outsmarting it and at that point we're playing the same game that produced us. We're not universally good. So we have to be more sure of it then anything, so we don't go down that road.
On this issue, I'd prefer the truly paranoid are in charge of safety. Not the gung-ho "of course it'll be nicer then us" crowd.
I don't think we can constrain it. Our best hope is to discover that it wouldn't care to harm us.
Makes sense from a theoretical viewpoint, b/c all AI/ML models are not Turing complete in order to be optimizable, whereas your average programmer easily churns out "models" in a Turing complete language. So, joe blow programmer is universally more powerful than any AI/ML algorithm. He can program an AI in his TC language, but AI cannot replicate his work in a non TC language.
- Universal transformers: https://arxiv.org/abs/1807.03819
These are just 2 of most well known.
It's actually Turing-complete for rational-valued weights (countable). If you are willing to grant real valued weights (uncountable) then it is actually more powerful than a Turing machine, able to compute things in P/poly, a very weird complexity class that includes some encodings of the halting problem. But this is just because you're "cheating" by allowing infinite precision which is not possible in the real world.
> Google, OpenAI, Facebook, Uber, or Microsoft.
none of these are academic institutions and none of them have authority to define a limit to research