This times a thousand. I love programming but I want it to be boring. Boring means no stress, attainable deadlines, repeat ability, the ability to walk away, and the ability to tell these 10-hours-a-day hacks to fuck off. Boring means 5-nines reliability without a devops team because the design was simple, elegant, and most importantly worked. Boring means you're able to get it right the first time. Boring means bein…
You just described the fixed mindset to a T. https://www.brainpickings.org/2014/01/29/carol-dweck-mindset...
I've seen this chart and it has very little to do with what is described above. My point isn't that people should reject challenges, or to push back unnecessarily when confronted with pressure, or resist deadlines. The point is that you optimize your environment, methodology, tool usage, workflow, designs for simplicity, and that when you've done so it grants a level of control and predictability over one's work that it would appear you guys think is unattainable.
The above mindset embraces challenges by controlling for their parameters, and when confronted with a challenge too large you break it up until the pieces are something that one can assert control over. If that's still too much then you start shaving off requirements, and if that's still too much then yes, you might have to dive in and power through it. But that's where the boring mentality saves you: "diving in" and "powering through it" become more like a light swim than a sprint or marathon. Plus, when the code is simple and predictable its very easy to make estimates and then you can give yourself a larger deadline than you need.
Obstacles are confronted and plowed through -- but again this is not as difficult because the system is simple enough that most of it can be held in one person's head. When that fails, though, a little bit of creativity can get one out of a bind.
Effort... well you got me there. Less work is always better. Smart work, not hard work. If you are working hard, step back and think for a minute, because you are doing it wrong and you should probably optimize. There are very few scenarios for which this rule doesn't apply.
I don't see how my assertions have anything to do with feedback and criticism, other than to say that there is not as much in the bugs department because the boring system generally works. How one handles feedback has little to do with the other components.
It should also be noted that my mentality DOES involve a lot of questioning management, but that is because management desperately needs questioning. When a cabal of socializers and non-technical soft-power types try to run a technology-centered business, they require a lot of course correction so that development can continue unhindered and not get distracted with silly little initiatives (or whatever the third-party enterprise sales hacks walked through the door with this week)