Good post, thanks for sharing it and the author for writing it!<p>I liked very much the observations in the first half of the post, however I don't agree with the conclusions. For me the reason for the state of software engineering (and well, many other industries really) is the problem with leadership. We as society often choose wrong leaders[1] and these leaders have very detrimental effects on processes and quality. However, it doesn't mean that what we do in software engineering is intrinsically meaningless, it's just very inefficient. The majority of web and mobile applications do solve a problem people have, because people do need to eat, shop, dress, play, organise their documentation, learn, do sports, connect to other people, share things with each other, etc. More often than not these applications are developed not because of great leadership but despite of terrible one, because the people who write code still manage to do their job despite of it. And the same thing happens in hospitals, you don't think that hospitals' management is much better, do you?<p>So, basically, the problem with the first approach (Gratitude) is that it ignores the problem. Often ignoring the problem is contributing to it. And the problem with the second approach (Cynicism) is that it exacerbates it, because it essentially promotes the lack of integrity and the same problematic egocentric attitude that's responsible for this problem in the first place.<p>Being angry is a very natural reaction to this problem, and I do agree it's necessary to a degree. However I don't think it's the solution. I guess the solution is to accept the current situation for what it is, and do your part to change it. You don't need to be angry to do that, but you do need to ditch the wrong expectations about our society and how it works.<p>[1] <a href="https://www.youtube.com/watch?v=W_Oab42VZRE" rel="nofollow">https://www.youtube.com/watch?v=W_Oab42VZRE</a>