In response to 'Apart from programming languages what else to do?', I suggested that it's important to have some knowledge of interface design to work in software development.
Learn interface/interaction design. As programmers, we are notoriously bad at this and we always give the same old excuse,..."that's a designers job". I can count on one hand the number of development houses I'm aware of that hire a designer to do the front end work.
With emerging technologies allowing us to create better and more usable interfaces this is one of the biggest gaps in our knowledge as a body of professionals and something we should be actively trying to improve.
Now, I came to be a developer through graphic deign, in to web design, then web development and finally LOB desktop development. So my background in design may have made me biased but I wanted to gauge opinion on this.
In my opinion, getting the user interface right is at least as important as getting the code right and having little or no knowledge in this area is no longer acceptable for a proactive developer. Do you agree?
Update- To those who say it's okay because you might never work with the UI or very rarely, let me ask this: If I never have a need to work with databases, does that make it okay to have no understanding of them? All I'm saying is that we don't seems to value UI design as a skill in our line of work. Maybe that's because it's no so technical and there are no hard-and-fast answers.