1. Hi Paolo,
    I agree with the fact that most of the italian developers can’t properly use english as their way to comment, document or more generally write something.

    I’ve recently started to write an english blog about programming topics (http://proudlygeek.appspot.com) and sometimes i find difficult to correctly translate some words/phrases without using a dictionary; i hope that keeping on reading, writing and speaking will improve my overall knowledge of the language.

    By the way, analysis and design are the most important phases in software engineering, but it seems that every developer should make this mistake at least one time in order to understand their crucial importance.

    Personally i’ve done a lot of errors and over-structurize is one of the worst: simplier is better, generally speaking; solve problems with only one paradigm and/or one design pattern is usually not flexible enough. I (painfully) learned that but still sometimes i’m tempted with the “code now, think later” phylosophy. It makes me feel a bad, bad person πŸ™‚

    If you have some spare time feel free to check my blog (see above): it’s python powered πŸ˜‰

    • Hey Gianluca. πŸ™‚
      I am especially fond of the English usage because I had to struggle a lot to master the language (for some crappy bureocracy I had to study French in high-school… needless to say that I barely remember the fundamentals of it :-P). I think that you’re spending some energies very well while writing your posts in English (and, on a separate note, also while doing the K&R exercises… :-D).

      About the analysis & design neglect and the over-structuring, while they may seem opposite things, I think that they’re both rooted in the same bias: after you learn something you get that warm fuzzy feeling that you’re invincible. When you learn some coding you go right away with it, ignoring everything else; when you learn some analysis and design you over-apply it with the result of adding unneeded complexity (and the goal of A&D is really the opposite!). At least this is what happened to me, and I surely agree with you that this is an hurdle that has to be overcame personally by every software engineer. And both are recurring temptations. πŸ˜‰

      From some time I try to avoid slipping into sloppiness to not make Dijkstra cry. πŸ˜€


  2. Although I am not a computer engineer myself, I feel that there is a common denominator between the science of computing and the right mastering of a habit (that is to say, developing a successful lifestyle).
    This introspective article perfectly highlights those bad habits that lead to the coding and release of bulky and over-bloated applications.
    Micromanaging is self-destruction πŸ˜‰ Macro managing is the best way to get things done (correctly, and efficiently).

    You know what, Paolo? Introspection helps making errors visible! And errors made visible are errors you can correct with ease! You ought to write introspectively more often!

    see you,


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.