Time to let AI write AND read?

MMaximilian Schwarzmüller
컴퓨터/소프트웨어경영/리더십AI/미래기술

스크립트

00:00:00Do you still read the code or should you still read the code?
00:00:04That's a question, a discussion that came up on TechX over the weekend,
00:00:09in my bubble at least.
00:00:12And it's an interesting question, obviously also a nice rage bait question,
00:00:15but that's not what this episode should be about.
00:00:18And I'll answer the question.
00:00:20It's not a simple yes or no for me.
00:00:22And I also want to hear your thoughts.
00:00:24I really do.
00:00:25So please share them too.
00:00:26It's not simple.
00:00:27And I'll get back to this question here.
00:00:29But I think another question has to come first.
00:00:32Do you still write the code?
00:00:35Because obviously, if you still write all your code, you'll read it, right?
00:00:40So yeah, you don't need to read it because you wrote it.
00:00:43But for many developers, myself included, we probably don't write all our code.
00:00:49And you can obviously be anywhere on a range of 0 to 100%
00:00:55regarding that question, how much code you still write.
00:00:58I probably am pretty close to 100% by now already.
00:01:03And that definitely changed a lot over the last six, eight months,
00:01:08as it did for many developers, I'm sure, with AI models getting better.
00:01:14But most importantly, those models being better at following instructions,
00:01:18being fine-tuned for following instructions better,
00:01:20and then the surrounding tools like Claude Code and so on.
00:01:22So that changed for me.
00:01:24And I've talked about that in another episode,
00:01:26how that also sucks a lot of joy out of that craft.
00:01:30And I'm trying to find new joy in the building stuff
00:01:33and not in the code writing part, which is taken away from me.
00:01:37But I talked about that in another episode, as mentioned.
00:01:39So that's not what this episode is about.
00:01:42But this is, of course, the first important question.
00:01:45Do you still write the code?
00:01:47And certainly that answer may be yes for you.
00:01:50You may be closer to 0% here or anywhere on that range.
00:01:55And that is absolutely fine.
00:01:57I think it's too early to tell what the right place is on that scale
00:02:02because we're still early in that entire AI evolution when it comes to coding.
00:02:07And we'll have to see the long-term effects of more and more software being fully AI generated,
00:02:12as is definitely the case, no matter where you are.
00:02:16So that's the first important question.
00:02:18And it relates to the other one.
00:02:19But what about that other one now?
00:02:21Do you still read the code?
00:02:22Well, again, this is complex because we can split it up.
00:02:26We have reading the code.
00:02:29And I would say we have caring about the code.
00:02:33And for me, that is not the same.
00:02:36And you can also read but not care, which is kind of dumb.
00:02:40And I'll get back to that.
00:02:41Or not read and care, which is possible, I would argue.
00:02:45And it has implications.
00:02:47So as mentioned, you may not read and not care.
00:02:51You may read and not care.
00:02:55You may not read but care.
00:02:58And, of course, you may read and care.
00:03:02These are the four combinations if you have this split of reading and caring.
00:03:08Now, if you don't read and you don't care, that is my definition of wipe coding.
00:03:14Now, you may have a different definition and that is fine.
00:03:17But this is my definition of wipe coding.
00:03:20Not reading, not caring, that is wipe coding.
00:03:22Now, that does not mean that you don't care about the product.
00:03:25You probably do.
00:03:26Because if you don't care about the product, why are you doing something in the first place, right?
00:03:31But you may just care about the product.
00:03:33If it works, you're happy.
00:03:34If there is an issue, you just tell the AI, hey, blah, blah, blah, it's not working.
00:03:38Please fix.
00:03:39And you don't care about the code and you don't read the code.
00:03:42That is my definition of wipe coding.
00:03:44Now, if you read the code but you don't care, that is kind of weird.
00:03:49I guess you're just killing time in that case.
00:03:52If you read but not care, you may just be in a job where you're paid to do something.
00:03:57So, you spend your time analyzing code where you don't really care.
00:04:00I don't know.
00:04:01Not really my focus here.
00:04:03But sure, you could have that combination.
00:04:05Now, here are the combinations that are more interesting, though.
00:04:08Not reading and caring and reading and caring.
00:04:11Now, let's start with reading and caring.
00:04:13I guess that's the obvious one.
00:04:15I guess you could call this AI-powered software engineering or something like that.
00:04:20Because you may not write the code anymore or not all of it.
00:04:24But you care about it as a software engineer.
00:04:26You may be responsible for it.
00:04:28And you read it because since you care about it, since you may be responsible for it,
00:04:33you, well, you want to see what's going on there, right?
00:04:35Makes sense.
00:04:36So, that's an obvious one.
00:04:37And I'll get back to it.
00:04:38But what about not reading and caring?
00:04:40Is this even possible?
00:04:42And I would say, yes, it is.
00:04:43It is possible, but it's difficult.
00:04:46And we could argue if that is the future, maybe.
00:04:50And boring answer first.
00:04:52I don't know, obviously.
00:04:53I don't know if that is the future.
00:04:56Just as four years ago, I wouldn't have imagined that one day we would not be writing the code
00:05:02anymore.
00:05:03I may just not be imagining yet that one day we're not reading the code anymore at all.
00:05:09In reality, though, we would probably end up on a scale like this.
00:05:12And I would argue we already are on a scale like this.
00:05:15But again, I'll get back to this.
00:05:16So, not reading and caring.
00:05:18Is this even possible?
00:05:20As I mentioned, I would say, yeah, it probably is.
00:05:24But it's a totally different way of thinking about software.
00:05:27It relies on you trusting the AI, not just when it comes to it writing the code, but you're
00:05:34probably also using AI for reviewing the code, for scanning or analyzing your code base, for
00:05:40auditing your code base.
00:05:41And you can, of course, do that.
00:05:43You could be using cloud code with Fable 5 or whatever, or Codex or Pi, my favorite agent, with your favorite AI model to work on the code.
00:05:55And then you could use the same agent in a new session with the same or a different model, or you use a different agent in a different session with a different model.
00:06:03Any combination of that, you could be using that for reviewing the code, for reviewing the latest change, for doing frequent audits on the entire code base.
00:06:12You could be doing stuff like that.
00:06:13You can and you probably should also spend a lot of time planning and reading those plans, reading those specs.
00:06:22I think not reading the code, if done right, if that is the future, should not imply that you don't read anything.
00:06:32You should absolutely spend more time then creating good plans together with AI, making sure that you're working on the right stuff with the right implementation details, if you want to put it like this.
00:06:47So in the right way, you don't just care about the product, you care about the architecture, about the building blocks.
00:06:54And you can, of course, ensure or not ensure, but increase the chances of getting good results there if you spend more time on the specs, on the plans, and you then let AI implement it.
00:07:08And you then have code reviews where you give the reviewing agent also access to that spec or to that plan the AI should implement.
00:07:15Now, still, of course, one problem you'll have here, and which is why I'm not on that I don't read anything train, that you don't know with certainty what's going on in your code base.
00:07:29You can't. You just can't know with certainty if you're not reading it.
00:07:33You can, of course, try your best to get AI to generate the code you want it to generate and to use AI for reviewing, but you don't have 100% certainty if you don't look at it.
00:07:44I mean, that's not just the case for coding, obviously.
00:07:46That is true for anything in life.
00:07:48If you have AI or a lawyer, we don't even have to talk about AI, draft a contract, and you don't read it at all, and you just sign it, you don't have certainty what's in there.
00:08:00And you may or may not be doing that.
00:08:03I personally don't do that.
00:08:05I personally do still read code, but that's now the interesting part, maybe.
00:08:13Again, on a scale, I don't read 100% of the code.
00:08:19I have a hard time telling you where exactly I am on that scale.
00:08:24It may be somewhere in the middle, because I review the code, all the code AI gives me.
00:08:31But, of course, that does not mean that I read every single line necessarily.
00:08:36It means I jump into the important parts first, which I can identify as a software engineer.
00:08:42I know which building blocks are the important parts or which parts of a certain pull request or of a commit made are the important ones.
00:08:51I dive into those.
00:08:53I analyze those.
00:08:54I dive into the critical parts.
00:08:56Then I dive into some parts where I know that AI likes to mess up.
00:08:59And that is how I review.
00:09:01And I may just scan or briefly skim over the less important parts.
00:09:07I mean, for example, when it comes to the AI writing some code for reading in some environment variables and for parsing them,
00:09:16I may not read every line there.
00:09:18But I just want to see the general approach, especially since AI, for example, is prone to write overly defensive code where it has fallbacks for fallbacks for fallbacks.
00:09:27And I want to avoid that.
00:09:28So I still do my checks there, but I don't care about all the nitty-gritty details of how it parses an integer or anything like that, for example.
00:09:36So that is where I would put myself right now.
00:09:42But just as with writing the code, I don't know how this will change, how I may be moving closer to not reading 100%.
00:09:50Now, I don't know if I'll ever get to 100%.
00:09:54I can't look into the future.
00:09:55And I guess if we get to 100% for both writing and reading, we really have to see what that means for us as software engineers.
00:10:06It may still be super important to give AI the right tasks to know about the signing systems and about the architecture.
00:10:15And that would be my guess that it's this direction we're moving to.
00:10:18But obviously, that is hard to tell.
00:10:21The question will be if at some point we would not be writing any code and we would not be reading any code if you still need to know how to code, right?
00:10:31If it's worth being able to read or write code, right?
00:10:35If that's still important.
00:10:36And right now, it definitely still is for me.
00:10:39It definitely still is also because the question is, what do you care about, right?
00:10:44That's the other part, caring.
00:10:46Reading is one part, but we read because we care and we may care without reading, as I made it clear.
00:10:53But what does care even mean?
00:10:55And I would say care obviously can mean a lot of things.
00:11:03It may mean something like the code style.
00:11:06You may care about the code style, how functions are created, which approach is used there.
00:11:13You may even care about bigger decisions, like if you want object-oriented programming, functional programming, stuff like that.
00:11:21You may care about the readability of your program.
00:11:26You may care about the security and about stuff like reliability.
00:11:33And there are many other dimensions we could think about.
00:11:35There are some dimensions here, which I say matter less now.
00:11:39Code style, readability, especially if you don't read, not too important.
00:11:44It's just important in that case, I mean, that AI is able to read and understand the code.
00:11:50And it most likely will be fine with that.
00:11:53Now, code style can still matter also for token efficiency reasons.
00:11:58If you have a code base where you just have a lot of unnecessary checks, which, as mentioned, is something AI right now tends to do,
00:12:04or some AI models tend to do, that will also be extra tokens to burn when the AI analyzes that code.
00:12:11So that is still some thing here, but it may not matter as much as it did in the past.
00:12:18I mean, we all had our own preferences regarding code style in the past.
00:12:22And for me, that definitely changed.
00:12:24That definitely did change.
00:12:26Now, obviously, though, stuff like security, reliability, also testability, that still matters a lot.
00:12:34Obviously, that is the part, if anything, that matters in software.
00:12:39You want it to do what it should do.
00:12:41You want to have it do it securely.
00:12:43You may care about performance.
00:12:46You should care about performance.
00:12:47It should be reliable.
00:12:48It should not crash randomly on your users.
00:12:51And, of course, these are all things we're seeing in modern software.
00:12:54Modern software often is not reliable, may not be secure.
00:12:58And 100% security, of course, is not achievable, especially with these AI models being quite good at,
00:13:04finding security vulnerabilities and us not necessarily having access to the latest models that can do that.
00:13:10But that's a different discussion.
00:13:11But you should still care about it.
00:13:13That is my point.
00:13:14You should try to build secure, reliable, performant software, in my opinion.
00:13:20And as a software engineer, that, of course, also means that you may want to give your input regarding which patterns to use, which libraries to use in a project.
00:13:30So that is where we then move more into that systems design or software architecture area, which is not the same thing, systems design, software architecture.
00:13:39But these are the things that still matter a lot, I would say.
00:13:44And these are the things where having good specs, having good plans is important if you get closer to 100% not reading, which, again, may not be the case for you.
00:13:57This is all something where there is no wrong or right, as I try to make it clear.
00:14:02So these parts do get more important specs, plans, because, again, you want to definitely ensure security and reliability if you don't care about code style and readability as much anymore, which may very well be the case.
00:14:18And therefore, of course, this entire question of do you still read the code is obviously also a bit of rage bait, as I mentioned before, and not as easy to answer.
00:14:30And there just is no right or wrong here.
00:14:34And by the way, this should be obvious, but there also is a big difference.
00:14:37If you have something, some software running in production, maybe being used by thousands, hundreds of thousands or millions of people, and it also depends on which area you're working in.
00:14:49I mean, if you're working in banking, let's say, errors in your software may have catastrophic consequences and not just banking, there are even more important parts in banking, obviously health, defense, tech, all that stuff.
00:15:05So that is an important aspect.
00:15:10If you are an indie hacker with zero users, yeah, sure, you may not care about the code too much.
00:15:18But overall, I think we can still see a trend or we may see a trend where just as with writing code, we're also moving closer to 100% for not reading the code.
00:15:32I'm just not sure if we'll ever get to 100% and if we should get there, if that's a good idea.
00:15:38And we definitely should not stop caring.
00:15:41And then the big question just is, can we care without reading?
00:15:45Will that really, really, really work?
00:15:48I'm not sure.
00:15:49For me, I don't have that trust in AI.
00:15:53And I'm not sure if or when that will change.
00:15:56It may change.
00:15:57Not ruling it out.
00:15:58Just as writing code or not writing code has changed.
00:16:03But right now, I'm still more in that read and care part or I'm somewhere in between because, as I mentioned, I'm somewhere in the middle of that scale.
00:16:11But as I also mentioned, please let me know where you are.
00:16:150% reading, 100% reading, maybe still 100% writing.
00:16:19That may also be the right way to go.
00:16:21Let me know.
00:16:22And let me know your thoughts about this entire topic in general.

