You can check out the US Dept of Labor's info about computer software engineering, they gave first a quick update of education/skills needed:
Very good opportunities are expected for college graduates with at least a bachelor’s degree in computer engineering or computer science and with practical work experience.
The education/training suggested is:
Most employers prefer to hire persons who have at least a bachelor’s degree and broad knowledge of, and experience with, a variety of computer systems and technologies. The usual degree concentration for applications software engineers is computer science or software engineering; for systems software engineers, it is computer science or computer information systems. Graduate degrees are preferred for some of the more complex jobs.
Academic programs in software engineering emphasize software and may be offered as a degree option or in conjunction with computer science degrees. Increasing emphasis on computer security suggests that software engineers with advanced degrees that include mathematics and systems design will be sought after by software developers, government agencies, and consulting firms specializing in information assurance and security. **Students seeking software engineering jobs enhance their employment opportunities by participating in internship or co-op programs offered through their schools. These experiences provide the students with broad knowledge and experience, making them more attractive candidates to employers. Inexperienced college graduates may be hired by large computer and consulting firms that train new employees in intensive, company-based programs. In many firms, new hires are mentored, and their mentors have an input into the performance evaluations of these new employees.
FYI: Suggested computer majors:
For systems software engineering jobs that require workers who have a college degree, a bachelor’s degree in computer science or computer information systems is typical. For systems engineering jobs that place less emphasis on workers having a computer-related degree, computer training programs leading to certification are offered by systems software vendors. Nonetheless, most training authorities feel that program certification alone is not sufficient for the majority of software engineering jobs.
Persons interested in jobs as computer software engineers must have strong problem-solving and analytical skills. They also must be able to communicate effectively with team members, other staff, and the customers they meet. Because they often deal with a number of tasks simultaneously, they must be able to concentrate and pay close attention to detail.
I've been a computer programmer (software) and first got a Bachelor's degree in liberal arts, and went to a community college to get my computer training (associate degree). It was a good combo of "soft" and "hard" skills..the internship is a good idea..that's how a number of my friends who got their bachelor's in computer science got hired was from the firm they interned with...
Make sure the college computer program you pick isn't just full of theories about how computers work, but actually contains courses that teach you hard skills about analyzing, designing, programming and testing computer systems.
US Dept of Labor software engineer info: