Crafting code, shaping software, digital designing. These are the domains of the software engineer.
Software permeates modern culture. It's everywhere, in every piece of digital technology that we use on a regular basis, ranging from mp3 players, to computers, to smart phones, and even to some cars.
But software isn't made from scratch anymore. Nowadays, so many different pieces of software have already been developed that new software is more often cobbled together from already extant code. Furthermore, with the intricate roles for which software is used today, software must often be adapted and adjusted in many different ways, sometimes on the fly.
Enter the software engineer, with her clever keyboard, mighty mouse, and towering CPU.
PhD in software engineering vs. PhD in computer science
Software engineering is different from computer science, although the exact lines between the two disciplines isn't drawn very clearly. Obtaining a software engineering degree is better for those individuals who are interested in designing software for specific purposes, whereas a computer science degree is better for students who are interested in the principles and science behind computation.
To put it another way, a computer scientist is like a physicist, who studies the principles and science behind physical interactions, while a software engineer is more like someone who uses those principles in order to create machines for specific purposes. This is why software engineering fits into the overall idea of "engineering" programs, like those for a PhD in electrical engineering or a PhD in mechanical engineering, instead of theory-based, scientific programs.
Ultimately, however, this distinction is not as firm as some would like it to be; software engineering is not a well-defined field as of yet, which means that there may be variable definitions of the term thrown around on every side of the aisle.
You should always make sure that you understand exactly what definition of software engineering is being used with reference to any software engineering degree program in which you are interested. If a program is offering something which isn't quite what you want, because its definition of a software engineering differs from your own, then you'd do well to find something more in line with your own goals.
Why get a software engineering PhD?
At least considering a PhD in software engineering is important for anyone who is considering going into software development or design as a career. In some cases, though, a doctoral software engineering degree might not be necessary for to pursue your career interests or goals. It may, for example, be possible to enter into the field of software engineering with only a Master of Science in the subject, instead of needing a full PhD in software engineering.
It's important to consider whether or not the costs associated with obtaining a full PhD in software engineering are worth the potential benefits. Those costs can be both monetary and temporal, as the time commitment required to complete a full PhD in software engineering, while variable based on the program, is likely to be quite significant.
Getting a software engineering degree, especially a doctoral degree, can still be a very good decision. As mentioned earlier, the world is now a digital place, and there will always be important work for the software engineer. A PhD in software engineering would well-prepare you for work as an academic in the field of software engineering, as a major researcher within the industry, or as a leader within the industry and associated businesses.
The number of software engineers employed currently in America has been on the rise for many years now, and is close to 750,000 individuals according to recent surveys. There is plenty more opportunity for growth, as well, making this a lucrative field for interested individuals.
Prerequisites for a PhD in software engineering
Anyone interested in obtaining a PhD in software engineering will obviously have to be able to demonstrate a certain degree of competency with computers. Studying computer science throughout an undergraduate education is advisable, along with studying software and hardware systems.
Any experience working within the software engineering field would be highly beneficial to those interested in the PhD program in software engineering. Some programs will even require students to have a certain amount of hands-on experience already under their belts.