To complain is to tell the truth. People who refuse to complain, and insist on having a positive outlook, are monsters. Their optimism is a poison. If given the chance they will sell you out.
I’m a pessimistic person by nature and I tend to take the negative view of a lot of situations. I try to be conscious of it and not let it completely take over my outlook, but it is how I’m wired and I don’t see much value out of denying that or fighting it.
Working in software though I think pessimism is an asset. A software project’s natural state is failure. All software projects want to end in failure, and it takes constant hard work for them to avoid that fate.
Writing software is really hard. Throughout my career, I’ve found that the best programmers understand this instinctively. It’s this understanding of the difficulties involved that often leads to a pessimistic outlook. This in turn enables them to keep a constant focus on how a project is proceeding, and helps them to understand the level of effort required to ship successfully. In my experience this is an essential component of a good engineer’s makeup.