11 ms·
> 2. Build an agent to win online programming competitions. A program that can write other programs would be, for obvious reasons, very powerful. The people on
by superswordfish 10y ago
> 2. Build an agent to win online programming competitions. A program that can write other programs would be, for obvious reasons, very powerful.
The people on top desperately want us gone, and when it happens it'll happen so quickly you won't know what hit you. Software engineers need to recognize this common threat and organize (labor) sooner than later. Even more important is for all engineers to plan for an imminent future where developers are not paid like they are now, if at all. We have it good, but we will be automated away like everybody else, just a little later.
- riboflava 10y agoThe solution to everyone being automated away isn't to halt the advances of automation and inflict inefficient make-work on the economy, it's to get used to the idea that we will all become effectively retirees.
- aluhut 10y agoSeriously, why would you need programmers if the machine does it better (this needs to be assessed somehow first)?
- city41 10y agoWhy should we fight that? That's no different from taxi companies fighting Uber, or how Intuit lobbies congress to avoid automatic filing of taxes. Hampering progress for the greater good just because it harms you in the short term is never a good idea.
- superswordfish 10y agoThis wouldn't harm me in the short term alone, it would be a lost career and a life catastrophe. A taxi driver can work as an Uber driver. I cannot become an automated programmer. So I don't give a damn about the "greater good" in this context, and question that premise also: Sibling mentions getting used to everybody being retirees, but what I see is collective poverty with token conveniences. Time will tell, etc.
- riboflava 10y agoRetirees aren't the richest bunch, true. Collective poverty isn't an unlikely outcome for the vast majority of humans. Still, "poverty" need not be uncomfortable when "token conveniences" like a private home, food, entertainment, and opportunities for (even if economically useless) creativity and learning are in abundance. An interesting analysis on a world with increased automation via emulated brains of the best of humanity: http://ageofem.com/ http://ageofem.com/
- deleted 10y ago[deleted]
- jtms 10y agoIf I had an AI that could write code better than I it would be AMAZING. As a solo game dev I could be 1000000 times more productive and spend all of my time designing and balancing the game with the help of the greatest dev of all time!
- GFK_of_xmaspast 10y agoYeah but: how are you going to turn your labor into "food" and "shelter".
- cercatrova 10y agoIf he's a game dev, he could sell his game?
- deleted 10y ago[deleted]
- city41 10y agoA Taxi driver can't become an Uber driver when all Uber cars are self driving, which will happen and likely happen far sooner than programming gets automated away. HN doesn't bat an eye at Uber, AirBnB, Netflix, Amazon disrupting and taking away jobs. But it's interesting once programming jobs are threatened, some become defensive.
- 1_2__3 10y ago> Hampering progress for the greater good just because it harms you in the short term is never a good idea. I'd love to hear your thesis for this, in a way that doesn't whitewash away the negative effects on the individual. If you're going to claim we should all be throwing ourselves on the burning pyre of progress no matter what I'd love to hear more of a compelling argument than "never a good iea".
- nostrademons 10y agoNot OP, but I'd like to offer up a reframing. Progress gives us the opportunity to grow, to adapt, and to learn new things. Do you want to be the person who is stuck as the person they were when they first entered the workforce? Wouldn't you rather be someone who remains present in whatever moment in history it is now, and constantly redefines themselves according to the environment they are. There's no reason why you have to think "I'm a software engineer, therefore any attack on software engineers is an attack on me." You could, just as easily, define yourself by "I'm a person. I do software engineering because the money is good right now and that is what the economy happens to need right now, but if in the future society ceases to need software engineers, I'll retrain with whatever skill is highly valued then." I remember coming out of college, happy to learn about the world, and thinking how sad it was that people's identities were so wrapped up with their jobs that they were broken when their jobs were eliminated. I felt that shift happening soon after I turned 30, where I started to get just a little bit too comfortable and too proud of what I was rather than what I did, and then quit so that I'd have that opportunity to grow again.
- prodigal_erik 10y ago>I'll retrain with whatever skill is highly valued then. Software development has been invaded by mouth-breathers who don't give a shit about what they're doing, and I don't see a way to switch careers as an adult chasing money without becoming one of those.
- lgas 10y agoOne way to do that would be to give a shit about what you're doing even after you switch careers.
- Sohakes 10y agoIf we end up being automated fully, I think that least important thing anyone can think of is that we will be paid less. I think that something like this is unavoidable but quite dangerous, singularity, etc. The upside is that I think it would be really accessible for anyone to have it's own personal army of programmers. Although that's also quite dangerous.
- josho 10y agoI see this coming from a much smaller perspective as well. If one would reflect back on the applications that they've built in their career I suspect a number of those applications are now available generally as packaged software with customizable components. E.g. The dawn of the web saw many publishing, & catalog systems being built. Now you don't need to, you can simply grab a commercial or OSS package and customize it for your needs. Same is true for document management, workflow. This hasn't impacted jobs yet because we are still early in this industry, and growth is still outpacing this commoditization. But, yeh, I see the day where software developers become quite rare and software customizers are common. The tricky challenge is organizing our labour efforts. It's already easy for IT organizations to outsource development to cheaper markets, I fear labour organization would accelerate that movement.
- jonahx 10y agoIf we can be automated away, we will be. No amount of organizing is going to stop that. And even in some alternate universe where it could, why would you want it to? Automation is what we do.
- fit2rule 10y agoI actually think that there has been a long-term awareness of this fact in our industry, for decades now, and its one of the driving, motivating factors behind the entropy of the field. The OS-vendor guys know if they improve their OS'es, the systems-programming guys will get automated away, and if they get automated away, the applications-programming guys will be next .. so, subtle imperfections and flaws in the way things operate at a system level are allowed to persist, such that further downstream there are still opportunities to perpetuate the need for hands-on engineering. I can think of a few examples of where it feels like OS vendors/systems developers intentionally hobbled the functionality of their environment in order to make the long-term viability of the industry more resilient .. So, I think it'll be a long time until 'the people at the top' get what they want. Until they start coding a replacement for Dropbox or SublimeText that will be the end-all of filesharing/file-editing, we'll always need another IPFS, another Atom, etc., etc.
- BjoernKW 10y agoFor simple data import / export tasks, simple CRUD, generic admin dashboards, I agree that those tasks likely will be solvable by AI in the not too distant future. As a matter of fact, I think it's somewhat bewildering we still need human developers for that kind of task because the tasks themselves don't really require a lot of intelligence. Problem is, the technologies and systems we use to implement them today still require a lot of human interaction and specialist knowledge. Other than that, implementing an AI that is capable of understanding business problems and solving them via code probably is nothing short of artificial general intelligence. In that case we won't have to worry about not being needed anymore anyway because by then we'll either very rapidly have a post-scarcity economy or you know ... Skynet ...
- superswordfish 10y agoWe already have a post-scarcity economy. There is enough of everything to go around for everybody. Kropotkin talked about this in "The Conquest of Bread" in the 19th century. If history is a lesson, no degree of abundance will result in collective plenty.
- BjoernKW 10y ago> no degree of abundance will result in collective plenty Will it? When you look at most First World countries in general nobody there has to starve anymore. In the Middle Ages only liege lords could get by without ever having to work. Nowadays, even middle-class people don't necessarily need to work till retirement age.
- fapjacks 10y agoYou and I have seen very different parts of the "First World", then.
- nitrogen 10y agoIndeed, hunger is still a problem in the US. Our welfare system is so fragmented and conditional that there are numerous cracks where people of the wrong class/gender/neurotype/etc. can fall undetected and unhelped, and even in cases where resources are available, there is such a strong stigma against using them that some people don't even realize they have the option.
- jcoffland 10y agoProgramming jobs are protected by the halting problem. It has been proven that no program cannot detect if other programs halt or not (i.e. goes into an infinite loop or completes). I paraphrase, but this is the general idea. As long as this is true computers will not be able to program themselves except in very limited ways. The only way around the halting problem is to use something other than computation as we know it. I.e. an entirely new kind of machine based on different principals. And no, quantum computers do not solve the halting problem since they are still Turing-complete machines.
- nwah1 10y agoIf we take the simple case of genetic algorithms, we already know that it is possible to brute-force the problem of programming. The halting problem doesn't really matter that much in this context. Just spawn up a bunch of threads that churn away at the problem, using random mutations, and any that go on too long can just be considered flawed, regardless of whether they have any redeeming qualities. Then you select the winners, based on the selection criteria, and churn away on some more mutations of those new variants.
- jcoffland 10y agoSorry multiple threads will not get you around the halting problem. The brute-force genetic algorithm you describe also suffers from the halting problem. Just look at the algorithm as a whole. Say you are searching for a program P and you have some criteria for recognizing it, including a maximum run-time. There is no way to know if the genetic algorithm will ever find P or will itself just run indefinitely. In general, you will not be able to easily find P using a genetic algorithm (which amounts to a random walk through the space of all programs) even with many threads. The problem is that the algorithm is exponential in the length of P. It only works if you only consider a very limited set of possible programs. E.g. very short programs or programs which are only slight variations on a known program.
- jmtulloss 10y agoThat's the only way to totally solve it. You can get pretty far with imperfect shortcuts. Maybe far enough that it doesn't matter.
- selmat 10y agoIf everybody else will be automated, who will buy all of these products and services? I dont suppose that AI will need anything else beside electricity and cpu time.
- swalsh 10y agoImagine the potential of a world where anything can be built nearly instantly. If a computer can program itself, we can concentrate on trying to come up with useful things to make, instead of worrying about what we're capable of making. I have a really cool idea for a video game, but it's not going to be made because I don't have time to build it... but if a computer could make it. Wow. I become an imagineer, not a software engineer. Step it up a level further, if computers could think of programs to build themselves (which they probably would have to if they are going to be anywhere close to practical), that's when the "singularity" truely starts to take off. At the speed that computers operate, programs would very quickly go beyond what humans are capable of.
- Houshalter 10y agoYou aren't thinking at the right scale. If a computer program can do any complex task humans can do, worrying about unemployment is the least of our problems. Such a world would be so different than our own. It may have an entirely different economy, and it may not have people at all. I don't know, but I think it's equivalent to a caveman predicting what the effects of steam power would be.
- kansface 10y ago> Software engineers need to recognize this common threat and organize (labor) sooner than later. Has organized (labor) ever saved organized labor's job?
- marcosdumay 10y agoFrom obsolescence? Never. The only thing it does is anticipate it. Organized labor is useful against a whole lot of problems, but not this one.
- jackmott 10y agoI have no interest in organizing to artificially give myself a job that isn't necessary. In fact that seems insane.
- lostInTheWoods3 10y agoThe people on top desperately want us gone This is a cynical view of the world. Maybe the people "on top" simply want to improve their company's efficiency in order to return value to investors, etc. My point being its economics, not some evil intent. Software engineers need to recognize this common threat and organize (labor) sooner than later And the point of that would be what? To protect our jobs by demanding that industry ignore and no longer pursue innovation? That seems like heresy for anyone in Tech. If the day does come that AI starts writing code, the lost of our fat salaries and stock options will likely be the least of our problems; or perhaps the world will be void of problems altogether.
- visarga 10y agoWhen automation comes and replaces us, we need to be owners of robots and AI, in other words to have some kind of capital and enjoy a revenue stream from it. If not robots, then at least we need to have land to cultivate for food. When nobody gives you a job any more, you either cultivate your own food, or associate with others to become investors in the new tech. Those who already have capital and can invest it smartly might fare much better than those who only rely on BHI, which is at the whims of politicians. A person need not be super rich, if she can associate with other to buy land for agriculture or robots for manufacturing. Robots are analogous to land. You gotta have one or the other :-)
- civilian 10y agoI think the better way to avoid our replacement is to think about our non-coding contributions to our companies. I'm a full-time software engineer, but I spend maybe 50% of my day implementing code. I spend a lot of time figuring out trade-offs, exploring edge cases, and verifying that the business/marketing people know what the side-effects of a given feature will be. There's also a lot of flag-waving to make sure that small problems don't become big problems. I've run into the "that should be able to be automated" hand-wave of a thought before. I think it's always done by people who haven't actually spent time thinking about the edge-cases and all the little decisions that are put into a final software project. Sure, you can hand-wave and get a CMS, but you're going to be unpleasantly surprised when the defaults don't match your subconscious expectations. Here's how software engineers could retain their position in a world where our code is automatically generated: - Understand and communicate the trade-offs of different solutions - Embrace product design-- a lot of us unwittingly become novice visual designers and product designers during our work, and we should embrace that domain knowledge that we learn, rather than being frustrated that we're being taken away from our primary task, coding. - Explore edge cases, and explore new ways of doing things - Understand and get involved in the business process!
- freyir 10y agoThe capital holders in all industries would love expensive human labor to be replaced by cheap automated labor. If programming AI is created, no labor organization could save software engineers, just as it would be ridiculous to think horse and buggy drivers or telegraph operators could have stopped the march of progress. The bigger issue is what has we've already started to witness: automation leads to accelerated accumulation of wealth and resources among those who already have the most capital. Historically, corporate profit and labor demand went up or down together. Now they're diverging: corporate profit grows while demand for labor shrinks. The spoils of corporate success goes to those who own the tools of automation, and others lose their job and income. In any case, OpenAI's vision here is much bigger than making software developers obsolete: they want to study (or create) AI that can improve itself (i.e., a singularity scenario).
- superswordfish 10y agoAlmost every reply to my comment talks about saving jobs, but I never even brought that up. Organization is important because you want to be left with something more than a seat at the unemployment office when your job does disappear.
- freyir 10y agoApparently what you wrote has given everybody this impression. What are you really suggesting?
- superswordfish 10y agoPensions. There will likely come a time when most of us are no longer employable. We have (or will have) put our lives into this and made a small group of people very wealthy. Without negotiating from a position of relative strength, we will be left with nothing when we are no longer necessary.
- deleted 10y ago[deleted]
- robotresearcher 10y agoOrganize to do what, exactly? If software engineers became obsolete, why should anyone listen to an organization of them? It's not in any danger of happening soon, but if/when it happens, you might as well join the union of street gas lamp lighters.
- kamaal 10y ago>>The people on top desperately want us gone, and when it happens it'll happen so quickly you won't know what hit you. Isn't, given a problem 'X', produce a solution 'Y' kind of automation, called AGI? Well then you have little to worry about. If AGI is indeed invented you have bigger things to deal with than worrying about your job. In any such eventuality 'people at the top' are likely to be eliminated rather more quickly than us. Because an AGI with huge resources can make far better decisions than any CEO ever can.
- j2kun 10y agoPersonally, I think you overestimate how difficult it is to translate an arbitrary set of human business rules to an API/website. And how arbitrarily the business side wants to change things without a concrete understanding of what they want the result to look like.
- Bjartr 10y agoThe people on top? How about the software engineers themselves? As a software engineer myself I look forward to the day I'm forced to change careers due to obsolescence if my skills. I can't wait to see what people can achieve when anyone with an idea can make it happen with such ease. Just in case, since I think I'm up against Poe's law here: I am, in fact, 100% serious.
- superuser2 10y agoI'm going to venture a guess that programming will be among the last jobs to be automated away. It's not clear that there will be a career to change into.
- return0 10y agoThis profession is probably the only one that automates itself. It has always been like that for developers, yet they 're still in high demand.