By far the most common flaw we see in large applications is the assumption that an authenticated user is an authorised user. When building an application with a login area knowing the difference is very important.
Continuous Deployment is a system whereby any changes to your application can be rolled out to your live servers simply, safely and quickly. Moving toward this methodology is significantly more than a trivial efficiency improvement. The benefits can be surprising.
We have a lot of fun developing software, but it's not the development itself that is where the enjoyment comes from. We most enjoy solving problems, and solving them well. To do that we need to really understand the end users and what they need from their software.