Hacker News new | ask | show | jobs
by ok2938 1803 days ago
One thing to keep in mind: With every request-response cycle for the probably upcoming paid service, you are feeding constant data points to a commercial entity. Basically your typing habit, the project development over time, the bugs, the fixes, all will be recorded.

Think about it, one well paid profession in the grips of capital siphoning off valuable, highly intellectual work (by using "open source" already), repackaging it and the selling it back to the people it aims to replace.

Imagine a million lawyers' days being recorded in 60s intervals - including what they type, the files they have opened, etc. - how long would it take to encode the average lawyer into a hdf5 file? How many lawyers would be fine with that kind of assistance?

If that's not ingenious, then I do not know what is.

Call to action: Programmer, wake up.

Edit: Just to address some typical rebuttals - I'm all for progress and cool toys, but I'm all against monopolies and mega-corps that control and monitor every aspect of your life.

10 comments

Programmers are a weird bunch.

Look at stackoverflow for example. Thousands of programmers giving away their professional advice, spending their valuable time…for what exactly? Imaginary internet points?

Open source is another one: here’s my code that I’ve worked so hard on, spent countless hours on - please have it for free, my labor is worthless.

It’s like they’re actively seeking to bring their own value down.

>Thousands of programmers giving away their professional advice, spending their valuable time…for what exactly? Imaginary internet points?

Before Stackoverflow, people were answering questions on USENET newsgroups without any award of points.

And before USENET and the internet, hobbyists would gather to trade advice on building home computers. E.g.: https://en.wikipedia.org/wiki/Homebrew_Computer_Club

The common theme isn't the points... it's that people like to be helpful and share knowledge.

>Open source is another one: here’s my code that I’ve worked so hard on, spent countless hours on - please have it for free, my labor is worthless.

There are multiple motivations for open source. In my case, I did it because I could get more value from the community's enhancements than the "free code" the community got from me.

>It’s like they’re actively seeking to bring their own value down.

Neither of your 2 examples look like erosion of labor value. On the contrary, it shows that not every activity associated with programming has to be driven by the exchange of money.

"Man cannot stand a meaningless life", Carl Jung. I've spent twenty-five years coding, solved some problems, made some money for myself, more for others, but what have I accomplished? It's unlikely it will be through a stackoverflow answer or a post on HN, but I quietly maintain the hope that maybe someday, through Free Software or otherwise sharing my knowledge and code, I might actually accomplish something meaningful. The economic value you're talking about has little meaning for me.
Programmers aren't unique in thagt. If you create the right conditions, driven people will just work for the sake of it, if it can help someone or create something beautiful. It's the reason why us humans are where we are to begin with.
This is what a post-scarcity society is supposed to be. A world where everyone has enough, and they do things (programming, art, whatever) for the joy of it.
Yes, programming producing products that have zero marginal cost gives us a glimpse of what the future may look like - either the open source volunteer future, or the neofeudal artificially locked down future.
Programming isn't labor.

Or, at least, it's only "labor" in the same sense that literature or painting is labor.

Does it seem strange to you that writers or painters would want the world to see their work, even for free? It doesn't seem strange to me.

Programming is the same.

No doubt. You can even go a step further.

What about this discussion we are having right now on here about this topic?

Why bother just for useless upvotes? No one is even paying me to think about this.

> it's only "labor" in the same sense that literature or painting is labor.

I can't agree with this. Programming can be like literature. It can also be like writing copy for a bad travel brochure.

I know a few painters and writers. None of them give away their paintings or books for free, except to friends and family.
It's impossible to be a professional painter or writer without a portfolio. It better be impressive, too.
For glory!
The betterment of the human species is more important by far than maximizing the profits any particular individual can earn. Once a work is created the marginal cost of reproduction is close to zero. Software is valuable. A copy of software is paradoxically worth nothing.

It's true that software developers need to eat too but we need to figure out a way to do so without making the world more cumbersome, transactional, and shitty.

Betterment of the species?This is another conceit a certain segment of the SE community has. You aren’t physicists, engineers, biologists or chemists; nor are you artists or philosophers.

I’d estimate something like 99% of all software development (especially, perhaps, open source) is either for toys or else actively harmful. “Betterment of the species” indeed.

> (especially, perhaps, open source)

