Organizing the entire software so that it's maintainable while being having acceptable performance. Most people say it's tradeoff. So it would be nice to see how things are organized within a project. How components talk, how data move from one place to another and so on.
It is easy to come with a quick hack and prototype. But issue is, they remain a hack/prototype! Scaling into proper software will require some thinking and design decisions! As a novice, I rarely make good decision and after 2 months of writing the code I am either amazed by myself or ashamed at the code.