Studying Software Development: Degrees at a Glance
Software development degrees are often called software engineering degrees. Software engineering entails more than development of software, so the degree types aren't quite synonymous, but they are very closely related. The predominant degree title found at the graduate level is software engineering. The U.S. Bureau of Labor Statistics (BLS) estimated that job growth for software developers would be 30% between the years 2010 and 2020, which is much faster than average.
A doctoral degree isn't a requirement for software development positions. It will, however, enable you to teach at the collegiate level and perform research. The BLS estimated that job growth for post-secondary educators would be 17% from 2010-2020, and that employment of computer and information research scientists would increase 19% over the same decade.
Master's | Ph.D. | ||
---|---|---|---|
Who is this degree for? | Bachelor's degree holders (some require degree to be in related field) who wish to further their software development skills | Bachelor's or Master's degree holders (in a related field) who wish to perform research in computer science or to teach at the college level | |
Common Career Paths (with approximate median annual salary) | - Applications software developer ($89,000)* - Systems software developer ($97,000)* | - Postsecondary educator ($64,000)* - Computer and information research scientist ($101,000)* | |
Time to Completion | 1-3 years, full-time | 3-9 years, full-time | |
Common Graduation Requirements | - Approximately 32-52 credit hours - Thesis or project | - Qualifying exams - Approximately 67-72 credit hours of coursework - Breadth requirements - Residency - Comprehensive exams - Doctoral dissertation (proposal and defense) | |
Prerequisites | - Bachelors of Science (often in related field) | - Bachelor's or Master's degree (in a related field) - GRE test scores | |
Online Availability | Yes | No |
Source: *U.S. Bureau of Labor Statistics (May 2011 figures).
Master's in Software Development or Software Engineering
Master's degree programs in software development are often offered as software engineering degrees with a concentration in software development. In addition to software development, software engineering generally covers computer science, computational systems, and applied research. Some programs may require that you hold a bachelor's degree in a specific field, while others may not.
Career opportunities are not limited to one sector and are available in aerospace, defense, biomedicine, finance, and health care, amongst many others. The prerequisite for most software developer positions is a bachelor's degree; however, a master's degree may be preferred or required by certain employers. Keep in mind that a master's degree may not be necessary to work as a software developer, and that you could compete with experienced bachelor's degree holders for the same positions.
Pros and Cons
Pros
- There are numerous and diverse types of organizations in which software developers are needed, as well as consulting opportunities
- Programs can be completed in as little as 1 year (with 3 full-time consecutive semesters)
- There are numerous examples of online, hybrid, and night and weekend programs available
- Some employers prefer to hire developers who hold master's degrees*
Cons
- Long hours in excess of 40 hours per week are common for almost 25% of software developers*
- You may be applying for the same positions as individuals holding a bachelor's degree
- Keeping up to date on new tools, software, computer languages, and other technologies is necessary throughout your entire career*
Source: *U.S. Bureau of Labor Statistics.
Courses and Requirements
Software development programs often contain coursework in computer science and other related topics, in addition to classes in software development. Here are some examples of courses you might take while earning your master's degree:
- Software design
- Technical communication
- Software engineering
- Systems analysis and design tools
- Project management
- Data structures
- Networking
Internships might be offered, but they may not be required, or they may not be counted towards core credits. Additionally, programs may require you to complete a thesis or final project before graduation.
Online Degree Options
There are numerous examples of software development programs offered completely online through accredited universities. Additionally, there are many examples of hybrid classes, as well as night and weekend programs, designed for working students. Whether or not you take classes in a traditional, online, or hybrid format depends on your scheduling needs and learning style.
Getting Ahead with This Degree
There are many important attributes of a successful software developer. Being technically savvy is integral to the position. As such, keeping up with new technologies and becoming fluent in multiple computer languages is important. You can take coursework in these areas, or you can obtain working knowledge of them through books, online tutorial sites, and other information resources.
Another important attribute for this position is communication and customer-service skills. You will have to communicate the details of your software design to other team members, contributors, and your prospective customer(s). You will also have to interact with users of your software for any trouble-shooting, development, or design inquiries. You can improve these skills by taking communication coursework, participating in extracurricular activities, or joining social groups.
Ph.D.'s in Software Development or a Related Area
Ph.D. programs in this area are generally offered as a Ph.D. in Computer Science or a Ph.D. in Information Technology. Generally, individuals wouldn't pursue a Ph.D. solely for obtaining a position in software development. Instead, these degrees are designed for people who seek to perform high-level research or teach at the collegiate level.
These degree programs are often completed in phases, including an inquiry phase with coursework, research projects and breadth examinations. This is followed by a research phase, in which you work closely with an advisor and other faculty to complete research that will lead to your dissertation. The third and final phase is the candidacy phase, during which you'll complete your residency, take your doctoral examinations, and defend your dissertation.
Pros and Cons
Pros
- Some programs offer teaching and/or research assistantship positions, which can supplement or cover tuition costs
- Programs may provide doctoral status to both part-time and full-time students
- A Ph.D. can provide you with the ability to perform research that can influence and contribute to the computer science world and software development field
- By earning a doctoral degree, you qualify to teach at the college level
Cons
- Software developers typically only need a bachelor's degree to work in the field
- Ph.D. programs can be highly selective, with the intention of keeping them small, making admissions competitive
- An advanced degree may not translate into increased earning potential in this field
- Competition for tenure-track teaching positions can be fierce
Courses and Requirements
As a Ph.D. student, you'll work closely with your advisor to design and implement your coursework and schedules. Concentration areas will be decided and breadth requirements (examinations) satisfied accordingly. You will also be required to complete numerous credit hours researching, preparing, and defending your dissertation. Additionally, your Ph.D. program could include classes along these lines:
- Research methods
- Quantitative methods in computer science
- Advanced data structures and algorithms
- Programming languages
- Parallel computing
- Interface creation
- Bioinformatics
Online Degree Options
No accredited examples of this degree program were found in the online format. If you have a busy work schedule you're trying to work around, you can find part-time degree programs offering a less rigorous and more flexible schedule than their full-time counter parts. However, these programs may offer limited opportunities for fellowships, assistantships or other types of financial assistance, which could mean that you'd have to work while completing your degree.
Getting Ahead with this Degree
There are generally assistantship and stipend opportunities available at the doctoral level, which can offset tuition and living expenses. Applying generally necessitates planning ahead, because you often need to fulfill many requirements for eligibility and completion. Winning one of these awards can allow you to focus on your studies full-time, which can give you an advantage throughout the program. Another way to stand out is to select an underrepresented area on which to focus your doctoral research, because it could help you obtain a teaching position at a college or university.