They usually work in groups on specific software for a larger system like a computer, xbox, ps3. The group usually has a Software Architect, Design Engineer, Java Developer and Quality Assurance Engineer. They differ from computer programmers in that they do large scale projects instead of more contained and small jobs.
As a software designer you will be working with computers using them for coding so it would be good if you were able to use computers well.
More specific: Programming Languages like .NET, Java, Cobol, Basic, C/C++, C#, PHP, Perl, Python, ASP.. Etc Software Testing Unit, Functional, Performance, Bug tracking, Test case management, Code coverage, Code analysis, Code review. And much much much more other programs
The big three development programs Rich internet applications (flash) JavaScript, CSS, and HTML to make websites Check, maintain and update websites Learn one it will make your resume better and give you more options Developers who understand the problem domain are able to contribute to the project in a better and more valuable way This refers to blackberries and iphones etc..
Spend time wisely do not work on something that's not useful or will never be shipped. You never know when you'll have to demo the system or send out an evaluation copy so don’t under do it or over do it. If even you don’t understand your code then no one will so keep it neat and understandable Be your own manager, your boss isn't going to tell you exactly what you have to do every day so you have to tell yourself what to do. You must keep up with new technologies and continously make mistakes ands learn from them.
Universities have begun directly offering 4-year degrees in software engineering If you do not have a bachelors degree some employers will accept Independent Study and Certification but not as likely to get the job a someone with a Bachelors degree.
You could learn from a actual software developer and then get a job at the spot where you learned.