How do you reason? Are Linux, sqlite, LLVM, or OpenSSL actively harmful? KDE? Blender? Those are obviously not "toys" and each seems genuinely helpful and useful to me.

Most things that most people contribute in life are small in impact. We could stand to give away more things of higher impact too instead of maximizing profit.
Yes, I understand that point, but it's not really what I was getting at. My point is that most software, even or especially open source, isn't even "small impact" (in a positive sense). It's just toys, learning experiments, or used for active harm, etc. Almost no software written today contributes to any "betterment of the species," no matter how small.

If software engineers want to contribute in that way, they should support the research efforts of individuals in the areas I mentioned. Those projects are meaningful and impactful. But they're a tiny fraction of software developed.

It's simply an incredibly ignorant conceit to fancy oneself as providing even small impact simply because one writes some software.

The only explanations I can think of are (1) altruism, (2) intent to profit from one's reputation, and (3) simply enjoying puzzle solving. Am I missing any? And are any of them so strange?
Do not underestimate how much you can learn from teaching / explaining something (you think you already know) to someone else.
Learning in public [0], discussed on HN before.

[0] https://www.swyx.io/learn-in-public/

(2) And (3) aren't strange and are very likely the main drivers. It isn't hard to imagine that humans, and really any intelligent life, have evolved to enjoy problem solving and structure incentives around being good at it.
For me it is contributing to a project that has helped me too. For every useful answer I received on stack overflow I've answered some questions myself.
Interesting. I wonder whether "repaying a debt you feel but are under no legal obligation to repay" should qualify as altruism. (It feels altruistic to me.)
Many things are not zero-sum, for example if I help you and you help me we will both be better off than before. Sites like stackoverflow make programmers more productive in aggregate; we would be worse off without them.

If you can't understand why someone would decide to offer their help for free then at least try to be thankful.

Going to drop this Dan Pink video here: https://www.youtube.com/watch?v=KgGhSOAtAyQ

Basically what motivates good engineers is a good problem. If we can meet our basic needs we give the rest away for free. Companies/entities have been using/exploiting this for years. The gamification points are lame (I agree) but I believe there is a general desire to contribute to the common good and give back to the community.

Philip Glass talks about this exact thing here:

https://thecreativeindependent.com/people/philip-glass-on-co...

That link is amazing. Maybe my reply is off topic, but Glass is an extraordinary composer and it is always a pleasure to see him referenced saliently like this. Thanks!
> please have it for free, my labor is worthless.

That's weird logic. Presumably you wouldn't create something you consider worthless - you'd create it because you needed it.

Or because the act of creation is pleasurable in and of itself.
There are other frameworks than strict personal net worth maximization.
Both Stack Overflow and publishing your code openly are strongly motivated by pride/showing off your know-how.

When I participated on Stack Overflow, for me it was a combination of learning a lot by answering other people's questions and getting a kick out of demonstrating my expertise.

Well there's many reasons. But in addition, most on Stack Overflow is the boring stuff: getting a certain operation, task, calculation right, often in a particular language, with a particular framework. The actual development, in my opinion, starts after that.

Just take my day today: interpreting the client's specs and internally communicating and planning a minor change in the context of a few parallel release paths, discussing a few tweaks to a piece of code with a colleague carefully weighing effort, impact on partially rolled out tests, and future flexibility (making best guesses as to where things are going), and analysing / fixing an issue in a piece of code which design delicately balances simplicity, robustness and performance.

Call me naive but I don't see an AI taking over before reaching (or nearing) general AI. Nor do I see how someone that's not a competitor already become one just by having access to Stack Overflow, or even a tenfold of it.

A lot of people uses stackoverflow for the gamification. Others just want to give something back to the community.

Open source is a great way to market yourself. If I have some really valuable code, then I'll keep it for myself. If I think it would be more useful and gain traction as an open source project then I might publish it and in that way position myself as the top expert on that software.

A lof of businesses are actively using, publishing and contributing to open source. Not because they don't want to make money, but because it's the way to make money.

> my labor is worthless

The opposite is true. Analogy: Volvo invented the three point seatbelt. To maximize the value of the invention, they gave it away free to use.

