Strong communication skills. This includes being able to converse with enginers and non engineers alike. Written skills are key, including documenting code, writing specs, and writing user and architecture documentation. The ability to understand and premptively raise issues is also key--being able to alert your manager to problems as the first signals arise, instead after the problem has already occurred. The ability to estimate tasks is critical as you plan your work. Also, domain knowledge is helpful in any field.