I know what I was taught in my Software Engineering Courses at school, I know what i was taught in my first year of being a software engineer, and years later I now can understand what is important in software development.
If you could only teach 3 software principles/philosophies to a entry level software engineer, what would they be? And why did you choose them ?
Common Software Development Philosophies
My top list would be:
Kaizen
I read this once, and it pains me I can't remember where, but they related Kaizen to bug fixing. Any time you find your self fixing a bug, it talked about fixing the other code around it. A lot of times bugs are a direct result of bad code. When it comes time to stop the bleeding, people just stick on a band aid.. they don't think about disinfecting the areas around it.Good Enough
I once worked at a client that had multiple projects all lead by different consulting companies.Our company produce a "good enough" designed product that balanced: leveraging bleeding edge technologies, functionality, and most importantly the project plan. We delivered a functional product, on time. It did everything that was asked, in a basic way. We then worked on beautification.
Another company, full of Microsoft MVPs, developed a product that was bleeding edge, completely beautiful,and months behind schedule. On top of being late, the use of too new technology and attention to too much UI detailed left a product that was over designed and buggy.
The concept is to know when to cut corners, and when to get something working correctly, and then going back and polishing it up... if needed of course.
YAGNI - (You aren't going to need it)
This one relates to keeping systems simple. Countless times I have seen clients implement things for future use, and by the time the future gets there it is completely wrong, un-maintained, or poorly documented. Sometimes its better to keep things simple and only implement what is required now.
Note: Once my question gets old enough I will offer a bounty, and the highest voted answer will get the points.