Know how to program (!) - it’s not just about knowing of syntax use, but it’s the actual knowledge of programming, that matters. This involves programming-related problem solving and coming up with good solutions fast.
Never stop learning - with the speed of changes happening in the field, you will not survive if you’re just going to stick to the one programming language you know, not to mention that in order to call yourself a good one, you really need to be adept in at least 3 different languages. You cannot stop learning new stuff.
In addition to this, a clever developer will not make it necessary to know all of the code by heart, but will definitely know where to look for it when needed.
Always assume, that the user will make one mistake after another - and therefore what you’re building needs to anticipate this and disallow as many errors as possible.
An absolute must is knowing the newest version of both HTML and CSS - no two ways about this. An additional one to understand and learn is http. You should be able to know what happens to the code once it gets through the web, and where this happens exactly. Having the wider picture, basically.
Communication skills - this is vital when you consider, that majority of developers work for a client, which may or may not be good at describing their needs and specification. It’s the developer’s job to understand it and make it happen.
Attention to detail - as with any kind of work, this is the skill crucial to making the things you work on stick and make an impact. Taking care of the work up until the very end and the smallest detail is simply a great habit to cultivate.
Testing skills - no amount of code should reach production without previously being tested. It’s basic knowledge, but people still keep omitting this.
Basic knowledge of at least one server-side programming language - most people start with PHP, Python or Rails. It’s a highly valuable skill to have.
If you’re a developer, who is happy to say that he is ticking all of these boxes, then you’re set. Congratulations!
Zbyszek Zemła is the founder of Shore Labs and Kanban Tool.