---
title: "Some opinions about effective software development after 20+ years"
url: "https://osherove.com/blog/2021/1/24/some-opinions-about-effective-software-development-after-20-years.md"
canonical: "https://osherove.com/blog/2021/1/24/some-opinions-about-effective-software-development-after-20-years"
published: "2021-01-24T09:24:55"
updated: "2021-01-24T09:24:55"
tags: []
author: "Roy Osherove"
description: "This post on hackernews made me write this: Being able to communicate ideas > Being a great technical developer - For every great developer that's an asshole, you can find a great developer that won't be an asshole.…"
usage: "Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page)."
license: "https://creativecommons.org/licenses/by/4.0/"
---

# Some opinions about effective software development after 20+ years

By Roy Osherove January 24, 2021

This [post on hackernews](https://news.ycombinator.com/item?id=25887373) made me write this:

- Being able to communicate ideas > Being a great technical developer -

- For every great developer that's an asshole, you can find a great developer that won't be an asshole. Don't keep assholes. Google the "[no asshole rule](https://en.wikipedia.org/wiki/The_No_Asshole_Rule)". -

- Making the team feel safe to discuss stuff they don't know freely and ask questions that might seem stupid in other teams makes for a great team that's not afraid to challenge assumptions and break through with new skills. -

- TDD is a skill just like refactoring. Learn when it makes sense.

- 80% of architects in enterprise don't have the skills needed from them. including the things stated above.

- Learning the [Theory of Constraints](https://en.wikipedia.org/wiki/Theory_of_constraints) and applying it to find bottlenecks in the process, pipelines and structures of your teams/projects is one of the most useful things you can apply to become more productive. -

- Learning [what to measure and what not to measure](https://www.youtube.com/watch?v=goihWvyqRow), lagging vs leading indicators can help you communicate to management about what changes truly need to happen to make your team work more effectively. -

- Whiteboards (and remotely, [miro](https://miro.com/) boards) are very effective and can be used for easily 50% of meetings. But aren't.


---

## About the author

**Roy Osherove**: Senior Solutions Architect at AWS working on AI for production and AI-driven development; author of The Art of Unit Testing and Elastic Leadership, with about 20 years of consulting and training on unit testing, TDD, team leadership and continuous delivery.

### Sites

- [RobotPaper](https://robotpaper.ai/): This blog: AI patterns and anti-patterns, AI and coding agents, and engineering leadership.
- [osherove.com](https://osherove.com): Roy's personal site. Author of The Art of Unit Testing and Elastic Leadership; consulting and training on unit testing, TDD, team leadership and continuous delivery, plus about 20 years of blog posts.
- [The Art of Unit Testing](https://www.artofunittesting.com): The Art of Unit Testing, 3rd Edition (Manning): readable, maintainable, trustworthy unit tests, plus TDD workshops in C#, JavaScript, Java and Kotlin.
- [5whys.com](https://www.5whys.com): Roy's writing on software team leadership: self-organizing teams, surviving chaos, learning mode and the Elastic Leadership model.
- [Pipeline Driven](https://pipelinedriven.org): Continuous delivery and DevOps practices: build patterns, pipeline-friendly testing, DevOps metrics and enterprise DevOps.
- [Elastic Leadership](https://www.elasticleadership.com): Elastic Leadership, Roy's framework for software team leaders (survival, learning and self-organizing modes).

### Social

- X: https://x.com/royosherove
- LinkedIn: https://www.linkedin.com/in/osherove/

### Contact

- Contact form: https://forms.gle/jQSx5KoXvrVA1JCK7

### License

Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page). License: https://creativecommons.org/licenses/by/4.0/
