I think we are all entitled to some basics in our working environment; to be rewarded fairly for our contributions, to work safely, to be allowed to act ethically, amongst others. There are some people who, however, hold an exaggerated sense of entitlement. They might feel they have a right to be given things which others believe should be obtained through effort. They expect favorable treatment. They can expect others to automatically comply with their wishes. Working with or managing the entitled can be demanding for colleagues and managers alike.
Where the sense of entitlement is greater we are talking about narcissism. Narcissist behaviors can be particularly difficult to deal with. From my own experience and from researching on this article I have heard many stories of the destructive impact that narcissists can have on colleagues, managers, teams and even entire businesses.
How do you recognize and deal with somebody who lives with a sense of entitlement or has a narcissistic personality disorder?
As the cliché goes, there are few certainties in life. For programmers, bugs are one of the certainties. How we react to bugs matters.
There are plenty methodologies, processes and technologies that deal with bugs. These are all important and are widely written about.
I think that programmers also benefit from a better understanding of behavioral and emotional responses to bugs. These responses can lie close to the surface and affect the performance of individuals and teams. This post looks at both constructive and negative responses to bugs as a kind of “field guide” to identifying these behaviors in yourself and others.
Here’s a story I have heard many times about programmers.
“I asked Joe to write a simple bit of code to do <xyz>. It should have taken a few hours, maybe a day at worst. He took several days, he wrote a general framework that was far more complicated than we needed. Why does he keep over-engineering his code?”
It could be that Joe is an Abstract Oriented Programmer. Here’s a few snowclones…
If you often over-engineer your software, you might just be an Abstract Oriented Programmer.
If you spend more time thinking about tomorrow’s problems than today’s, you might just be an Abstract Oriented Programmer.
If you love looking for deeper patterns, get thrills from unconscious insight or talk in analogies, you might just be an Abstract Oriented Programmer.
In writing the last blog on motivation my mind was drawn repeatedly to thoughts about performance. After all, motivational techniques are primarily about boosting performance. But as I put “pen to paper” for this blog it turned out harder to write than I expected. Human performance is a squiggy topic but unquestionably important.
I start out with some classic performance curves that apply to factories, motors and other mechanical systems. Next I move to the human performance curve and then consider the large variability of the performance of programmers, the Elo rating system for rating chess players and musing on its relevance to programming. I close with sage advice to programmers from Captain Barbossa and Dirty Harry (who, as far I know, are not fictional programmers).
Let’s start with a few quick observations on money and motivation.
- Bonuses can be an easy and expensive way to demotivate staff just as to motivate them.
- Experiments consistently show that financial motivation can actually reduce performance particularly on tasks that require thinking … like programming.
- If money were the sole motivator then open source would not have transformed the world and society would lose the massive contributions made by other volunteers.
- But equally … unfair rewards and low salaries can switch off the mind of your team.
So why do many organizations persist with financial bonuses as their core incentive? What’s the right balance of rewards?
It’s not good news for programmers… “Prolonged sedentary time is ubiquitous in developed economies and is associated with an adverse cardio-metabolic risk profile and premature mortality.” according to recent research.
In English… Too much sitting is bad for people’s health even if they exercise several times a week.
David in 1504 vs. David in 2011
(Photoshop creator unknown)
The good news is that simply standing up more often during your working day makes a positive difference.
Today, many programmers collaborate remotely. Some collaborators will never meet in person. Some will not even meet by phone or video conference and so will collaborate solely through textual encounters.
With so many distributed teams it is important to ask whether physical interactions provide software teams with an advantage and what can be done to facilitate teams collaborating across distance and time zones.