The heart of the open source movement had more to do with companies locking down software with operating systems and less about star-trek socialism for code. RMS wasn't just some hippie, he actually stuck to his guns and really "stuck it to the man" in a way that actually revolutionized programming today.
Information wants to be free.
And then they complain bitterly when commercial entities use it without contributing back, treat workers poorly, and all that. It's not weirdness; it's ignorance and/or stupidity.
So so true. Imagine a plumber turning up at your house and fitting you a new bathroom as their open source project. But then again, if they charged a extortionate ‘support’ fee for years thereafter for doing nothing then that wouldn’t be as crazy. A bit like Red Hat in that sense.
That’s a very strange metaphor. How about giving plans away for a bathroom. Last I heard, integrating your app for you and doing it in house wasn’t part of putting a repo on GitHub
Plumbers don’t give their bathroom plans away last time I checked. Neither to architects.
Humans were giving away their service to the church for promises of forever life.

Mass delusions are easy to propagate as they require little emotional nuance; a salute, tattoo, incantation… those used to be enough to bind large groups.

Groups are out though. We’re leaning into enabling humans as atomic agents and automating away the utilitarian social obligations, and work of biological survival to get there.

> how long would it take to encode the average lawyer into a hdf5 file

I'd say, minimally, a good 50 years, except perhaps for the busywork. At that point you could maybe have a tool that could handle a lawyer's job. Law's often an extremely creative, verbal, expressive job, so I think machines are particularly unlikely to do well there.

I'm not worried about being automated away. If someone wants to make coding easier, neat, I'm not a programmer, that's just how I get shit done. I solve complex problems, and I don't see machines taking that job for a long, long time.

Frankly, if machines can take away the mechanical bullshit part of a job and let us humans do the interesting, creative work, that works for me.

> Frankly, if machines can take away the mechanical bullshit part of a job and let us humans do the interesting, creative work, that works for me.

How much "interesting, creative work" is there? Surely most of the work that most of us do, and that most of us are capable of and interested in, is not simultaneously interesting and creative.

I count myself as lucky and I have certainly had a more interesting working life than average but the proportion of that forty years of work that counted as both interesting and creative is probably, looking back on it, measured in single digit percentage points.

If a machine does all the easy stuff how would I ever get enough practice to stretch myself to the difficult creative parts?

> How much "interesting, creative work" is there?

I would imagine that the answer is roughly "infinite". It's like asking "how much art is there?" - infinite.

> If a machine does all the easy stuff how would I ever get enough practice to stretch myself to the difficult creative parts?

By doing the easy stuff? I don't know, you can do whatever you want.

> By doing the easy stuff?

The machine is doing the easy stuff. Why would anyone pay a human to do it? If I am not being paid how will I get the resources needed to be able to spend time working on the easy stuff?

The mechanical bullshit part is being abstracted away time and time again and none of the issues you bring up have become problematic so far. Sure there's a point where this might change profoundly, but AI is currently nowhere near that point if you ask me.

(stuff being done for me: CPU design and work with the OS on top of it including multithreading and IO, executing database operations, turning higher level commands into tons and tons of machine language instructions, libraries that allow me to go higher and higher in abstraction level, think synchronising, multi threading, basic data structures like dictionaries, map/filter/reduce operations, etc - where I need to I learn about them, but mostly I just use them and let them do the heavy, boring, lifting)

(working with a low code solution like Mendix is comparable, you can become creative without the boring work, of course it has a learning curve, which learns you how to use the higher abstraction layers without the need to really practice or fully understand what it takes out of your hands)

A good lawyer, like a good programmer isn't valued just on their output, but on the questions they ask that lead them to the correct output. This is much more difficult to encode.
It's an interesting comparison, law and code. GitHub's AI gets a sense of what you're trying to do, and tries to move the ball forward. Sometimes the context it has is enough to do that. It's better with verbose languages.

Law can be pretty verbose. Given half a paragraph, how often can an intelligence (artificial or natural) deduce what's next?

Of course the coding AI has the advantage that coders write (and publish) comments.

> coders write (and publish) comments.

And writers in law write commentaries, some of them having great authority.

> Call to action: Programmer, wake up.

The article also mentions - "head of AI products at the St Petersburg office of JetBrains, a Czech developer of programming software, sees time savings of 10% to 20%. "

and the subheading says - "The software engineers of the future will, themselves, be software"

um, how seriously should we consider the fact that "skilled" software engineer/programmer solving really complex problems are at risk?

Can't say if making just another simple CRUD app is not at risk but the statements and their propositions made in the article are too generalize too plant a seed of insecurity in oneself.

