Guide to Majors
|
Guide to College Majors in Software Engineering
|
What is Software Engineering?
According to the U.S. Bureau of Labor Statistics (BLS), software engineering is the "design, development, testing, and evaluation of the software and systems that enable computers to perform applications." |
Read More
Guide to College Majors in Software Engineering
|
What is Software Engineering?
According to the U.S. Bureau of Labor Statistics (BLS), software engineering is the "design, development, testing, and evaluation of the software and systems that enable computers to perform applications." |
Software engineers work with a variety of programming languages such as C++ and Java. They might work to modify existing software applications or creating new ones from scratch. The duties of a software engineer may also include setting up and maintaining computer networks.
The ability to program is, of course, the primary requirement. Software engineers must analyze and solve computer application problems. And though IT majors and professionals are stereotyped as inept social actors, it is actually very important for software engineers to possess good written and verbal communication skills. Most of their work will involve teammates with a variety of backgrounds, from fellow programmers to technical writers, marketers and project managers.
Employers usually require entry-level software engineers to possess bachelor's degrees, but an associate's degree combined with work experience may sometimes be sufficient for a startup or a rapidly expanding company. Experience and continued education can enable a software engineer to advance to management or a top executive position.
Because technology changes quickly, it is essential for software engineers to remain current in their field. Graduate degrees are looked upon favorably (especially for management positions), though not required. Many software vendors, such as Microsoft, Java, and Cisco, offer certification programs to assist software engineers in their professional development.
Not surprisingly, nearly all of these degrees are available from online colleges and universities, as software and Web development become more tightly integrated.
The outlook for careers in software engineering is very favorable. The BLS expects software engineering to be one of the fastest-growing occupations over the next 10 years. Continued growth in the computer systems field and related industries should create more job opportunities for software engineers.
Successful Software Engineering Majors Have:
- Technical skills. During their college degree programs, software engineering majors should develop strong technical abilities through repeated exposure to a variety of new and traditional technologies. Students learn the principles of technical innovation by tracing the history of computers and software through to present systems and beyond.
Software engineering majors often get the earliest opportunities to experiment with new technologies. Many technical innovations come from experiments at major engineering colleges and universities. The Internet allows students to quickly distribute their new software for peer review and testing. Based on the results, some software engineering majors start to enjoy their first tastes of professional acclaim while still attending classes.
- Problem-solving skills. Any strong software engineering degree program will teach students to think critically about the problems facing companies and consumers. By developing efficient solutions to common problems, software engineers continue our culture's constant innovation.
Software engineering majors don't just solve problems in front of computer monitors, however. Many colleges and universities offer courses in logic, debate, and even game theory, to help tomorrow's software engineers expand their ability to leverage technology to resolve non-technical dilemmas.
- Interpersonal communication skills. Generally, software development requires a team effort. Many students who have hacked around on their own for years may find it challenging to collaborate with other developers on complex projects. Therefore, software engineering majors learn to interact with their peers and team leaders effectively.
To prepare students for careers in corporate environments, many software engineering programs encourage students to participate in collaborative projects over the course of each semester. Whether part of inter-campus competitions or a school's public outreach agenda, these programs can unite students around complex problems, forcing them to learn to work as a team to tackle large software projects.
- Writing skills. Software engineers must also learn how to present their ideas and recommendations to non-technical colleagues. Software engineering majors learn the basics of corporate communications, including proper formats for departmental communication and project reports.
Software engineers with entrepreneurial tendencies can benefit from courses in public relations. These added skills can help them write press releases and customer communications for their own fledgling companies. Regardless of the format, software engineers who can write well are tremendous assets to their companies.
- Oral presentation skills. While developing solutions for companies and customers, software engineers must often orally present suggestions or research findings to various groups within their organizations. Software engineering majors develop the ability to blend modern presentation tools with classic storytelling skills to engage audiences.
Software engineering majors must be prepared to debate other team members about the inclusion of features into a software project, or justify changes to a project's budget or timeline. Many software engineers, especially those working at startup firms, often find themselves addressing audiences of potential investors or reporters. The most effective software engineers can explain their projects in plain language, without resorting to insider jargon.
- Accounting and budgeting skills. The exploding technology industry of the late 1980s and early 1990s revolutionized the roles of software engineers. Instead of working completely behind the scenes like their predecessors, today's software engineers must prepare to play a significant role in the financial stability of their companies.
In small startup companies, software engineers must pinch pennies to meet deadlines under budget. When relying on small groups of investors, or even your own credit cards, to fund a venture, entrepreneurs must accurately predict the length of time it will take for a product to reach its market and generate revenue.
In larger technology companies, software engineers must often manage their own budgets of funding and human resources. They must be able to assign team members to reasonable schedules and meet their deadlines without triggering expensive overtime charges or other staff expenses.
Because of these additional requirements, many software engineering programs (and employers) enroll their students in basic courses in accounting, business, and time management. By balancing sound business skills with their technical abilities, software engineering majors can prepare themselves for lucrative post-tech-bubble careers.
Career Education in Software Engineering
Preparing to enter a college degree program
Software engineering degrees are available at all levels, from undergraduate certificates to doctorates. Most careers in software engineering require at least a bachelor's degree. However, with extensive experience, a certification or associate's degree may be sufficient. Online degree programs in software engineering are available at nearly every level.
Certificates in Software Engineering
An undergraduate certificate in software engineering is typically considered preparation for an associate's or bachelor's degree. The program usually consists of four to five basic software engineering courses, such as Principles and Techniques of Software Engineering, Design and Development, and Software Safety.
Associate's Degrees in Software Engineering
Associate's degrees in software engineering are considered preparation for entry-level positions in the software engineering field. The associate's degree focuses on general education courses and courses related to software engineering. Courses on programming languages, database design, and technical communications are common. An associate's degree typically takes two years to complete, and can be used as the foundation for a bachelor's degree.
Bachelor's Degrees in Software Engineering
A bachelor's degree in software engineering is usually required to launch a career as a software engineer. It includes general education courses as well as those specific to the software engineering field. Extensive education on programming languages, network systems operation, and software design and testing is common. A bachelor's degree typically takes four to five years to complete. Many bachelor's degree programs in software engineering require internships or on-the-job training, which can take additional time. Online bachelor's degrees in software engineering are available for working professionals or students who simply need increased flexibility in their studies.
Master's Degrees in Software Engineering
Designed to build on the knowledge earned from the bachelor's degree, master's degrees in software engineering are suitable for the recent college graduate or for experienced software engineers. Advanced Database Design, Software Specifications, and Advanced Computer Networks are just a few of the courses that may be required. Master's degree programs in software engineering may also offer courses in management, which are designed to help the software engineer advance to a management level within his corporation or business. Master's degrees typically take two years to complete and are also available online.
PhD Degrees in Software Engineering
Doctorates in software engineering are highly research-intensive. Though programs vary by university, the student typically has a focus within the software engineering field and chooses a relevant research topic and coursework. A PhD typically takes around six years to complete. PhD graduates are positioned to teach, perform research and influence policy throughout the industry.
What can you do with a Major in Software Engineering?
Career options for aspiring software engineers
Software engineering majors don't just become software engineers (though many do). Here are a few of the different career paths available.
- Software engineers are typically divided into two fields: computer applications software engineers and computer systems software engineers.
Computer applications software engineers design and maintain computer applications (such as Microsoft Office or Adobe Photoshop) to meet specific needs. Meanwhile, computer systems software engineers construct and maintain a company's total computer network, while planning for future technical growth.
Both applications and systems engineers must have strong programming skills. They must be able to analyze and solve problems quickly. Software engineers must often interact with clients, making excellent verbal and written communication skills essential.
Software engineering is a constantly changing industry, and engineers must keep up with current technology and trends. Though licensure is not required of software engineers, certification is often available through software vendors. These certifications insure that software engineers stay up-to-date on current applications.
Most entry-level software engineering jobs require a bachelor's degree, although some exceptions may be made for very experienced engineers.
- Computer and information systems managers often begin their careers as software engineers and advance to the managerial level through a combination of work experience and education. They are typically responsible for constructing their companies' technology plans. Computer and information systems managers must oversee the planning, design, and execution of all computer-related activities, insuring that budgets are adhered to and deadlines are met.
Long hours and late nights are often required of computer and information systems managers. In addition to engineering experience and an undergraduate degree in software engineering, they often possess graduate degrees in business or management.
- Sales engineers use their technical knowledge to sell products and services. Software sales engineers usually get straight engineering experience first, and use that knowledge to help them sell computer software, services, or other related equipment.
Sales engineers are responsible for accurately explaining and demonstrating their products. Because so many software companies rely on upgrade cycles to generate repeat business, many sales engineers develop close relationships with their clients. By allowing clients to suggest new features and by granting them sneak peeks at new software releases, sales engineers can make a significant impact on a company's success.
Jobs in sales engineering are often very demanding. Many sales people work on commission instead of salary, creating intense pressure to make each sale. Long hours and travel are common.
- Chief Technology Officers (CTO) are top executives in their industry, and are responsible for the technical divisions of corporations or businesses in which they work.
Chief technology officers oversee and supervise the technical staff, including software engineers and computer and information systems managers. They set and establish the policies and procedures of their department and ensure that the company is proceeding in the proper technical direction. CTOs are usually given private offices and support staff to assist them with their duties. Long hours and travel are usually required, but CTOs are among the highest paid workers in America.
Education and experience are both important components for becoming a chief information officer. CTOs often begin their careers in software engineering and earn graduate degrees in management or business.
- Video game designer. In recent years, video game companies have earned more from sales of software than major motion picture studios have earned at the box office. This fast-growing form of popular entertainment requires teams of skilled professionals to dream up escapist fantasies and bring them to life on the small screen.
Video game developers often specialize in one portion of the team's mammoth task. For example, one team member may spend his entire time developing game logic, while another programs backdrops and atmospheric elements. Software engineers coordinate their efforts with game writers and graphic designers to expand the boundaries of the medium. Before new video games reach store shelves, they must first pass through another team of software engineers. These quality control specialists oversee the testing of the games by sampling new titles the same way that home players would. Testing engineers note flaws or problems in game design and make suggestions for revisions to the original design team. While developing a new title, the design team and the testing team may volley dozens of revised editions between each other. The result is a finely honed piece of software that entertains and engages audiences without technical problems.
- User Interface Designer. Some software engineers specialize in refining the experience that end users enjoy when using a particular program or system. In the early days of computers, technicians designed software for other technicians, and designers put little effort into usability. Since computer technicians understood computers, there was no need to streamline the process of getting information into or out of complex systems.
A few decades later, computers have permeated every facet of our daily lives. As more non-technical people rely on software to carry out everyday tasks, a new breed of software designers uses graphics and input devices to create intuitive, attractive user interfaces.
Today's user interface designers hope to innovate beyond the current mouse pointer and desktop by building custom interfaces for common tasks and dedicated appliances. For example, Internet-connected refrigerators that alert you to replenish groceries require specialized controls that function well in a kitchen environment. Set-top boxes that allow television viewers to record and store programs must make it easy for customers to set up complex instructions with simple remote controls.
With the widespread use of mobile phones, personal digital assistants, and tablet computers, user interface designers strive to build controls that are effortless, if not invisible. The most powerful user interfaces allow device owners to get their needs met without having to think about the complex technology behind their familiar screens.
Salary Expectations for Environmental Engineers
In 2006, the Bureau of Labor Statistics reported a median annual income for computer application software engineers of $79,780. Computer systems software engineers came in slightly higher at $85,370. Computer and information systems managers had a median annual income of $101,580.
A sales engineer's income is often commission-based. In 2006, sales engineers reported a median annual income of $77,720. This figure does not include benefits such as a company car or earned frequent flyer miles.
Chief technology officers are considered top executives in their companies and firms. Though their hours may be long, their salary is the top of their field. The median annual income ranges from $101,000 to $157,000, according to Robert Half International.
Certification and Licensure
A license is not typically required to work in software engineering, but professional certifications and certification through software vendors are available. Requirements for achieving certifications vary, but most are helpful resume additions.
The Institute of Electrical and Electronic Engineers offers the designation of Certified Software Development Professional, one of the most widely recognized professional certificates. The first step in completing this certification is passing an exam that tests general knowledge of software engineering. In addition to from successful completion of the exam, the IEEE requires candidates to hold a bachelor's degree and have completed at least 9,000 hours of work experience in one of the IEEE's 11 recognized knowledge areas.
Professional Certification is also available through the Institute for the Certification of Computing Professionals (ICCP). Requirements for certification through the ICCP are similar to the IEEE. Successful completion of an exam and at least four years of related experience are mandatory.
Many software vendors, such as Microsoft and Cisco, also offer training programs for computer professionals. These programs typically last between one and four weeks, though attending the program is not required for taking the exam. A certificate is awarded upon successful completion of the exam. Though they are excellent tools for training and continuing professional development, professional certifications are no substitute for an undergraduate or graduate degree. Software engineers are usually required to hold a bachelor's degree at minimum.
Other Associations and Certification Bodies:
- Association for Information Systems
- Association for Systems Management
- Center for Advanced Computing Research
- Computer Society, IEEE
- International Association for Computer Information Systems
- Information Technology Association of America
- National Academy of Engineering
- Society of Women Engineers
Explore Related Degree Programs
- Online Degrees in Software Engineering
- Online Degrees in Systems Engineering
- Online Degrees in Computer Engineering
Collapse
|
Pursue your Software Engineering major today.
Strayer University
Get the right foundation for your future with a degree from Strayer University. Evening, weekend and online classes are all available to meet the needs of busy adults.
Learn more about programs at Strayer University.
Upgrade your career in education, human resources, corporate training, curriculum design, instructional technology, or even education association management with Strayer University's M.Ed. in Technology in Education.
Strayer University is accredited by the Middle States Commission on Higher Education.
|
|
|
The University of Liverpool
Advance your career and increase your earning potential with a masters degree from the University of Liverpool. Study online in small groups of business professionals.
Learn more about programs at The University of Liverpool.
Software design and development is the fastest-growing career in the booming IT industry. This innovative master's degree program combines management and team building coursework with technical training in systems design, object-oriented programming, and testing.
Not accredited by US accrediting bodies as of July 1, 2006.
|
|
|
|
|
|
|