Testing! (unit testing, integration testing, fixtures, object layout, ...)
And not a programming skill, but, of course, a development skill: using version control and training in making sets of changes that handle one (or several related) requirements or fixing bugs, and will always lead to the creation of a source tree that compiles without errors. This will teach you how to organize your work :-)
And last but not least: English ... :-) Again, this is not a programming skill, and I know that some may disagree, but I feel that any programming language that uses English keywords should also be programmed in English, So: use English variable names and so on. I would even say that the comments on the code should be in English, but Iām sure that more people will not agree with this ... So: find out how others describe their code and adhere to it.
Arjan source share