There are a lot of characteristic of bad developers, but we will stop on the most bad situation:
1. is smart (may be extremely smart), but ....
2. is confident a lot (and do not test code a lot), and...
3. loves to do better and better (even though it's not needed)
4. loves to create perfect solution and do a lot of changes in the last minute
5. creates a lot of issues, but can to resolve them (and other people-managers think that he/she is hero)
6. he/she is technology lead or manager who continue do code changes.
Any questions?
Bad news: Managers often promote these people.... no comment