True meaning of iterative development and refactoring code
<p>I have recently began working as a developer and working under a more senior developer who is kind of supervising / mentoring me.</p>

<p>A lot of things that he is advising just dont seem right though.  For example, he tells me to just write my code in a procedural way ignoring how well its written or its overall design and just get it to work.  Then iteratively it will get better as it needs to, improving the code over time.</p>

<p>This is making me uncomfortable about spending time actually properly thinking about the solutions and indeed the actual problems before coding and I feel that by rushing in and coding this way that in the end, more time will be spent on this.  Unfortunately i am not at the stage of being able to solve problems immediately by writing perfect code first time.</p>

<p>Also,m he frowns upon documenting code, beliveing that it should speak for itself.  He feels that a short comment at the top of each method should suffice.  Again this seems counter intuitive to me.</p>

<p>All in all, i feel that i am now writing really hacky code in order to just get somehting up and running.  Is he correct and is this the way things are done throughout the industry?</p>
