As a programmer and as a researcher in the software field, I've always been interested in trying to understand why a program or a system is well designed, fits its intended use, is maintainable, is scalable, etc. In short, how to make a good software.

I tried to summarize what I found so far in a very small (two pages long) "Little Guide on Software Engineering": 11 rules of decreasing importance with some references for further digging.

Of course, no revelations here. All those rules are found here and there in good books of Software Engineering. But defining and sorting those rules was an interesting exercise. :-) I'm not fully satisfied with the rule order and might change it. It is version 0.4 up to now and is still Work in Progress.

I would be pleased to get your feedback on those rules, so don't hesitate to send an email. The document is under CC0 license and there is a GitHub repository.