Last week I called a technician to repair an electrical shutter that was broken. The technician did a good job in general, but there was one particular thing he did that made me think of him as a true professional. Was it the tools he was using? No. Was it the technique? He was working fast, but no, it wasn’t that. It was the moment he asked me for a broom to clean up after him. That was when I realized he was a pro. In a similar manner, what makes a software developer a pro? Is it the extensive knowledge of program languages or frameworks? Is it the speed of work? Is it the elegance of design? No. Developers are pros first, when someone uses the software they wrote. To do that they need to talk with customers, get feedback and make sure the are delivering the right thing. Developers are pros when their design is easy for other people to understand and use it. Developers are pros when they know how to collaborate with other people, when they can put their ego aside in order to do a better job. Developers are pros when they always develop good quality code. When they know not to succumb to pressure to do something messy. Developers are pros when they thoroughly test what they do. When defects are a rarity, something utterly astonishing and perplexing. Developers are pros when they never leave messy code behind. They clean up. And if that’s what it takes to clean up, they use a broom.