There's a difference between a super-experienced, super-senior developer "keeping their code clean" and a junior one doing the same thing.
Juniors just thrash around from one design pattern to the next, never really achieving anything other than learning what doesn't work.
A much more experienced developer will have an understanding about what clean code looks and where it's necessary. They will recognise when there is a huge amount of uncertainty, for example, so spend less time writing loads of fantastic code before they've firmed up the requirements.
So it really depends on the nature of the project and who you have on your team as to whether you need to worry about 'clean code'.
Juniors just thrash around from one design pattern to the next, never really achieving anything other than learning what doesn't work.
A much more experienced developer will have an understanding about what clean code looks and where it's necessary. They will recognise when there is a huge amount of uncertainty, for example, so spend less time writing loads of fantastic code before they've firmed up the requirements.
So it really depends on the nature of the project and who you have on your team as to whether you need to worry about 'clean code'.