Thoughtworks interview question

why and what while writing code(nulls, exception handling) project architecture design multithreading