Rituals of Shaming in the Software Industry

Pavneet Singh Saund on January 13, 2017

The career of being a software developer can be a bumpy one. From the very start you are challenged by technical challenges you have no idea how ... [Read Full]
markdown guide

Now more than ever, we need to model and demand a culture of courtesy and mutual respect. Thank you for your article.

To reinforce what you're saying, those who equate courtesy and respect with not providing feedback and not requiring quality are not being constructive or logical. It's always good to be nice to others, especially when disagreeing and criticizing.

There are many who cannot be bothered with behaving respectfully. They are usually deaf to any arguments otherwise. When choosing my employers and clients, character issues like this are at the top of my list of factors on which I base my decision whether or not to join them.

Regarding 'git blame', there is no need to add an alias; 'git annotate' has always been a synonym for 'git blame'.

Please continue to focus on the human factors in our field. Happiness in the workplace is such a large part of happiness in life. It's great when people like you care enough to examine and nurture it.


Well put Keith!
Thanks for letting me know of "git annotate".

Be well

  • Pavneet

I remember the whole culture of shaming as being a sort of noob thing that people go for, that one tends to grow out of as one becomes more secure in their abilities. Remember shaming being such a big thing as a student, with parroting of the likes of "comment why not what" etc etc. One place I worked at had a "dozy duck" which you had to put on your desk whenever you broke the build. These days I see that sort of thing as a bit of a red flag. I've worked with a few really good devs these past few years and none of them bother with that sort of thing.


Yes, there is a natural progression when it comes to maturity and self-awareness about ones skill, and expectations placed on others.

Nothing beats working with experienced developers that understand the trade-offs of decisions, and also when to make those trade-offs. Add a culture of mentoring / knowledge sharing and you create a wonderful atmosphere for others to thrive and grow.

Glad you've found some good people. Maybe you can create feeling for someone else when you get the oppportunity? :)

Have a great day


Yeah absolutely. Also, another consideration - devs might have young children wearing them out and making them juggle, or maybe they're working their way out of debt, perhaps they're recently divorced, or working from a shack somewhere in a high-risk neighbourhood with a crap internet connection while feeding their parents, who knows. Not every dev's working in the Valley with good paychecks, healthcare and free lunches.

I dig what these guys are doing BTW, setting a good example - any devs building VR apps, who don't have the equipment, are welcome to come to their office at certain times to use their VR gear: binomial.info/


To be honest, that's not a bad thing. A diva coder will fail projects even harder. Strengthening of character is what we really need here, because there is a new wave of sociopaths (fresh from overly protective parents) coming to the field, and if we'll succumb to the ways of safe spaces in programming - all but is lost.

So fuck it, your code is shit, you need to do better.


@smoke fumus, By Diva coder I assume you mean a person quite early on the Dunning Kruger graph (wrote a little about it here: codingwithempathy.com/2016/09/20/e...), where they have a limited skill set, but a high level of confidence / arrogance.

You are right that these individuals may have a negative effect not only on themselves and those around them, but also for the projects they work on. I also agree that firm guidance is a good way to help these individuals realise their limitations and potential.

Which brings me back to the conclusion in the article, where there is a plea to the senior developers out there to mentor and train individuals. Guide and lead the way. We don't have to be dicks about it, but we can be direct and candid with our feedback. Be harsh with code, but kind to the coder.

Be well

  • Pavneet

sometime later meanwhile in google spinless socipaths taken over and google fired an employee for "wrongthink". So yeah, I think i was right all along.


I think imposter syndrome plays a part. If I know I'm a mediocre dev, and all these other developers need help from me, they must be terrible, right? In reality we're all where we are because we're good and we're all improving all the time.


Assuming other are acting with the best intent in mind has helped me greatly. As well as dealing with my own Imposter Syndrome. My personal experience is that being aware of my limitations, and also my strengths is important. Also being mindful of when my mind starts to wander and keeping away from judgemental thoughts have been valuable.

At the end of the day though, the simple act of blogging, creating and doing things in public has had the most profound effect. Nothing beats negative thoughts than just putting in the work. Then you know where you are :)

Here are a few links you may enjoy.

Be well

  • Pavneet

Interesting read, but I don't share the opinion. Being assertive is a very hard skill to attain, most junior devs don't get proper feedback and are left to fail alone. Feedback early is important. I would rather have a broken CI build or a bad code review than a bug in production.

If this industry needs something is more feedback before shipping.

I agree that bro culture don't help but I never heard of stuff like wearing a hat for breaking a build. That's what git branches are for, to experiment and break the build before it affects others. And code reviews are still not that common in the industry.

Not doing ttd won't make you a bad developer, no one ever said that, but it is funny that you quoted Uncle Bob, who defined a very good list of code smells. Whats more shameful than saying that your code smell? He's also a big advocate of TDD btw.


@cthothubo , you are quite right with your observations that practices that uncover bugs / inadequate code before it reaches the end user are essential. Short feedback-loops are important. The angle here is that there are good and bad ways to give that feedback. If you follow the link to "candid feedback", you'll understand what I mean.

You are also right that it is a very hard skill to attain, something that Andrea Goulet speaks about when she says that "Communication is just as important as code": codingwithempathy.com/2016/07/19/v...

In regards to breaking the build, I've haven't personally experienced the hat, but have heard of that and similar techniques. Quick google uncovered this: mindfulhacker.com/who-broke-the-bu... .

Code smells are shaming of code. Not people. There's a difference. Be harsh with code, but be kind to the coder.

Be well


To also paraphrase Uncle Bob, we have a social responsability and an obligation to not release crappy code into the world. Is the day that a bad program becomes responsible for loss of human life the day where we'll finally realize the importance of it all?


Thanks for writing this. I'm developing a conference talk about "not losing our temper with newcomers" on Q & A sites and other places - very closely related to your topic.


That sounds wonderful. Best of luck.

Where are you planning to hold the talk?


I've submitted to PyCon, will probably give the talk at least one place even if PyCon doesn't want it!

Great stuff!
Would be awesome if you could keep in touch (@pavsaund on all social media) and let me know how that goes.

Good luck!


There is absolutely nothing wrong with code that has been, and is delivering value in production.

Are you sure? Why is it "nothing wrong"? It could be like this or it could be just brilliant and it could be very wrong and be working with enormous effort of support people and developers that inherited it. This cannot be justified by the fact it is delivering value because the costs of maintenance for this code could just be too high. It can also create impediments for further development of the business since it is, for example, hard or impossible to change.

So, how all this makes it "nothing wrong", is it just because you want to show your respect to the people who wrote it? You can respect them and still point out that the code is wrong and must be fixed, otherwise the business is badly hurt.


Fantastic article. I agree very much that it's important to avoid a culture of blame and instead embrace a culture of helpfulness.


Why is the image accompanying this article a stock photo of a woman facing a wall?


Hi April, yes, it's a paid stock photo. The title is: "Person with head against wall".

The reason for the given image was mostly a combination of the picture itself (tone, colour, composition) and the mood in the image. I liked it and felt it suited the post.


code of conduct - report abuse