How to Become a Software Engineer in 5 Steps
A software engineer works with computer programs and applications. Get information about degrees and certification requirements, and learn about internships that will help you gain experience in this field. Schools offering Software Development & Engineering degrees can also be found in these popular choices.
What Is a Software Engineer?
A software engineer is a technical specialist who uses concepts from mathematics and computer science to design, develop and test computer software systems and applications. The range of their work includes business productivity tools, such as word processors, spreadsheets and databases, along with Web content management systems, graphics editing programs, games, operating systems and programming languages. The devices for which they create include cell phones, magnetic resonance imaging (MRI) machines and computer systems at every scale from personal to mainframe. Design, development and testing may be applied to new software or toward adapting existing software to new hardware.
In the design phase, your duties would include consulting with clients about their needs and conferring with other engineers about implementation strategies. The development phase entails coordinating and supervising the work of programmers, engineers, technicians and any other members of the development team. You'll also test software, analyzing its performance and correcting bugs or adjusting its feature set.
Step 1: Earn a Bachelor's Degree in Software Engineering or Computer Science
A bachelor's degree in software engineering would have the most relevance for your objective, but computer science programs will provide you with the necessary foundation as well. Bachelor's degrees are typically earned in four years.
The subject matter covered in both types of programs is similar. You learn digital logic, algorithm design, data structures, project planning and the sequential, structured approach to programming. However, each has a different orientation. Computer science programs place as much emphasis on information processing theory as they do on practical applications of theory. Software engineering emphasizes the process of software development - analysis, design, implementation and validation.
Step 2: Participate in a Co-Op or Internship
If your school hosts an internship or co-op program, you'll likely wish to take advantage of it. Apart from observing and participating in a real-world development project, you can make contacts that may be helpful after you graduate. Some computer science and software engineering programs include internships in their curricula.
Step 3: Obtain a Position as a Software Engineer
Your employment options include computer systems design firms, computer services firms, software publishers, computer manufacturers, financial firms and insurance companies. You could also consider becoming an independent contractor. According to the U.S. Bureau of Labor Statistics (BLS), around 48,200 software engineers were self-employed as of 2008 (www.bls.gov). Approximately 909,600 people were employed as software engineers in total at that time, and a projected 1.2 million will be employed by 2018 - a 32% increase.
Step 4: Pursue Continuing Education and Obtain Certification
To keep your skills up to date, you could attend seminars and continuing education courses provided by colleges and computer industry organizations. The Computer Society of the Institute of Electronics and Electrical Engineers (IEEE) hosts conferences and networking events and also offers two certifications - the Certified Software Development Associate (CSDA) and the Certified Software Development Professional (CSDP).
CSDA certification is open to recent graduates of software engineering programs, bachelor's degree candidates in their final year of study and non-degree professionals with two or more years of programming experience. The certification exam tests your knowledge of software development, maintenance, management and support.
CSDP certification is open to any candidate who has 7,000 hours of software development experience and a bachelor's degree, CDSA certification or IEEE membership. The exam for this credential tests your knowledge in such areas as software requirements, design, construction methods, configuration and testing.
Step 5: Earn a Master's Degree
To acquire advanced skills, a higher salary and more seniority you might consider earning a Master of Science in Software Engineering. Master's degree programs provide further training in the use of systematic, quantifiable and cost-effective approaches to software development, and they give you more experience devising solutions that work across multiple hardware platforms. You also have the opportunity to deepen your expertise in at least one language and to hone your ability to write clearly and critically about novel issues in software development. Master's degree programs are typically completed in two years.
To continue researching, browse degree options below for course curriculum, prerequisites and financial aid information. Or, learn more about the subject by reading the related articles below: