I get like 10 good lines of code a day from Copilot. I don't even try ChatGPT anymore, as its only useful if you're writing boilerplate. Everything thats actually hard about my job requires the full context of the rest of the codebase, within repo and without, and architectural knowledge of the problems we're trying to solve.
I read another post here yesterday that said "90% of my skillset just became useless" in regards to AI. I don't understand how? Do people spend 90% of their time writing blank HTML templates or empty react components?
Maybe people are just extrapolating. "90% of my skillset will become useless soon". I don't know.
I'm saying this because so many people who don't seem to have a great track record of being of the forefront of sea changes are making all sorts of wild predictions about what this will bring. Many also seem to want to believe others will get caught up in a bubble and looking for opportunities to exploit that for personal gain.
I realize this is a bit of a rant but it's the lens I've come to view it through based on personal experience. Generative AI seems to be the first useable case for AI but the holy grail- full automation and predictive capabilities still seem quite a ways off because they are much harder problems to solve.
Copy-pasting a comment of mine from a few days ago:
We decided at work to run a little experiment with GPT3 to see if/how-much it was 'worth it'.
Since baseball is back and most of us are fans, we decided to write a baseball simulator. We each had a Friday afternoon to write one up. Half of us got to use the free GPT3, and half had just regular googling. After the jam, we'd compare notes at the bar and see what the difference, if any, was.
Holy cow, was there ever a difference.
Those without GPT3 got pretty far. Got the balls and strikes and bases and 9 innings. Most got extra innings down. One even tried the integration with ERA and batting stats in the probabilities of an event occurring but was unable to get it done.
The GPT3 group was estimated to be 2 weeks worth of work ahead of the googling group. Turns out, there is a whole python library for baseball simulations and statistics. The googling group didn't find that, but GPT3 just prompted it outright on the first query for everyone using it. This group got the basics of the game done in ~30 minutes. Managed to get integration with actual MLB statistics. Built somewhat real physics simulators of balls in play and distances, adjusted for temperature and altitude. Not all of them at once, but a lot of really great stuff.
Aside: Did you know that MLB publishes, in real time, all 6 degrees of freedom for a ball, from where it leaves a pitchers hand to where a catcher/batter interacts with it? They put out the spin rates in three axes! Wild stuff.
Our conclusions were that it's totally 'worth it' and is a ~20x multiplier in coding speed. It spits out a lot of really bad code, but it gets the skeletons out very quickly and just rockets you to the crux of the problems. For example: it gave out a lot of jibberish code with the python baseball library; like trying to pass a date into a function that only takes in names. But it gives you the correct functions. Easy enough to go and figure out the documentation on that function.
Like I said, it's a ~20x multiplier for our little experiment.
Action Items for management: Pay whatever you have to and let us use it all the time.
Not to create (or even make meaningful changes to) an actual, working system. With actual users.
There is huge chasm of difference between the two.
Chatgpt isn't even remotely useful for the money making part of my work. If all I did was write boilerplate pipelines I'd be worth diddly squat.
me: TypeError: sodium.crypto_secretbox_key is not a function when using sodium 3.0.5
chatgpt: I apologize for the confusion. sodium.crypto_secretbox_key was removed from the sodium package in version 3.0.0. Instead, you can use sodium.crypto_secretbox_keygen() to generate a secret key.
me: now I get 'TypeError: sodium.crypto_secretbox_keygen is not a function 3.0.5'
chat:gpt I apologize for the confusion. sodium.crypto_secretbox_keygen was removed from the sodium package in version 3.0.0. Instead, you can use sodium.crypto_secretbox_key to generate a secret key.
Back and forth. And that was when I was like "welp guess I gotta read some docs now" which isn't a big deal, the interesting part for me is that it's basically hallucinating about what features were added or removed in a given library version, which really seems like the sort of thing it aught to be pretty good with.
In my free time ive been working in some areas and frameworks i dont know at all and the output increase really is crazy. i was playing around with pixijs and very rapidly had a basic UI cobbled together that would have taken me at least 4-5x longer if id had to read through different docs, blogs, etc. its making me much more willing to try new frameworks and ideas out that i wouldnt have before because of how easily i can get over blockers in my concept of how something works.
As far as code, it's admittedly not the main part of my job and not my biggest strength, so yeah I need the help. I ask it to solve small problems, not write the entire thing.
For my writing, most recently I used it to incorporate social pressure into membership emails (peer influence and social proof).
On your last point, my first job in politics was creating the MySpace theme for a party committee; I used to create stuff in Flash; most of the toolsets I've used for my work no longer exist. The list of useless skills I possess is endless and my useless skills are way above 90%. You just have to learn new stuff and it's fine.
Recently I've successfully used ChatGPT to generate:
* TS declaration files for existing JS
* test fixtures that cover boundary conditions
* a regular expression that includes backtracking and optional named capture groups
The last one was pretty neat. I gave it sample data and it gave me a regular expression along with JS code I could copy into a node REPL for testing. It didn't get the task right immediately but we were able to iterate until we got the right solution. My regex-fu is weak when it comes to backtracking so this saved me a lot of time.
Depends on what I'm doing.
Professionally, I'm finding it very good for a couple of things:
- Exploring frameworks and libraries for languages I'm already familiar with
- Writing documentation for code that I've written (I don't use this at my workplace to avoid leaking internal code, but I use it as a way to write small tutorials based on side projects I do on my own)
For writing code I find it very unreliable, even for boilerplate.
The stuff I want to write about, I've usually written about many times in different contexts over many years. I can stuff all that into GPT-3, and it will summarize and organize it into a nice outline that I can edit, populate, and elaborate myself by talking or typing. So it's all my stuff, but GPT-3 has more of a subtractive and organizational role than a generative role. It does a pretty good job converting lots of redundant huge walls of text, flame war campaigns, and axe grinding diatribes, into concise outlines, introductions, summaries, lists, comparisons, etc.
I'm using it to organize, remix, and synthesize lots of papers, articles, postings, emails, conversations, notes, transcripts of video demos and talks, and other things I've written into a coherent 8 module "Vaster Class in Game Design". (Like a Master Class, but Vaster!)
Now, if I were writing VS Code extensions on a daily basis, I'd want to spend the time to learn all the details, but (ideally) I'll never have to write one again. This is the only one I ever had to write for Atom, so it's a decent bet.
And yeah, most of the code was boilerplate-- but still ChatGPT saved me from having to learn how to write that boilerplate. At least a day of time, I'd reckon. Possibly several days.
The task was to recognize the Scheme expression (atom or pair) preceding the current caret position, sign it using a password hash, send it to a remote Scheme REPL for evaluation, then insert and select the result of the evaluation in the editor.
ChatGPT essentially wrote everything for me, except the part that parsed out the Scheme expression. It wrote a really horrible regex for that. Fortunately I already had a proper parser implemented in the previous Atom extension, which dropped right in.
When I'm writing things informally (like HN posts) rarely allows me to do so clearly and linearly, and I am constantly either leaving out entire paragraphs that I just assumed I'd already written or am over-responding to things because I keep seeing blanks and just keep filling them. ChatGPT (and presumably all the copywriting tools that rely on it) is much better than I am at giving me a checklist of touchpoints to hit.
It’s helpful for autocompleting pure algorithms but that’s about it. And even then, I feel like I waste time reviewing its output and making sure it does what it says it does. I can write these algorithms myself slower but more reliably.
It’s really not worth its price.
I use ChatGPT to generate backend classes or Typescript types from JSON data, to generate unit tests from files, sometimes it also does some browser tests. I also write some parsers so it helps extending syntax a bit (but it's not too good at that). It also helps extracting localization keys, at detecting un-localized keys in HTML templates.
If a project has a lot of boilerplate, then it's definitely more than 10 lines per day. But not exactly "good lines". :)
For example, I was getting an error that a method x was missing on var of type MyObject. In debugging mode I could see that they type was MyObject and the attribute x was there. I paste the small snippet of code and the error and chapgpt immediately identified that the method call was actually returning a collection. I just didnt notice that the variable was a collection of type MyObject and not an actual MyObject.
When Im looking at other people's code I can paste it in and chatgpt will give an opinion on what is happening with the code.
I was creating UI components from scratch the other day and needed a word wrapping algorithm. ChatGPT was able to write one that didnt quite work, but was most of the way there.
When I looking at unfamiliar APIs it is much faster to ask chatgpt than to do google searches.
Even for things like how many police officers did austin have in 2008 are much faster with chatgpt. Ill ask for the reference (always broken) but enough of the reference is correct that I can google and get to the reference.
Lately chat gpt has been disconnecting forcing me to reconnect if I go idle for more than about 5 minutes, that has been annoying.
I go back and forth in my opinion on it. There are some topics where I get useful sessions, there are some topics where it's a mess. The problem is I don't know in advance which are which. It seems to be most useful in scenarios where I either need some extra motivation to get over the initial hump of starting a task (making an task feel more approachable is I think a great use-case), or where I know just enough about a task to know if it's generating nonsense, but not enough to be able to knock out the same results in less time myself.
The other problem is that in areas where I'm not immediately familiar with what's going on, I sometimes have to spend a lot of time debugging its code. And reading and debugging other people's code is (to me) a lot harder than writing code myself. So there's an inherent slowdown there where I have to check its work as if I am reading a junior programmer's code and checking it for errors. Code reviews are annoying and take a lot of mental effort to do well. You can ask GPT-4 to explain itself, but there's no way to know without actually stepping through the code if its explanation is correct.
I also worry that it's railroading me a bit. I had it prototype an algorithm for me and debugged it and helped it expand the algorithm and get it working with the results I wanted. Only afterwards did I realize there was a much simpler way to get the result I wanted without invoking the algorithm at all. If I wasn't in a conversational loop with an AI focused on getting its code to work, I might have noticed that earlier. But my brain was only focused on debugging the code for that task, it wasn't focused on going back and rethinking the algorithm and cutting out the useless bits.
BUT... sometimes it seems helpful with prototyping? So it's not all bad. I don't necessarily want to dismiss it entirely.
My take is potentially useful, and for some people who are particularly suited for this kind of rubber-duck peer-coding style of work, maybe a big increase in productivity? But certainly not universally useful for every programmer, and I can still see the seams. GPT-4 is significantly better than GPT-3, but it's not as good as people have hyped it to me, and I think people are vastly over-estimating its capabilities. I went in skeptical, but even with that attitude from what people had told me beforehand I still expected GPT-4 to be better than it is.
Am I worried this is going to steal my job? No. That's honestly a kind of laughable idea to me after seeing the kind of code it writes and how unreliable it is.
----
It's hard to put this into words, but it also kind of hints to me at a much better system, and I can see problems here around the auto-regressive nature of the LLM and the need for alignment training and around the whole structure of the thing and the slowness of generating text over and over, and the sort of forced linearity of the chat session that makes me think that maybe GPT-4 is just kind of hinting at a debugging/prototyping methodology that would be a massive improvement to productivity but that doesn't necessarily involve LLMs or involves them to a much lesser degree. It's in some ways a very clumsy/brutalist approach to simulating a feedback repl and accessing documentation, and because it's clumsy/brutalist it over-emphasizes the natural language aspect. And I'm curious to see if future projects can identify what specifically is helpful here and deliver that without all of the inherent downsides of needing to use a conversational model.
That's all ignoring the privacy/data concerns, but they're a separate problem.
But it highlights the reality that something has seriously changed since the pandemic. I have multiple employees that insist on staying home due to their dogs. The amount of discussion around employees' dogs is on another level now, partially due to the anxiety these dogs have when their owners go into the office.
It's all very different than prepandemic, I for one never heard "i need to work from home to stay with my dog" as something people used to say
At least in my case it was "I'm not going to get a dog because I go into the office", so it never really came up in hallway conversations. I suspect a lot of people were in the same camp. With WFH they did get a dog, and now it's harder to go back into the office.
My new job is downtown and at least an hour drive away, so I couldn't feasibly drive home during lunch anymore. It would be a significant inconvenience for me to start going to work every day (or at least it would if my wife was also forced to go back to work, she currently works from home also).
It's also inconvenient for many other reasons, including a 2-3 hour commute, but yeah, having dogs complicates things, and pre-pandemic, there were very few remote jobs, so people just had to deal with it. But it still sucked.
I’d honestly rather work in a dog park than that kind of environment.
Also, before the pandemic, workers probably didn't feel comfortable asking for or insisting on work from home, whereas it's been somewhat normalized now.
Before I was approved for permanent WFH, I was gradually increasing the amount of time I went into the office, in case I wasn't approved. It was clear after a few weeks that the one-month deadline we were given wasn't going to be enough time for the dogs to re-adjust. I think two months would have been enough if I kept it gradual, but then one day I got held up much longer than expected and my older dog had a freak-out and ripped the doggy door out of the door and then proceeded to rip off about 3 inches of (fiberglass shell, foam core) door surrounding the hole. It was almost a month after that incident until I could leave to do errands without her having anxiety.
I'm glad I didn't have to re-adjust her since she doesn't have much longer to live. I don't know what I'm going to do about the dog we adopted as a puppy during covid, who has never known anything else. I personally think hybrid is the worst of both worlds, but will start increasing my time in office once the older dog has passed so he can get used to me being gone for longer time stretches.
I have. I had a few employees who needed time off to tend to a dog who may have been sick, or needed surgery, or even took a couple of days to mourn when their dog had passed.
Honestly this works as a very nice filter bubble for me. You want me to be on-site because you don’t trust me to be productive unless you can see me? Boy, I bet your Jira hygiene is a lot of fun to be subjected to.
I’ve made the permanent decision to not be forced to work in an office ever again. It will always be my personal choice where I am physically located: you probably aren’t paying me enough to control my location.
Every single thing I do is logged and timestamped. Every line of code I check in, every PR request I approve, every work item that I close, every time I log into a server, every email, chatting in groups on Slack/Teams, etc.
They can never accuse me of slacking off, because it's all right there. They can easily see what I've been up to all day down to the millisecond.
I don't understand the accusations of people "quiet quitting" who aren't even logging in. If that's true then they should obviously be fired. I get my work done more efficiently working remote, without the distractions. And I can work when I feel the most productive.
I cannot leave my dog for hours at a time without finding that he has thrown a tantrum -- urinating or defecating in places inside the house, or destroying something.
Because of this experience, I will likely never have a dog as a pet again. He didn't use to be this needy -- it's the constant presence of humans that made him this anxious when they are away. But until my dog passes, the situation is at a stalemate.
This sounds like the CEO just read a bunch of tech/life blog articles and assumes that all of these trends are happening at his company too. Not a great sign when your boss believes everything he reads.
Feel bad for employees who feel like they they need to continue working there and can't risk quitting.
Hell, my company MDM will automatically revoke many permissions if it doesn't get an automated device check-in at least once every two weeks or so.
During the time that laptop lived powered off in my closet, I ran Citrix RDP (client on a personal desktop PC) to access a "engineering-owned" (vs corporate IT-owned) desktop PC located "at the office" on which I did 100% of my normal work.
One of the employees commented that the company gave a lot of people outdated Thinkpads, so they use their personal computers at home.
I had a company-issued laptop that I only used when traveling. If the company looked up stats on laptop use, I would have been near the bottom of the list for that reason. Doesn't mean I wasn't working.
But in the call, he said "I'm not saying they haven't done any work...."
So- these people can work without a laptop. Can they work as well? Who knows, he's not giving us any details - but this isn't a case of them doing nothing over the last month, or he wouldn't have added that caveat.
I'll admit, I don't think their is scientific proof one way or the other, I just view "marketing" as an easier industry for "bullshitters" to climb their way to the top.
So children and dogs are a distraction for the rank and file that's unfair to the company, but being on a bunch of boards and committees is fine and cool for executives. Pretty obvious what "good" and "bad" mean here - "good" is anything that makes the CEO more money, "bad" is anything that is the opposite. Classic "mask off" moment.
I understand having children does take time, but I've experienced a parent that ends up being available around 4 hours a day while they are the linchpin in a certain part of the process that prevents a job from being completed. They're slow to respond to messages, emails, and calls and sometimes async responses are just not good enough when we have contractors ready to put equipment into the ground.
Just seems like at some point, the role should be part time and not involved in some crucial aspect of the process. My complaint should probably be towards the company though and not the parent.
Over that time span almost everyone I worked with closely has had children. And for the life of me, I cannot think of one instance where it affected their overall productivity.
If anything, kids tend to be a stabilizing influence. I much prefer working with the person who is AFK every day from 3:00-4:00PM because he is picking up his kids versus the person who drops offline at 3:00PM randomly because they scored some concert ticket and the venue is 2.5 hours away.
Your org sounds different from mine though. It sounds like immediate responses to short notice requests are very important. Maybe folks are getting rewarded for heroics and not for planning and proactive communications? That is not an atmosphere that is conducive to parenting. Or anything else, really.
Yes, it should. Don't put responsibility on people you know won't fulfill it. The fact people even entertain the idea of not putting the blame on bosses for this is ridiculous.
Surely all the time spent making everyone homogenous and replaceable would infer otherwise.
My guess is its just some made up story by the CEO to try to get his employees to work harder because some anonymous employee had to sell their dog
The employee could also have chosen to keep the dog, and just hire dog sitters M-F to keep it company. Apparently they didn't want to do that, or they couldn't afford it, in which case it's questionable why they thought they could afford such a pet in the first place.
IMO, people really need to re-think their ideas about dogs as pets. Dogs are pets for rich people, full stop. They're pets for showing off how much money you have, because you can afford silly luxuries like working from home (most of the working population can't do this), or hiring a dog walker, stuff that used to be normal only for rich celebrities. Nowadays, it seems like all Americans think they're entitled to having such a pet, no matter how much it inconveniences their life, their employment, their family, etc. How Americans ever got this idea, I'm not sure, because it wasn't like this 25 years ago at all. Back then, people who had dogs lived in more rural places and kept them in the (large) back yard in a doghouse; they sure as hell didn't plan their day around a dog.
Upon further investigation, it seems most of their customers are scammers and spammers, so I doubt any of them much care. The more psychopathic the guy is, the more likely they will be to buy more services, since most of his customers are probably connected (either directly or indirectly) to cybercriminal gangs.
Full Title: Tech CEO Applauds an Employee Selling Off Their Pet Dog to Accommodate Return-to-Office Push
Take it easy on the Kool-Aid.
If people had as much equity and comp as he has in the company, maybe they would - he made that tradeoff to make this company his life, and he probably has a wife/family/paid helpers to take care of everything for him. His employees clearly have other priorities other than to work for a company that doesn't care for them and never will.
He was in the same sentence saying one thing and then the complete opposite. He also seemed far too emotional about things to be a CEO. People questioning his education is because his degree is in Geography. He could have a reasoned response to that for example that he's a business man and the reason he is CEO is because of his business experience not his education but he totally whiffed and just started getting upset about the personal attacks.
Some of his points were salient and others where unhinged rambling nonsense. He's a serious danger to the company and the exec board have a fuditary responsibility to stop him doing anything reckless (like this).
If the board was sensible they would get rid of this guy, he's a major liability.
Wonder if this challenge comes with a big reward -- say his TC for a year?
I’d love to know more. How many people were affected, did they protest or resign, how long was the company remote, what about people unwilling to return to the office, etc.
Maybe he has to work so much because he's incredibly inefficient.