핵심 요약

While AI has shifted the software development paradigm toward writing less code, maintaining product quality requires shifting focus from manual coding to rigorous architectural planning, AI-assisted auditing, and strict oversight of reliability and security.

하이라이트

  • Most software developers now write between 0% and 100% of their own code due to the evolution of AI models and tools like Claude Code.

  • Reading code and caring about code are distinct activities, resulting in four possible combinations of developer behavior.

  • Wipe coding is defined as the practice of neither reading nor caring about the underlying code, provided the final product functions as expected.

  • Trusting AI to audit and review code allows for the possibility of caring about software architecture without personally reading every line.

  • Developers who stop reading code should compensate by increasing time spent on detailed specifications, architectural planning, and system design.

  • Code style and readability become less critical when AI handles implementation, but security, reliability, and performance remain primary concerns.

타임라인

The Evolution of Writing and Reading Code

  • The shift toward AI-generated code has significantly reduced the amount of code developers write manually over the last 6 to 8 months.
  • Writing code and reading code are linked, but the necessity of reading is changing as AI becomes more proficient at following instructions.

The rapid advancement of AI models and specialized agents like Claude Code has forced developers to re-evaluate their relationship with code. While some developers still write nearly 100% of their code, others have moved to different points on that spectrum. This evolution requires acknowledging that the traditional craft of software development is undergoing a fundamental transformation.

Defining Developer Roles through Reading and Caring

  • Developer behavior splits into two independent variables: reading the code and caring about the code.
  • Wipe coding occurs when a developer neither reads nor cares about the code, focusing solely on the end product functionality.
  • Caring about code while not reading it is a viable, albeit challenging, approach that relies on trusting AI-driven auditing.

Developers can be categorized by whether they read and care about their code. The combination of reading and caring is traditional software engineering, while not reading and not caring is identified as wipe coding. The more advanced, future-oriented approach involves caring deeply about the system architecture without needing to manually parse every line of generated code.

Strategic Implementation and Oversight

  • Relying on AI for code review and audits allows developers to manage codebases they do not manually write.
  • Increased reliance on AI requires spending more time on detailed specifications and planning to ensure correct implementation.
  • Manual code review should prioritize critical building blocks and areas where AI is prone to errors, such as redundant defensive coding.

If developers move away from reading code, they must increase their commitment to defining the 'what' and 'why' of a project through high-quality specs. By using AI to review its own output, developers can maintain a level of control. However, complete lack of oversight remains risky, as seen in other professional fields like contract law, where signing without reading guarantees a loss of certainty.

Prioritizing System Reliability over Syntax

  • Code style and readability matter less when AI is the primary consumer, though inefficient code can increase token consumption.
  • Security, performance, and reliability remain the most critical aspects for any production-level software.
  • The necessity of coding skills depends on the risk profile of the project, with banking and health requiring more oversight than indie projects.

As the reliance on AI increases, the importance of aesthetic code style wanes, but the need for functional reliability grows. Developers must ensure that their systems are secure and performant, which often involves taking responsibility for architectural decisions and library selections. Ultimately, no universal standard exists, but developers should remain engaged with the critical components of their software.

커뮤니티 글

모든 글 보기