Discussion What makes a bad programmer?


For all the experienced programmers out there what would most other programmers considered bad?


I cannot talk from experience but I guess bad or incomplete documentation seems to be a sign of bad programming or so people tell me.
This to 100%! Good code is usually self documenting and any additional documentation is appreciated (A long as you don't have stuff like "int numberFive = 5 // This variable holds the number five"). This also extends to stuff outside the code. From how to setup the project to testing procedures. You can be a coding genius, but if nobody can read or even set up your code you wont be hired for long.

Code related:
  • Nesting: Yes nesting is sometimes not avoidable, however once you nest beyond 3 layers you are definitely doing something wrong. RERO (Return Early, Return Often) is the key to readable code!
  • Naming: Naming variables, functions, etc. can go both ways. Either too undescriptive e.g. var a, var a2, fn apa2 (standing for a plus a2) or too descriptive e.g. var numberCalculatedFromAAndB, fn calculateTheSquareRootOfXMinusY
  • Rules, Patterns: If you follow something like e.g. MVC then actually follow it! Don't put model code into the view! If your project uses camelCase for vars don't suddenly switch to snake_case only to switch later to PascalCase.
Other things:
  • Being too focused on a language. You don't need to force python if JS works better for the cause. Does your team use C? Then use C and don't do your part in Rust!
  • Trying to reinvent the wheel: I can be a good exercise to see how something works, but if you try to get work done you shouldn't try to remake something that already exists and works as intended.
  • Lack of tech knowledge outside of coding: In the end there is so much more to coding than writing code. Deploying a website? You probably need to use Linux! Are you Version Control (which you should)? Better learn of to use Git, SubVersion, Fossil, etc.! Are you from a non-English speaking country? You'd better learn english! And much more.
  • Not being a team player: No matter what you make, you will eventually have to deal with people!
These are some of the things I can think of right now.