> I explain that, if they don’t write the code, they will not be able to effectively read the code. The ability to read code is certainly going to be valuable, maybe more valuable, in an AI-based coding future.
I'm not certain of this. Thinking back to when I first started in my career after graduation- I remember feeling like my ability to write code had improved greatly during my time in school. Meanwhile, my ability to read code felt like it had barely improved at all. Even now, after over a decade in the industry, while both skills have improved tremendously, I still feel like my ability to read and internalize code is not at the level I would like or assume it to be simply as a result of my experience.
It could very well be that reading and writing are two separate (though related) skills that require intentional practice and honing on their own. I can't speak for everyone, but reading code as a skill, for me, only really began to develop once I had a job where it was expected of me.
Maybe it's possible to learn to read code without learning to write it. It certainly feels like its possible to learn to write it without learning to read it.
Reading code was always much harder than writing it and it's certainly the root of many NIH syndrome disasters. Writing helps, but you're right that these are two seperate and related skills.
Strong agree. School had me writing stuff myself on the order of a few KLOC at most, and maybe collaborating with a "group" in which at most 2 people actually did anything. What little exposure I got to reading a large codebase I didn't write, was all in personal projects trying to mod open source video games. I'm sure some people had more extensive experiences but that was my bachelor's.
First job had me using a programming language I wasn't super familiar with and trying to add a feature to a codebase 100s of KLOC, all written by other people. Definitely a sink-or-swim moment. My skills of reading and navigating the dreaded Other People's Code were all honed over the next dozen years.
That being said AI is a lot better at reading code than I am, as demonstrated by its ability to find incredibly subtle bugs in huge codebases. So I'm not even sure those code reading skills are all that useful now. When I have to review somebody else's code I get more mileage from pointing an AI at it and asking targeted questions like "how does this handle when a Foo's approval is revoked" than reading it myself line-by-line. I'm not saying I never use those reading skills but the ability to get the big picture, chase down deep callback chains, know where to look... those skills are likely to atrophy.
It's like using GPS vs. knowing the roads as well as a cabbie. GPS gets you pretty damn far for zero effort.
Reading code is very hard because you have to build a mental model from code that others wrote. You’re trying to understand what they wrote, the intent behind that, and what’s wrong or missing - that’s just a fundamentally hard thing.
But building mental models based on data and communications from others is one of the most valuable problem solving and communication skills there is in business, precisely what Carson is getting at in his essay.
Don't think you can be a mature developer unless you can fluently read code. I tell everyone learning to code that reading code is equally important. In our world of AI tools reading code is turning out to be a key skill.
Not GP, but the main thing is that there is always some conceptual model being a good codebase. Meaning there’s the problem, then a given set of data structures and algorithms that forms a solution for that model.
It’s often hidden behind the syntax and implementation because of the layers of abstraction. A single operation (semantic wise) may be scattered over many statements, and some definition may be important in several subconcepts. It helps to be familiar with various technical concepts as possible. basic data structures like lists and trees, more advanced concepts like scheduling and concurrency, as well as platform concepts like files, process, networking,…
Why? Because they are implementation details that distract from the main conceptual model. It’s like how OpenBSD handle device discovery and configuration. Once you know that it’s a tree, you just need to remember how you build a tree and then most of the code are obvious. You can then discern the traversal stuff from the actual device configuration easily and know how to focus your reading.
I don’t think so. I strongly believe that writing and reading is pretty much the same, because they are strongly related to thinking. They are even secondary to the latter. I often interacted with juniors and other colleagues and those that do have issue with writing and reading often struggle with formalized thinking.
Taking a problem or a wanted behavior and dissecting it down to logical manipulation is hard for those people. They can go down one or two layers but then they got lost while building the necessary abstraction. You can observe it pretty much in real time as they’re losing track of assumptions for the current context. Thinking that way is a skill and once you can do it, reading and writing code is pretty much effortless.
Both learning to write and learning to read is merely a proxy of learning to think. Doing one while not doing the other is handicapping yourself for no reason.
That used to be true of autotune too. It was either tastefully hidden, or obvious and trashy. Then projects like 808s and Heartbreak and Tha Carter III put it front and center and it's been a legitimate tool ever since.
I didn't know if generative ai has a strong enough signature to go through the same evolution, but I wouldn't be shocked if it did.
Autotune is legitimate as a surgical tool, used as little as necessary so you can't ever hear it, not when it's front and center as they have tried to do in the 2010 era of awful.
AI is still in the 2010 autotune phase, where more is better.
I don't have a problem with the T-pain style of autotune. The worst form of it when it's used on every single note without the ridiculous note-snapping effect that makes it so obvious
I could come up with a thousand examples, but I remember when I was in college and listening to a lot of 90s music. Blink 182 had this album come out, and I couldn't even listen to 3 seconds of vocals because of the insane amount of pitch correction grinding the life out of everything:
Though if 2010, the year that Lost in the World was released, is your marker of an awful era, then I suspect that when generative ai does get used to create real art you will likely not be a fan of that either.
there's an artistic effect I keep seeing that only works with generative AI. It seems to be alternating traditional transforms (translate, rotate, scale, perspective, color shift, take your pick of anything you want) with diffusion steps to bring the resulting image back to the same semantic prompt every frame. Looks trippy, like the image is moving, yet also staying the same (like a Shepard tone), and also constantly drifting in details because AI's not that good.
Sidebar: if you're also mitxela on youtube, I just had the strange experience of reading this comment while listening to your voice from a different window!
I re-read your message a bunch of times to make sense of it and finally realized what you might be describing -- is it like this? https://www.youtube.com/watch?v=8PQuXE6gRUA (Lorn - ENTROPYYY)
It’s autoslop can become an adjective for Generative AI content whether it’s hidden or not. It’s so AI - can mean different things to different generations - derogatory for Gen Alpha and like a good thing for older generations
Autotune, and quantization in general, is a legitimate artistic choice though. It's like using a ruler. It's not strictly required either.
AI is literally the exact opposite of that. We had been building software with ruler-like precision even when it was unnecessary and got in the way. That's the only reason we ever wanted AI to begin with.
One mistake people keep making is the assumption that arbitrary and probabilistic imprecision ("wisdom of the crowd") is automatically equivalent to artistic or experienced/curated choice. It's absolutely not. Another mistake is that approximations are always enough to satisfy all problems, or at least "real world" problems. That's obviously not true either. That's flat out ignorance.
Check out some off Connor O’Malley’s YouTube videos lately. He’s a collaborator with Tim Robinson and has an absurdist take with heavy AI used
What I’m saying is he made an explicit artistic choice to use AI and it’s an integral part of the work. You can’t tell a creative person they aren’t allowed to do something.
AI is going to be used, and already is used, by creative people for legitimate uses that only enhance the statements they are making.
The fact that lazy people are using it as a shortcut for a lazy audience is not an indictment of AI
> You can’t tell a creative person they aren’t allowed to do something.
That sums it up for me. This "new thing appears, become hot, gets overplayed, people hate it" cycle happens over and over, but that is trendy norms. Meanwhile, creative use will continue to go up and to the right as people learn how to better wield AI to express themselves.
The future won't be "AI in art is bad" but "AI as a tool of artists is powerful, AI as an artist is nonsensical".
Yeah, I'm not saying there's no artistic value in using AI.
I'm saying that less intentional use has less artistic merit. AI hasn't made an impact on the toil involved in the creative process. It's instead another brush.
It all boils down to the fact that humans are not outsourcing anything to AI. If anything, it just raises the bar and makes humans have to work harder. Decision fatigue was already a problem long before this era of AI, and AI can make it worse.
That's exactly what happened to music with beat quantization and autotune. People just zoomed in, nerded out, got snobbier, stopped seeing the forest for the trees, and ultimately produced very boring music from exhaustion. Not only that, but a ton of nuance was lost. We took so much agency away from the performance and made it all march in line and in time. It's up to the audience where the breaking point is.
If the architecture they're studying is divorced from the preferences and needs of the uneducated masses then who cares? They may as well be studying their own butts.
> divorced from the preferences and needs of the uneducated masses then who cares?
Preferences, perhaps, but needs, I'm sure not. On this, I much prefer being divorced from preferences, than designing soul-less buildings designed solely to cater to preferences, without leveraging the knowledge gained through years of study.
Modernist architecture certainly has its fair share of misfires, particularly where the postwar architects were attempting social engineering to be “cleaner” or more “rational.” The schools were often teaching ideals based in no empirical evidence.
It's hard to build something new based on empirical evidence because the thing you are building might be such a radical departure from previous experience the data you have simply does not apply.
The problem is that a core group of modernists kept doggedly insisting on it after it was proven to not work.
For example, we know now that pedestrian skyways only work in limited contexts and have plenty of downsides; or that a large, concrete windswept plaza is pretty to look at but pretty antisocial and unusable space, and yet you still see this kind of thing in the latest from say Zaha Hadid et al.
It’s why a next wave of architects and planners have coined terms like “bird-shit architecture” that only looks good completely devoid of context and landed from the sky.
As Henry Ford would say, "They didn't want a car. They wanted a faster horse".
Often we go out exploring the solution space for new things that were never done before and nobody ever asked for them because nobody had imagined them until they saw the first one. Remember how blown away everyone was with the Jeff Han's multitouch demo? It became immediately obvious it was the future of direct manipulation interfaces.
If you go back further, do you remember how sci-fi pictured the computers we would be using "in the future"? In 2001 there were no alphanumeric keyboards. Neither on the Enterprise. We are finally catching up with the vision of Tron, of the computer as an environment for intelligent agents (it took decades for most people to even formulate this understanding of the movie). We get a lot of things wrong, but our job is to try the things nobody is asking for, because they don't know they can be.
We already know why most things happen. But beat around the bush. That is the problem. We don't care.
When a severe security bug crops up, one postmortem tells where we messed up. Someone somewhere didn't do his job. Maybe they prioritised speed, money or due to management issue. But we know why.
When an accident happens (Motorvehicles or otherwise), most of the time, if anyone in the chain of events did their job, it could've been avoided. But we ignored the policies, standards and laws set in place to avoid just that. There can't be a better example than Boeing for this.
When it comes to natural disasters, we know how to fix most of it. But we as human race just don't want to.
Hell, we knew how to freakin avoid Covid which came out of the blue. 6ft apart, wash hands and mask. We couldn't agree to that to keep us ALIVE!
IMO, we don't want new technologies, new innovations, new laws in most cases. We just needs to apply what we know already - PROPERLY! But that ain't fancy.
All I could remember is that tweet where musk has a $2M reward for the invention of a carbon capture device or something around those lines. And someone replied to that tweet saying, it's trees. Trees do this.
Another big one is climate change. Ask the ASI how to solve that, and it's just going to say make a huge push for more renewables like solar, and strongly disincentivize GHG emissions. We already knew we had to do that. But the people in charge of the economy don't wanna.
> We already knew we had to do that. But the people in charge of the economy don't wanna.
I've often heard it said that often use consulting firms to recommend unpopular decisions they were already planning to make, thereby offloading the culpability to the consulting firm.
Maybe the LLMs are going to be the ultimate "consulting firm" for our societal issues.
I say this mostly tongue-in-cheek, but we're already offloading a lot of lower-level responsibilities (e.g., "write my email") onto these AIs.
Large organizations also offload decision making when they don't have a clue, and simply want to point to some action taken. The answer doesn't even matter, they just don't want to be responsible for something, or waste their own time making something (that other stakeholders care about) a real priority.
People downplay the value of consultants, but they have many uses!
Exactly. It's not about us NOT having the knowledge, understanding or capability to solve the issues that we have. We just don't want to do the right thing. That doesn't get fixed even if we invent time machines.
I'm not certain of this. Thinking back to when I first started in my career after graduation- I remember feeling like my ability to write code had improved greatly during my time in school. Meanwhile, my ability to read code felt like it had barely improved at all. Even now, after over a decade in the industry, while both skills have improved tremendously, I still feel like my ability to read and internalize code is not at the level I would like or assume it to be simply as a result of my experience.
It could very well be that reading and writing are two separate (though related) skills that require intentional practice and honing on their own. I can't speak for everyone, but reading code as a skill, for me, only really began to develop once I had a job where it was expected of me.
Maybe it's possible to learn to read code without learning to write it. It certainly feels like its possible to learn to write it without learning to read it.
reply