Call me naive but I really don't see an AI take over my (senior) software development work, there's just so much to it, including a lot of communication and creativity.

I dare posing that by the time AI takes over my job, it's gotten so advanced that I've got much more to worry about than just my job.

It's not surprising that "normal users" don't think about this but what I've found extremely surprising is that otherwise fairly skilled programmers don't even think about it.
The more skilled the less there is to think about.
Its not going to find out the actual work I do, which is largely offline

Once I've solved a problem, I document it in code. Only seeing the code at the end misses the problem solving parts

Greg Egan wrote a short story about a financial salesperson who’s job was taken by an AI that was trained by listening to his phone calls with clients.

As a programmer though, I’m not worried. Every line of code is generating more code. Every recursive function, every loop, every piece of meta programming. Every script file that calls a Python program that calls c routines that microcode that call actual ops. It’s already all generated code generating more generated code.

When (if) we have full AGI that is capable of truly understanding a real world problem and kicking off a chain of code generation and is affordable, then I’ll be worried.

> Imagine a million lawyers' days being recorded in 60s intervals - including what they type, the files they have opened, etc. - how long would it take to encode the average lawyer into a hdf5 file? How many lawyers would be fine with that kind of assistance?

Pretty sure that large law firms already automate a lot of the work they do. Standard contracts they customize for instance.

But really, aren't a lot of (billables) hours spent explaining legal concepts to customers?

Programming has always been destined to become more and more "blue collar", for lack of a better term, pretty much from the outset.
Programmers have the worst intelligence to gullibility ratios of any profession.

* I should elaborate. We tend to easily accept the "this work is meaningful" line, we volunteer our time because "programming is a craft," and we will hop on tooling bandwagons like this because it's shiny and new without considering the ramifications.

This will sell like hot cookies. The only thing that can destroy it will be the immense cargo-culting. So software developers are safe, for now.
I've read three definitions of "cargo cult" and still don't know what it or your reference to it mean.
It's mainly meant in jest, partly, at how corporations tend to imitate what seems to work for other, more successful corporations. Ie. at one point after FB, everyone and their mother wanted to make their own Social Media platform. Before that, Web Portals were all the rage. It's often about good ideas, but doesn't always make business sense. Implementations often miss the mark, especially in the beginning.

The term comes from this, and uncovers a bit of the futility about the so-called benefits of playing the imitation game:

https://www.steveglaveski.com/blog/the-curious-case-of-cargo...

The problem is that in the fast-paced corporate world, you either make your own startup (and usually fail at that), or you have to play the same game everyone else does. There's simply not enough time and resources to get ahead at everything. Unless you go for the smaller niche, ie. embracing agility. Of course, everyone and their mother is Agile (tm) these days too!

You've missed the point. A company seeing what another is doing, and copying their idea and implementing it isn't cargo culting.

The key feature of cargo-culting is immitating another without understanding the why behind what they're doing.

Imitating is simply imitating. Many companies have gotten rich doing this.

Fun fact: Oreo biscuits are off-brand copycats of Hydrox.

https://en.wikipedia.org/wiki/Hydrox

Literally: it's doing something because others are doing it and that's it.

Developers have a massive proclivity to follow something simply because others have. We're talking everything from best practices to design methodologies to whether or not to include a semicolon at the end of a line. There's a reason for this: writing software is very hard to measure and quantify. It's not a physical thing like a bridge or an automobile. When we hear about some new paradigm/framework/language/etc. espoused by some blue-checkmark-wielding developer who works at Google, we pay attention because...he works at Google, and seems like a trusted figure.

Not saying this is good or bad, it's just how it is.

I fear the "for now" is shorter than we think.
I don't. This isn't the first time.

First it was accessible programming languages (BASIC, Pascal, etc. ~1970s/80s), then it was standard software (spreadsheet software, ERM packages, etc. 1990s), then low code/no code (early 2000s), then model-/requirement driven (Rational Rose etc., late 90s, early 2000s), in between it was visual "programming" every now and again, now it's back to low code/no code again.

As long as the mechanical systems cannot test requirements for contradictions, don't accept non-functional requirements such as performance or security and produce non-correctness proven results that even fail to compile or are syntactically incorrect from time to time, I have no fears.

The current situation might as well be a local optimum in which NLP/ML will be stuck for quite a while. It's really hard to tell, but I don't see any reason for starting to panic just yet.