Earning a Ph.D. in Software Engineering

portrait of Holland Webb

Holland Webb

Contributing Writer

Learn about our editorial process .

Updated April 30, 2024

Mitch Jacobson

Contributing Editor

Reviewed by

Victoria Ivy Southall

Contributing Reviewer

Our Integrity Network

ComputerScience.org is committed to delivering content that is objective and actionable. To that end, we have built a network of industry professionals across higher education to review our content and ensure we are providing the most helpful information to our readers.

Drawing on their firsthand industry expertise, our Integrity Network members serve as an additional step in our editing process, helping us confirm our content is accurate and up to date. These contributors:

  • Suggest changes to inaccurate or misleading information.
  • Provide specific, corrective feedback.
  • Identify critical information that writers may have missed.

Integrity Network members typically work full time in their industry profession and review content for ComputerScience.org as a side project. All Integrity Network members are paid members of the Red Ventures Education Integrity Network.

Explore our full list of Integrity Network members.

can i do phd in software engineering

ComputerScience.org is an advertising-supported site. Featured or trusted partner programs and all school search, finder, or match results are for schools that compensate us. This compensation does not influence our school rankings, resource guides, or other editorially-independent information published on this site.

Are you ready to discover your college program?

If you love software engineering and aspire to teach, lead, or conduct original research in this field, a doctorate may offer an ideal pathway. A Ph.D. can equip you with theoretical knowledge, while D.Sc. and D.Eng. degrees provide sharper technical skills.

Professionals with doctorates in software engineering can teach emerging software developers, testers, and quality assurance professionals. As the market reacts to inflation, changing consumer habits, and new supply chains, the need for problem-solvers and thinkers in technology continues to grow.

Use this guide to discover more about what it takes to earn a Ph.D. in software engineering. Discover details on available career pathways and how to find the right program for your personal and professional goals.

Why Get a Software Engineering Doctorate?

Like all computer science disciplines, software engineering is a relatively new field, which began when developers faced fresh problems that needed undiscovered solutions. In the late 1960s, software engineering was born as existing knowledge and research couldn't scale to meet new challenges.

In 2022, the Bureau of Labor Statistics (BLS) reported that 1,795,300 Americans worked as software developers, quality assurance analysts, and testers. The field is growing much faster than average. As the world relies more than ever on digital technology, these tech-savvy problem-solvers remain in high demand.

Software experts work for computer systems designers, software publishers, finance companies, manufacturers, and management consultants. They typically need strong technical and problem-solving skills to design and implement complex computer systems.

If you have a solid academic and professional background in computer science and an interest in research, a Ph.D. in software engineering may be the next logical step in your career. This degree can prepare you to lead the field today and shape its future workforce.

  • Academic Credentials : A doctorate is the pinnacle of an academic career. Earning this degree can qualify you for leadership, teaching, research, and policy analysis roles.
  • Advanced Research Skills : A Ph.D. requires original research. In your program, you will learn how to identify a problem, collect and analyze data, and draw conclusions in academic settings.
  • Technology Leadership Opportunities : This degree could qualify you to sit on an academic committee, testify to legislative committees, author peer-reviewed articles, or serve as an executive for a software trade association.

Popular Online Programs

Learn about start dates, transferring credits, availability of financial aid, and more by contacting the universities below.

How Long Does It Take to Get a Ph.D in Software Engineering?

Earning a Ph.D. in software engineering can prepare you to conduct academic research, create novel infrastructures, or serve as a leader in the software development industry.

Most doctoral programs in this field take 4-5 years to complete. The process includes coursework, comprehensive exams, and crafting a dissertation. Typically, a doctorate requires 90 credits — 30 at the master's level and 60 credits of coursework and dissertation work at the doctoral level.

Whether you pursue a Ph.D. or an applied doctorate, this academic level requires more than accumulating credits. You must also demonstrate scholarly leadership and exceptional skills in original research for software development.

Consequently, some of your coursework may concentrate on one area of interest, such as software creation, organization, or notations and tools. You may also perform research in your area as part of a team and under the direction of a seasoned professor.

Read More Learn more about software engineering programs

Admission Requirements

To apply for a doctorate in software engineering, you need to meet admission requirements, which may include the following:

  • A bachelor's degree or a master's degree in computer science or a related field
  • Proficiency in software engineering with at least 18 credits in the field
  • A GPA of 3.0 or better (some schools require a 3.5 minimum)
  • Programming skills in multiple languages such as C++, C#, or Java
  • Minimum revised GRE scores of 300 or better (some schools may waive this requirement)
  • Evidence of research potential shown through letters of recommendation or work experience

Degree and Specialization Options

Doctoral degrees in software engineering can offer various concentrations and delivery methods.

You may encounter online, in-person, and hybrid forms of Ph.D. and applied engineering doctorates. Popular specialization options include:

  • Software Creation: In this concentration, enrollees learn to develop novel techniques and software systems.
  • Software Organization: Coursework focuses on the architecture, design, and frameworks organizations use to structure systems and programs.
  • High-Performance Applications Engineering: Learners discover the structure and quality of effective programs in this specialization.

Popular Software Engineering Courses

Each university offers a specific software engineering curriculum based on its faculty expertise and developments in the field. The following list includes common classes in a Ph.D. in software engineering program.

  • Object-Oriented Software Engineering : Students explore concepts, methods, and techniques for object-oriented software design. The course explores ways to use unified modeling language notation in iterative and architecture-centric processes.
  • Advanced Software Architecture and Design : Students learn to develop and reuse software architecture and design. Topics include identifying, analyzing, and synthesizing systems data, functional design elements, and connectors. Coursework also covers trade-off analysis and design alternatives.
  • Information Technology in Global Sustainability : This course presents students with the practical and theoretical resources to help organizations advance sustainability goals through tech. Topics include how technology affects society and policymaking in the sustainability space.
  • Overview of Human-Computer Interaction and Design : HCI aims to create safe, functional, and usable computer systems. In this course, students explore how people use technology, tools for building usable systems, and methods to create people-centered rather than machine-centered technology.
  • Advanced Topics in Algorithms : This course covers topics such as string algorithms, graph algorithms, linear programming, and randomized algorithms. Students learn to master a subset of algorithms and apply them as problem-solvers.

How Much Will a Doctorate in Software Engineering Cost?

The NCES Digital Lab reports that the average annual cost of a Ph.D. or other doctorate in a STEM field is $25,348. However, this broad average may not represent the options available to you.

Many factors affect the cost of higher education. Tuition varies depending on a school's prestige, public or private status, and student residency policies. Along with tuition, learners should also budget for university fees and living expenses.

Full-time learners often receive graduate assistantships or teaching assistantships to cover tuition and living costs while pursuing Ph.D. degrees. Part-time enrollees may need to rely on scholarships, research grants, student loans, and their own contributions.

Although full-time degrees may come with attractive financial aid packages , prospective students should consider the opportunity costs associated with leaving the industry to spend 4-5 years in academia.

Careers for Ph.D. in Software Engineering Graduates

A Ph.D. in software engineering can prepare you for many leadership and research roles. The list below covers a few professional pathways for individuals with doctorates in the field.

Computer and Information Research Scientists

Computer and information research scientists use algorithms to create and upgrade computer software, architecture, and systems. These scientists can specialize in robotics, programming, cloud computing, or machine learning systems. They may work for research laboratories, universities, government agencies, and corporations.

  • Required Education: Master's degree or higher
  • Median Annual Salary: $136,620
  • Job Outlook (2022-32): +23%

Postsecondary Teachers

Professors and educators teach computer science and software engineering at colleges and universities. They may teach one or more courses within computer science and engineering departments. In addition to teaching courses, these professionals may conduct experiments, apply for grants, publish original research, or supervise graduate assistants.

  • Median Annual Salary: $80,840
  • Job Outlook (2022-32): +8%

Computer and Information Systems Managers

Computer and information systems managers set technological goals and oversee the process of meeting those goals. They may focus on specific areas or address organization-wide issues. In smaller organizations, they may take on the day-to-day management of the IT department, while they often oversee managers who lead departments in larger companies.

  • Required Education: Bachelor's degree
  • Median Annual Salary: $164,070
  • Job Outlook (2022-32): +15%

Chief Information Officers

A CIO is the top executive responsible for a company's information framework. This leader makes the final decisions about the selection, purchase, installation, and upgrades of all IT equipment. They also manage IT teams and work cross-functionally to ensure the organization remains operational, secure, and profitable. A CIO generally needs an advanced degree and at least five years of management in the field.

  • Required Education: Bachelor's degree or higher
  • Median Annual Salary: $189,520
  • Job Outlook (2022-32): +3%

Software Developers

Software developers design and create the programs that control computer devices and networks. They usually have a strong background in coding and programming. With experience and education, they may advance to project management specialist and computer and information systems manager roles.

  • Median Annual Salary: $127,260
  • Job Outlook (2022-32): +26%

Choosing the Right Software Engineering Ph.D. Program

Should you pursue an online or traditional degree? Does full-time or part-time enrollment better fit your life, and does an applied doctorate or theory-focused program meet your professional goals? Consider these and other factors as you look for the right software engineering Ph.D.

  • Accreditation: Choosing an institutionally accredited program with approval from an organization such as the Higher Learning Commission is critical. However, programmatic accreditation agencies do not accredit graduate-level computer-related programs.
  • Cost and Financial Aid: Be sure to choose a program you can afford through low tuition and/or a robust financial aid package. Full-time enrollees often receive assistantships to cover tuition and living costs.
  • University Resources and Prestige: Your university's resources should support your research, and its brand recognition can benefit your career.
  • Admission Requirements: Highly selective programs may receive recognition from the public, academia, and industry leaders.
  • Ph.D. vs D.Sc. Programs: A Ph.D. emphasizes theory, while a D.Sc. focuses on technology research.

Discover more paths to top degree programs

Top Software Engineering Certificates

Top Software Engineering Certificates

Best Master's Degrees in Software Engineering

Best Master's Degrees in Software Engineering

Master's Programs in Machine Learning

Master's Programs in Machine Learning

Doctoral Degrees in Artificial Intelligence

Doctoral Degrees in Artificial Intelligence

What else should i know about degrees in software engineering, is a ph.d. in software engineering hard.

Yes, a Ph.D. in software engineering is strenuous. The road to any doctorate is long and challenging, and this particular advanced research program requires you to conduct inventive studies in a complex STEM field.

Is a Ph.D. worth it for software engineers?

A Ph.D. could be worth the investment for software engineers looking to conduct research, teach college students, or assume leadership roles in the industry. However, a master's degree is usually sufficient for engineers who want to code or create programs.

How long does it take to finish a doctorate in software engineering?

A Ph.D. in software engineering generally takes 4-5 years to finish. People who already hold master's degrees may finish more quickly.

How much can I make with a Ph.D. in software engineering?

According to BLS data from 2022 , people with doctoral degrees earn a median weekly salary of $2,083 and have a 1% unemployment rate. Computer and information research scientists , a common career for Ph.D. degree-holders in the field, earn a median annual salary of $136,620.

Page last reviewed April 8, 2024.

Recommended Reading

Take the next step toward your future.

Discover programs you’re interested in and take charge of your education.

University of Arizona Online | Home

REQUEST INFO

Software Engineering (PhD) Doctor of Philosophy

Quick facts.

Software engineer working with code

of all Higher-Ed Institutions

- Center for World University Rankings, 2022

In Best Value Among Arizona's Public Universities

- Payscale, 2022

The University of Arizona's College of Engineering has launched the Software Engineering PhD degree in response to the high demand for individuals trained in the software engineering discipline. The degree program is critical in driving student success in a rapidly changing world and tackling essential problems at the edges of human endeavor. 

As a student graduating with a PhD in Software Engineering, you will be better positioned to develop the skills and mindsets to be leaders in software development, computing, machine learning, ever-increasing automation and connectivity, human and intelligent systems, data science, and network sciences.

Through the PhD program, you'll demonstrate the ability to design, develop, test, integrate, and evaluate software applications/products/systems in diverse computing and engineering domains. You'll also be able to critically analyze and review published research results and other literature related to your area of study. You'll also demonstrate your ability to articulate all aspects of the research in your software engineering specialization area, describe and defend the significance of your work, explain your research methodologies, and summarize your findings. 

The global software engineering market alone will be worth $64 billion by 2025, and it is a vital part of a larger industry. Some factors behind this growth include increased automation in multiple sectors, the demand for cloud-based solutions, the Internet of Things, and an increased number of devices that can be used in daily life for convenience. Thus, pursuing a Software Engineering PhD will give you a competitive edge in this fast-growing industry.

No GRE is required for this graduate degree program.

A minor is required for this program and will be determined by the student and advisor.

Students who do not have a degree equivalent to the University of Arizona Bachelor of Science degree in a computing-related program may be admitted into the graduate program but may be required to complete additional graduate-level pre-requisite courses prior to enrolling in some graduate courses. 

Proficiency in one or more programming languages OR one to two years of industry experience in a software-related position is required.

*Residents of some U.S. Territories may not be eligible. Please see our Eligibility & State Authorization page for more information.

Courses for this program include: 

SFWE 502: Software DevSecOps

This course will allow you to explore key principles of a DevSecOps approach to software development. Development (Dev) and operations (Ops) are the union of people, processes, and technology to continually automate and develop higher-quality/more reliable software products faster. Security (Sec) is integrated into a typical DevOps pipeline to address potential security issues in code as soon as possible in the software development lifecycle.

SFWE 503: Software Project Management

In this course, you will learn how to plan, track, and communicate the status of large-scale software projects to a diverse group of stakeholders. Using modern traditional and Agile software development methodologies and tools and emulating a realistic software development project, students will be immersed in the activities used by industry to develop, manage, and monitor software product development throughout the semester. You’ll learn why planning a software project is important, what constitutes a good plan, how to adapt to the unexpected and unknowns that are likely to occur throughout the project development, and how to track and share the status of the project with your team members, other teams, and the customers/business managers.

SFWE 504: Software Requirements Analysis & Test

Learn how to derive and develop software requirements that are measurable, testable, and lead to a compliant software design and implementation. Using industry best practices and tools, you will learn how to elicit, analyze, specify, and validate functional requirements (what should the software system do) and non-functional software requirements (how should the software system fulfill the functional requirements). You will develop software requirement models and specifications that capture the customer/user's needs.

SFWE 505: Software Architecture & Design

In this course, you'll explore different architectural styles and patterns and learn to apply modern processes, methods, and tools in architecting, modeling, and designing software systems. They will also learn the importance of developing a sound software architecture as part of the overall software design.  

SFWE 506: Distributed Computing

In this course, you will explore the unique aspects and considerations required to develop a large-scale software product in a distributed computing environment. Distributed computing refers to a system where processing and data storage are distributed across multiple devices or systems rather than being handled by a single central device. In a distributed system, each device or system has its own processing capabilities and may also store and manage its own data. 

SFWE 507: Foundations of Software Engineering

Gain foundational skills and knowledge used by software engineers in diverse industries. The course introduces you to the different software development lifecycle (SDLC) phases used in developing, delivering, and maintaining software products for a wide variety of applications. Common software process models will be introduced, along with developing an understanding of the importance of defining software requirements, developing software architectures and designs, and the various forms of testing that go into delivering reliable and resilient software systems.

SFWE 509: Cloud Computing Principles and Practices

This introductory course on cloud computing delves into the fundamental technologies and ideas that make up contemporary cloud computing infrastructure. You'll get hands-on practice using cloud service models (IaaS, PaaS, SaaS, FaaS), virtualization, data centers, cloud management, and essential Linux commands. The course also covers advanced topics such as cloud storage, containers, microservices, serverless computing, cloud security, emerging trends in cloud IoT, mobile clouds, edge computing, and big data processing.

SFWE 510: Cloud Native Software Engineering

This course introduces the design and implementation of decentralized systems with up-to-date software architecture and relevant development frameworks. Topics include inter-module communication, asynchronous processing, security, concurrency, parallelism, and an overview of contemporary enterprise technology and challenges. The course also dives into the development, infrastructure, best practices, and DevOps practices for monitoring and debugging such systems.

Earning your Doctor of Philosophy in Software Engineering (PhD) will build core skills, including:

  • Agile methodology
  • Algorithm design & optimization
  • Artificial Intelligence
  • Cloud & distributed computing
  • Continuous deployment
  • Continuous integration
  • Cybersecurity practices & standards
  • Full stack development
  • Machine learning algorithms & approaches
  • Programming language proficiency
  • Software Development Lifecycle
  • Software engineering

Potential Career Paths

Graduates of the Software Engineering PhD program will be prepared to pursue careers in the following fields, among many others:

  • Artificial Intelligence/Machine Learning
  • Aerospace & Defense
  • Space Exploration
  • Data Science & Analytics
  • Medical Devices Technologies
  • Financial Systems & Technologies
  • Quantum Computing
  • Automotive/Vehicle Networking/Autonomous Driving
  • Cybersecurity Analysis
  • Engineering
  • Systems & Software Solutions Architecture
  • Mobile Computing
  • Computer Vision
  • Cloud Computing/Networking

You may also be interested in

Woman giving a public health presentation to an audience

Public Health Master of Public Health

Mine engineer working in the field

Mining, Geological and Geophysical Engineering Master of Engineering

optical engineers working

Quantum Information Science & Engineering Master of Science

man working on a laptop

How to Apply

Student smiling

Tuition & Aid

Library books

  • Skip to content

SoftwareDegrees.org

SoftwareDegrees.org

PhD in Software Engineering Programs

can i do phd in software engineering

On This Page:

Take your education to the highest peak with our PhD in software engineering guide! This real-world resource will help you understand how doctoral programs in software are structured & delivered. Learn about admissions, coursework, research, and dissertation requirements. Take a closer look at PhD program costs, online learning opportunities, and the career benefits of earning a doctorate in software engineering. And find answers to frequently asked questions from potential students.

Have you already decided on a doctorate? Skip ahead to our state-by-state listings of PhD in software engineering programs !

What is a Doctorate in Software Engineering?

A PhD in software engineering transforms great software engineers into field experts. PhD programs allow students to immerse themselves in advanced focus areas such as software organization and properties, notations and tools, and creation and management. In addition, doctoral students complete original and detailed research in order to become a go-to expert on their dissertation topic.

A doctorate in software engineering is a top-level educational qualification. Professionals who pursue this path usually plan to become university professors, high-flying researchers in major tech companies, and well-paid consultants. Before you commit to 4-5 years of hard work, it’s worth knowing where you’re headed.

Software Engineering PhD Programs: Your Degree Options

Phd in software engineering.

A PhD in software engineering has a two-fold purpose. It hones your ability to engineer efficient and practical software systems. But it also challenges you to consider the theories behind software development, study its applications, and develop new tools. In doing so, you’ll be prepared to:

  • Lead research and development teams in advancing software architecture
  • Teach software engineering (and pursue tenure) at the university level
  • Assume executive positions responsible for top-level software-related decisions

PhD in Software Development

A PhD in software development prepares you to apply advanced problem-solving techniques to the field of software. You’ll design, develop, validate, and maintain large software applications and work with the latest technologies. Like PhD in software engineering candidates, most software development PhD graduates pursue university-level teaching jobs and research-focused industry positions (e.g. senior or principal software developer).

PhD in Computer Science with a Software Engineering Concentration

A PhD in computer science with a software engineering concentration will provide you with the research skills to advance software systems through computational theory, algorithmic research & development, and/or practical design innovations. PhD graduates play a lead role in advancing cutting-edge technologies like Artificial Intelligence (AI). They also apply for software engineering & computer science faculty positions at colleges and universities.

PhD Program Overview: Curriculum, Admission Requirements & Costs

Structure & timeline.

Have a look at the curriculum links in our listings to get a sense of how a doctorate is structured. PhD programs in software engineering consist of core courses, electives, research, and a dissertation. They typically take four or five years to complete.

  • Years 1-3: At most universities, doctoral students in software engineering complete core requirements and electives in the first two or three years of the program. During this time, you will also select a dissertation topic, develop a proposal, and defend your plan in a public setting. PhD students earn candidate status once the proposal is approved.
  • Years 4-5: PhD programs become research-heavy in the final two years. You should expect to spend a couple of years conducting research and writing your dissertation. A faculty advisor will help guide you through the dissertation process, providing advice on topic selection, assistance with research, and prep for your dissertation defense. At the end of the program, you will publicly defend your findings in front of a faculty dissertation committee.

PhD in Software Engineering: Curriculum

Core coursework & electives.

Software engineering PhD programs contain core coursework and electives, with specific credit mandates. Each school will allow you to explore different topics, easing the process of creating an impactful and motivating dissertation proposal. Advisors will tailor your coursework to help you discover and focus on your specialization.

For example, a PhD in software engineering from the University of California Irvine has a 48-credit coursework requirement, consisting of:

  • The software engineering core
  • Five electives in software engineering topics
  • Three courses of individual study and/or thesis supervision
  • Additional coursework to fill in credits toward the 48-credit requirement
  • Attending dozens of seminars

A PhD in software engineering from Carnegie Mellon features:

  • One core research course in software engineering
  • Four “star” and two elective courses, each selected by the student
  • A practicum
  • Two semesters as a teaching assistant serving as an assistant teacher

North Dakota State University’s software and security engineering PhD program contains:

  • Six core courses
  • One of two focus tracks in either software engineering or cybersecurity, each requiring three courses
  • The doctoral dissertation

You’ll notice that some PhD in software engineering courses overlap with subjects that have been addressed in master’s programs. The difference is that doctoral courses are much more in-depth. Top-level coursework completed within PhD programs can include:

  • Models of software systems
  • Type systems for programming languages
  • Cloud and security foundations
  • Optimizing compilers for modern architectures
  • Global e-business strategy
  • Information security and privacy
  • Human aspects of software development

Research & Dissertation Preparation

While you’re tackling courses, you’ll also be exploring possible research ideas for your dissertation. This phase of your PhD in software engineering can cover a large range of topics. You may wish to investigate advanced areas in software such as:

  • Software architecture and design
  • Security and privacy
  • Analysis and quality assurance
  • Developer tools
  • Management and organization of software development

Faculty members will help you break down these general categories into an impactful & targeted research topic for your PhD dissertation. You must receive approval for your dissertation topic before you are allowed to complete the last few years of your doctorate.

Be prepared to hit the ground running. Research work will usually begin in the early stages of your doctoral program. The University of California Irvine and Carnegie Mellon specifically mention working on research projects at the onset of the PhD. Some schools even provide directed study opportunities. Directed study allows you to conduct research under the oversight of a faculty member in preparation for your dissertation.

Dissertation

Software engineering PhD students are required to conduct original research that will explore new territory and broaden the industry’s knowledge of the field. You’ll be expected to present your conclusions & findings in a written and publicly defended dissertation. Carnegie Mellon’s handbook offers a thorough account of the dissertation process, from the proposal to its ultimate defense.

Once you have decided on a dissertation topic, completed your research, and created your dissertation:

  • A committee of several faculty members involved in your doctoral work will review your written work.
  • You will then be required to defend your findings in an oral presentation. A dissertation defense takes approximately 45 minutes, followed by questions.
  • The committee can decide to approve—either with or without corrections—or reject the dissertation.

Wondering what a dissertation in software engineering looks like? Examine the following completed dissertations by PhD candidates at UC Irvine and Auburn University:

  • Reusable Method Summaries for Improving Performance of Dynamic Dependence Analysis by Vijay Krishna Palepu (PhD graduate from the University of California Irvine)
  • Popularity-Aware Storage Systems for Big Data Applications by Ting Cao (PhD graduate from Auburn University)

PhD Admission Requirements

Admission requirements to software engineering PhD programs vary by school. However, you can expect to see most (if not all) of the following listed in university doctoral admissions guides:

  • Master’s Degree in a Related Field: Common MS majors include software engineering, computer science, software development, etc. (Some schools will consider BS applicants).
  • High GPA: Universities will usually ask for a minimum 3.0 GPA at the undergraduate and graduate levels.
  • Competitive GRE Scores
  • Personal Statement:  Universities will want to know about your interests, goals, and/or professional experience.
  • Letters of Recommendation
  • Proof of Proficiency in English: International students from non-English speaking countries may need to take a IELTS or TOEFL test.

Admission to PhD in software engineering programs is highly competitive, so be aware that schools will be considering other aspects of your background. For example, UC Irvine reviews design portfolios, GitHub profiles, and any relevant writing (e.g. scholarly papers).

Tuition Costs & Funding for Software Engineering PhD Programs

It’s important to note that most PhD programs in software engineering are fully funded. If you are considering a doctorate in a STEM field, be sure to ask if tuition is covered. For example:

  • The University of Michigan-Dearborn’s PhD in Computer and Information Science (CIS): Software Engineering Concentration follows the university’s fully-funded PhD model.
  • PhD candidates earn a tuition waiver and monthly stipend, plus health insurance, in exchange for their work as a graduate student instructor or research assistant (or both).

Similar arrangements exist for PhD candidates at UC Irvine and North Dakota State University.

If you are unable to find a fully funded PhD program, you may wish to look into filing a Free Application for Federal Student Aid ( FAFSA ) for graduate students, scholarship and fellowship options, and—as a last resort—private loans. Tuition for non-funded doctorates will vary from school to school, but you can expect to see tuition prices range from $15,000 to north of $50,000 per year.

Online PhD in Software Engineering Programs

Software development needs no lab work and few physical references, so some online PhD in software engineering programs do exist. However, virtual doctorates are still far less common than online BS in software engineering degrees and online MS in software engineering programs .

Examples of online doctoral programs in the field include the:

  • Online PhD in Systems Engineering at Colorado State University
  • Online PhD in Computer Science with software engineering coursework at the University of North Dakota

These are doctorates from regionally accredited institutions with solid brick & mortar reputations. You’ll be able to view on-campus lectures live or watch recordings afterwards. You can discuss your work in virtual meetings with your faculty advisors. And you can fit your dissertation research around other commitments. Be aware that online PhD programs aren’t usually funded—you may end up paying tuition costs of $800+ per credit.

PhD Career Benefits & Opportunities

What can you do with a phd in software engineering.

A PhD in software engineering makes you the world’s expert on your dissertation topic. You will be acknowledged as a specialist in software engineering & development wherever you go. While your expertise in the field awards you some flexibility in the roles you choose to pursue, there are a handful of opportunities that are tailor-made for software engineering PhD graduates.

University Faculty in Software Engineering : A PhD is the standard requirement for tenured faculty positions. Entering the world of academia will involve a number of responsibilities, including:

  • Instructing undergraduate and graduate students on software engineering principles
  • Developing new course materials to address advances in software engineering
  • Writing grant proposals to fund research into new technologies
  • Conducting research to expand the field of software engineering
  • Writing white papers and presenting at conferences and seminars

Computer & Information Research Scientists : Computer and information research scientists design new computer architectures to improve network technology, increase computing speeds, and advance data security measures.

Principal Software Engineers : Principal software engineers function as a company’s technical and managerial focal point for software engineering projects. They ensure clients’ satisfaction with the end product and provide executive management updates on budgetary and resource constraints.

Executives or Start-up Founders : Executives and founders create and guide a company’s vision by applying in-depth knowledge of software systems and applications. If you find yourself interested in leading a start-up, then it’s likely you’ve created—or are involved with—a new software technology or product with industry potential.

Industry Experts & Consultants : Legislatures and agencies enforce various compliance requirements to ensure data security. Industry experts serve as consultants to develop and modify policies and regulations. You essentially monetize your knowledge by lending your expertise wherever it is needed.

Salaries for PhD in Software Engineering Graduates

General salaries.

Wondering if earning a PhD in software engineering will have a positive impact on your earning potential? Well, according to Glassdoor, the answer is a resounding “yes.” Software engineers with PhD degrees earn an average of $40,000 more than master’s degree earners. In 2023, PhD in software engineering earners averaged $164,835 per year ($130,041 base pay and $34,794 additional pay), compared to $121,158 per year ($101,096 base pay and $20,062 additional pay) for master’s in software engineering earners .

Big Tech Company Salaries

Large technology companies—like Google and Meta—seek out elite software engineers. These firms pay well to recruit the best candidates, so your chances of being hired increase significantly with a PhD.

Company Total Yearly Pay Base Pay Additional Pay
Google $212,916 $142,464 $70,452
Meta $216,389 $145,371 $70,598

Specific Job Salaries

Job Total Yearly Pay Base Pay Additional Pay
Assistant Professor in Software Engineering $202,338 $145,720 $56,618
Computer and Information Research Scientist $131,490 N/A N/A

Sources : U.S. Bureau of Labor Statistics (BLS) provided a computer and information research scientist’s salary (updated May 2021). Glassdoor provided all other salary estimates (updated February 2023). Additional pay refers to cash bonuses and profit sharing.

Is a PhD in Software Engineering Worth it?

You’ve reviewed what earning a PhD in software engineering entails, how long it will take, and what it might cost . You’ve considered admissions criteria , carefully reviewing your own background and your odds of gaining entry to a reputable program. Now for the most important question: Is a PhD in software engineering really worth it?

This is a difficult question to answer, as the decision ultimately depends on your professional goals, existing responsibilities, and your budget. To help you decide, we’ve made the case for both sides.

Pros of a PhD in Software Engineering

Earning a PhD in software engineering is worth it if you want to pursue advanced career opportunities that are unavailable to those with an undergraduate or master’s degree. For example, you may wish to:

  • Apply for a top Research & Development (R&D) position within global tech companies (e.g. Microsoft or Google)
  • Support start-ups who rely on skilled researchers and innovators as they develop new technologies
  • Join the academic world in order to lead groundbreaking research while educating future software engineers

If any of the above sound like you, then a PhD in software engineering is worth it.

Cons of a PhD in Software Engineering

Earning a PhD in software engineering is not worth it if you’re not prepared for the obstacles and intense commitment required to complete a doctorate. For example, you may:

  • Have existing responsibilities (family, career, etc.) that make dedicating four to five years to a doctoral program an impossibility
  • Are unable to secure admission to a fully-funded program and are overwhelmed with the idea of taking on enormous debt in exchange for an advanced degree
  • Either have not considered your career goals or are unsure about your interest in the opportunities available to PhD holders

If the above points ring true for you, then a PhD in Software Engineering is not worth it.

PhD in Software Engineering: Frequently Asked Questions

Can you pursue a doctorate in software engineering without earning a master’s degree first.

Yes. Several schools allow bachelor’s degree graduates to apply without first completing a master’s degree. For example:

  • University of Texas at Dallas requires a Bachelor of Science in a related field, 3.5 GPA, and strong GRE scores.
  • North Dakota State University requires a Bachelor of Science degree, at least three years of full-time professional software engineering experience, and one programming language (C++, C#, or Java preferred).
  • Auburn University requires a relevant bachelor’s degree, with computer science, software engineering, and cybersecurity engineering being preferred.

How Long Are Software Engineering PhD programs?

Most doctoral programs require a full-time commitment of four to five years. PhD programs in software engineering are split into two major phases: coursework and the dissertation. PhD coursework requires two to three years of full-time effort. The dissertation typically takes an additional two to three years of research, writing, and defense.

How Are Master’s Degree and PhD in Software Engineering Programs Different?

Master’s degrees and PhD programs are advanced educational qualifications in software engineering, but there are some important differences between them:

  • Program Length : A software engineering master’s degree usually takes two years of full-time study; a PhD program requires a full-time commitment of four to five years.
  • Coursework : Master’s programs typically require 30 course credits, culminating with a thesis or final project. PhD programs are four to five years long and involve core coursework, electives, and the completion of a PhD dissertation.
  • Master’s Thesis vs. PhD Dissertation : A master’s thesis involves analyzing and commenting on existing research in the world of software engineering. A PhD dissertation requires unique research and the development of an original concept. PhD students ultimately contribute new knowledge to the field of software engineering.
  • Career Opportunities : A master’s degree in software engineering will provide you with advanced skills required to thrive within software development companies. You’ll be able to apply your in-depth knowledge to create & manage complex software applications through the entire development cycle. A software engineering PhD prepares you to conduct research and educate students within academia or pursue professional R&D positions.

All PhD in Software Engineering Programs

8 Schools Found

Auburn University

Samuel Ginn College of Engineering

Auburn University, Alabama

PhD in Computer Science and Software Engineering

Naval postgraduate school.

Department of Computer Science

Monterey, California

Doctor of Philosophy (PhD) in Software Engineering

Offered Online

University of California-Irvine

Department of Informatics

Irvine, California

PhD Software Engineering

North dakota, north dakota state university-main campus.

College of Engineering

Fargo, North Dakota

PhD in Software and Security Engineering

Pennsylvania, carnegie mellon university.

Institute for Software Research

Pittsburgh, Pennsylvania

Southern Methodist University

Lyle School of Engineering

Dallas, Texas

Doctor of Engineering in Software Engineering

The university of texas at arlington.

Arlington, Texas

Doctorate in Computer Science - Software Engineering Track

The university of texas at dallas.

Erik Jonsson School of Engineering and Computer Science

Richardson, Texas

Software Engineering Ph.D. Program

Software and societal systems department, build it better....

Software is becoming ever more important to our daily lives, as well as every sector of industry.  But as software systems increase in capability, they increase in complexity, resulting in delays, defects, and vulnerabilities.

Our Ph.D. program in Software Engineering seeks to educate the next generation of high-impact software engineering research, development, and educational leaders who will solve the problems associated with building large-scale and critical software systems.  Learn about our groundbreaking research , our world-leading faculty , and our alumni who are already making a big difference in the world.  We hope you will apply  to our Ph.D. program  so you can join us in learning to build software better!

Don't Forget!

Applications to the Ph.D. program in Software Engineering are accepted every year with a deadline in  December. This year the application window is open  September 4th, 2024, Early Deadline of November 20th, 2024, and final Deadline of December 11th, 2024. 

Learn how to apply

  • Why Software Engineering?
  • What are your research strengths?
  • What will my course of study look like?
  • What are the prerequisites for admission?
  • How is this program going to help my career?
  • How do I apply?

Video Highlights

Our faculty are taking on some of the most exciting technical challenges modern software faces. Learn more about their work in these short research vignettes!

Program Highlight Videos

Featured Student

portrait of ashutosh pandey

Featured Research

photo of locks

Featured Alumna

photo of ciera jaspan

  • Costs, Scholarships & Aid
  • Campus Life
  • Faculty & Staff
  • Family & Visitors
  • DFW Community
  • Galaxy Login
  • Academic Calendar
  • Human Resources
  • Accessibility

Doctor of Philosophy in Software Engineering

Program description.

The PhD in Software Engineering program is tailored to the student. The student must arrange a course program with the guidance and approval of a faculty member chosen as their graduate advisor. Adjustments can be made as the student’s interests develop and a specific dissertation top is chosen.

The software engineering researchers in the Department of Computer Science are focused on issues related to effectively developing large-scale, complex systems. In particular, new categories of applications are emerging such as big data, cyber physical, and autonomous adaptable systems, which continue to drive leading edge research in software engineering on diverse topics. Key research areas include requirements engineering, architecture, design, service-oriented computing, testing and verification, static analysis, software maintenance and multi-agent systems.

Career Opportunities

Virtually all major companies and corporations need software related core competencies. Software engineers are central in developing and making use of these competencies. They work in teams that interface extensively with clients, company executives, IT managers, data scientists, security and domain experts.

Software engineering professionals are creative, highly collaborative, well paid, and in very high demand with employers. Graduates of the program seek academic positions at universities, as well as positions as researchers, senior software engineers and data scientists. Graduates often become industry experts in various fields like cybersecurity, artificial intelligence, machine learning and natural language processing.

Marketable Skills

Review the marketable skills for this academic program.

Application Requirements

Test score required:  Yes

Deadlines:  University  deadlines  apply.

Admission Option One

  • Degree requirements:  A master’s degree in computer science or its equivalent
  • GPA:  Minimum of 3.5
  • Test score:  Minimum revised GRE scores of 308, 153, 155, and 4 for the combined, verbal, quantitative and analytical writing components, respectively, are advisable.

Admission Option Two

  • Degree requirements:  A BS degree in related area that includes two semesters of calculus and linear algebra.
  • GPA:  Minimum of 3.5 in the last 60 semester credit hours.
  • Test score:  Minimum revised GRE scores of 315, 156, 159 and 4 for the combined, verbal, quantitative and analytical writing components, respectively, are advisable.

Applicants are admitted on a competitive basis.

Contact Information

Admissions Email: [email protected]

Shyam Karrah Email: [email protected] Phone: 972-883-4197 Office: ECSS 4.704 Website: personal.utdallas.edu/~skarrah

Erik Jonsson School of Engineering and Computer Science The University of Texas at Dallas, ECW41 800 W. Campbell Road Richardson, TX 75080-3021 Email: [email protected]

cs.utdallas.edu engineering.utdallas.edu

Request More Information

can i do phd in software engineering

Contact Email

We have received your request for more information, and thank you for your interest! We are excited to get to know you and for you to explore UT Dallas. You’ll begin receiving emails and information about our beautiful campus, excellent academic programs and admission processes. If you have any questions, email  [email protected].

The University of Texas at Dallas respects your right to privacy . By submitting this form, you consent to receive emails and calls from a representative of the University.

* Required Field

800 W. Campbell Road Richardson, Texas 75080-3021

972-883-2111

Copyright Information

© The University of Texas at Dallas

Questions or comments about this page?

Stay Connected with UT Dallas

  • Emergency Preparedness
  • Campus Carry
  • Campus Police
  • Required links
  • Tobacco-Free Campus
  • Texas Veterans Portal
  • Work at UT Dallas
  • Nondiscrimination Policy
  • Title IX Initiatives
  • Student Achievements
  • HEERF Reporting
  • Counseling/Mental Health
  • Hazing Prevention
  • Public Course and Syllabus Information
  • Privacy Policy

UC Irvine Department of Informatics

PhD Software Engineering Requirements

General information.

Undergraduate Preparation for Admission.

Typically, incoming students will have an undergraduate degree in computer science, though students may have an undergraduate degree in any field. Additionally they must have significant experience in software development. The ideal applicant is one who shows a considerable analytical depth in the practice of software development, typically gained from first-hand experience with large projects. Students admitted without a major in computer science, informatics, or equivalent will be expected to take undergraduate courses to fill any gaps.

Incoming students who already have a M.S. in Computer Science or closely related field may be exempted from (part of) the pre-candidacy course requirements by petition to the Graduate Dean, as filed by the student’s faculty advisor.

Pre-Candidacy Course Requirements

Students must complete the software engineering core courses (SWE 211), five elective courses and at least three quarters of individual study and/or thesis supervision courses. Students must take additional courses of their own choosing, or additional individual studies, so to fulfill 48 credits before advancement to candidacy. The selection of courses should form a coherent educational plan to be approved by the student’s faculty advisor.

All five elective courses must be regular, 4-unit courses from the School of ICS. At least three of the elective courses should be from the SWE 2xx series. Individual study, thesis supervision, and seminars do not qualify as electives.

Additionally, students are expected to attend at least 20 talks from within the several seminar series in ICS. Attendance bears no course credit, but it is required for advancement to candidacy. The student’s faculty advisor is responsible for ensuring this requirement is met.

Software Engineering
INF 211: Software Engineering
5 Electives from the school of ICS – at least two from the SWE 2xx series
Three quarters 299 (Independent study)
Attend at least 20 talks/write summaries

Advancement (Year 3)

Research Assessment:

Students must find a faculty advisor and successfully complete a research project with that faculty member. The research project should be done over at least two quarters of independent study with that faculty member. The goal of this research assessment is to introduce the student to the practice of scientific publication.

Based on the project, the student must produce a research paper of publishable quality. This research paper must be reviewed by three faculty members in a peer-review process, revised by the student, and approved by the three faculty members.

The research assessment is graded Ph.D. PASS, M.S. PASS or FAIL. In case of M.S. PASS or FAIL, the student can re-submit the paper at most one more time within the maximum period of six months. A second M.S. PASS or FAIL results in disqualification from the doctoral program.

Advancement to Candidacy Examination

Each Ph.D. student must pass the oral advancement to candidacy exam, which assesses the student’s ability to conduct, present, and orally defend research work at the doctoral level. The research project and paper are the basis for the student’s oral advancement to candidacy exam. The oral candidacy exam consists of the research presentation by the student, followed by questions from the candidacy committee.

The student must complete the course requirements, and pass the research assessment prior to advancing to candidacy. The candidacy committee will consist of five faculty members, the majority of whom must be members of the student’s program, and is conducted in accordance with UCI Senate regulations.

Dissertation Proposal (Year 4–5)

Students are required to complete a doctoral dissertation in accordance with Academic Senate regulations. In addition, they must pass an oral thesis defense which consists of a public presentation of the student’s research followed by an oral examination by the student’s doctoral committee. The committee must approve the thesis unanimously.

The normative time for advancement to candidacy is three years. The normative time for completion of the Ph.D. is six years, and the maximum time permitted is seven years.

Dissertation Defense (Year 5–6)

The student must complete the course requirements, and pass the two qualifying examinations prior to advancing to candidacy. The candidacy committee will consist of five faculty members, the majority of whom must be members of the student’s program, and is conducted in accordance with UCI Senate regulations.

The Dissertation Topic Proposal and Dissertation Defense are fairly routine across the PhD programs available in the Department of Informatics. Please see the general pages for those topics, including the announcement policy for public exams.

University of California Irvine

  • Chancellor’s Message

Print Options

2024-25 edition, software engineering, ph.d..

A new code search engine. New insights into how trust emerges (or doesn’t) in distributed software development organizations. New visualizations to aid developers in debugging code. New lessons about the quality of open-source components. A new Internet infrastructure that enables secure computational exchange.

These are just some examples of the wide variety of projects being worked on by current Ph.D. students in the software engineering Ph.D. program at UC Irvine.

As software continues to transform society in dramatic and powerful ways, we must improve our ability to reliably develop high-quality systems. From early incarnations as just an idea or set of requirements to when software is actually built, deployed and customized in the field, many challenges exist across the lifecycle that make creating software still a non-trivial endeavor today.

The software engineering Ph.D. program offers students the opportunity to tackle these challenges, whether it is through designing new tools, performing studies of developers and teams at work, creating new infrastructures or developing new theories about software and how it is developed. No fewer than six faculty members bring a broad range of expertise and perspectives to the program, guaranteeing a diverse yet deep education in the topic.

A strong core of classes introduces students to classic material and recent innovations. At the same time, we focus on research from the beginning. New students are required to identify and experiment with one or more research topics early, so that they can become familiar with the nature of research, write papers, attend conferences and begin to become part of the broader software engineering community. This focus on research naturally continues throughout the program, with an emphasis on publishing novel results in the appropriate venues.

For additional information about this degree program, please see: https://www.informatics.uci.edu/grad/phd-software-engineering/

Program of Study

Pre-candidacy course requirements.

Students must complete a software engineering core course, five elective courses, and at least three quarters of individual study and/or thesis supervision courses. Students must take additional courses of their own choosing or additional individual studies, in order to fulfill 48 units before advancement to candidacy. The selection of courses should form a coherent educational plan to be approved by the student's faculty advisor.

1. Software Engineering Core Courses:
Software Engineering
2. Complete five Software Engineering electives.
3. Complete at least three quarters of individual study and/or thesis supervision courses.
4. Students must complete additional courses of their own choosing or additional individual studies, in order to fulfill 48 units before advancement to candidacy.
Additionally, students are expected to attend at least 20 talks from within the several seminar series in ICS. Attendance bears no course credit, but it is required for advancement to candidacy.

All five elective courses must be regular, 4-unit courses from the SWE 2XX series. Individual study, thesis supervision, and seminars do not qualify as electives.

The selection of courses should form a coherent educational plan to be approved by the student's faculty advisor.

The student's faculty advisor is responsible for ensuring this requirement is met.

Qualifying Examinations

Research Assessment

Students must find a faculty advisor and successfully complete a research project with that faculty member. The research project should be done over at least two quarters of independent study with that faculty member. The goal of this research assessment is to introduce the student to the practice of scientific publication.

Based on the project, the student must produce a research paper of publishable quality. This research paper must be reviewed by three faculty members in a peer-review process, revised by the student, and approved by the three faculty members.

The research assessment is graded Ph.D. PASS, M.S. PASS, or FAIL. In case of M.S. PASS or FAIL, the student can re-submit the paper at most one more time within the maximum period of six months. A second M.S. PASS or FAIL results in disqualification from the doctoral program.

Advancement to Candidacy Examination

Each Ph.D. student must pass the oral advancement to candidacy exam, which assesses the student’s ability to conduct, present, and orally defend research work at the doctoral level. The research project and paper are the basis for the student’s oral advancement to candidacy exam. The oral candidacy exam consists of the research presentation by the student, followed by questions from the candidacy committee.

The student must complete the course requirements, and pass the research assessment prior to advancing to candidacy. The candidacy committee will consist of five faculty members, the majority of whom must be members of the student’s program, and is conducted in accordance with UCI Senate regulations.

Dissertation Topic Defense

The student must present a carefully articulated document representing the student’s dissertation plan. This document must include the proposed dissertation abstract, a discussion of the approach, a comprehensive survey of related work, and a plan for completing the work. The dissertation plan is presented by the student to the dissertation committee, who must unanimously approve the student’s proposal. The dissertation defense committee is formed in accordance to UCI Senate regulations.

Doctoral Dissertation and Final Examination

Students are required to complete a doctoral dissertation in accordance with Academic Senate regulations. In addition, they must pass an oral thesis defense which consists of a public presentation of the student’s research followed by an oral examination by the student’s doctoral committee. The committee must approve the thesis unanimously.

The normative time for advancement to candidacy is three years. The normative time for completion of the Ph.D. is six years, and the maximum time permitted is seven years.

Requirements Beyond Graduate Division Minimum Requirements

All Ph.D. students are expected to maintain a minimum GPA of 3.5 throughout the program. Failure to maintain this minimum will result in a recommendation that the student be disqualified. In addition, no grade lower than a B is counted toward satisfying any course requirements.

Send Page to Printer

Print this page.

Download Page (PDF)

The PDF will include all information unique to this page.

2024-2025 Catalogue

A PDF of the entire 2024-2025 catalogue.

Invenia Blog

Blogging About Electricity Grids, Julia, and Machine Learning

The Hitchhiker’s Guide to Research Software Engineering: From PhD to RSE

Author: Glenn Moynihan

In 2017, the twilight days of my PhD in computational physics, I found myself ready to leave academia behind. While my research was interesting, it was not what I wanted to pursue full time. However, I was happy with the type of work I was doing, contributing to research software, and I wanted to apply myself in a more industrial setting.

Many postgraduates face a similar decision. A study conducted by the Royal Society in 2010 reported that only 3.5% of PhD graduates end up in permanent research positions in academia. Leaving aside the roots of the brain drain on Universities, it is a compelling statistic that the vast majority of post-graduates end up leaving academia for industry at some point in their career. It comes as no surprise that there are a growing number of bootcamps like S2DS , faculty.ai , and Insight that have sprung up in response to this trend, for machine learning and data science especially. There are also no shortage of helpful forum discussions and blog posts outlining what you should do in order to “break into the industry”, as well as many that relate the personal experiences of those who ultimately made the switch.

While the advice that follows in this blog post is directed at those looking to change careers, it would equally benefit those who opt to remain in the academic track. Since the environment and incentives around building academic research software are very different to those of industry, the workflows around the former are, in general, not guided by the same engineering practices that are valued in the latter.

That is to say: there is a difference between what is important in writing software for research, and for a user-focused, software product . Academic research software prioritises scientific correctness and flexibility to experiment above all else in pursuit of the researchers’ end product: published papers. Industry software, on the other hand, prioritises maintainability, robustness, and testing as the software (generally speaking) is the product.

However, the two tracks share many common goals as well, such as catering to “users”, emphasising performance and reproducibility , but most importantly both ventures are collaborative . Arguably then, both sets of principles are needed to write and maintain high-quality research software. Incidentally, the Research Software Engineering group at Invenia is uniquely tasked with incorporating all these incentives into the development of our research packages in order to get the best of both worlds. But I digress.

What I wish I knew in my PhD

Most postgrads are self-taught programmers and learn from the same resources as their peers and collaborators, which are ostensibly adequate for academia. Many also tend to work in isolation on their part of the code base and don’t require merging with other contributors’ work very frequently. In industry, however, continuous integration underpins many development workflows. Under a continuous delivery cycle, a developer benefits from the prompt feedback and cooperation of a full team of professional engineers and can, therefore, learn to implement engineering best practices more efficiently.

As such, it feels like a missed opportunity for universities not to promote good engineering practices more and teach them to their students. Not least because having stable and maintainable tools are, in a sense, “public goods” in academia as much as industry. Yet, while everyone gains from improving the tools, researchers are not generally incentivised to invest their precious time or effort on these tasks unless it is part of some well-funded, high-impact initiative. As Jake VanderPlas remarked : “any time spent building and documenting software tools is time spent not writing research papers, which are the primary currency of the academic reward structure”.

Speaking personally, I learned a great deal about conducting research and scientific computing in my PhD; I could read and write code, squash bugs, and I wasn’t afraid of getting my hands dirty in monolithic code bases. As such, I felt comfortable at the command line but I failed to learn the basic tenets of proper code maintenance, unit testing, code review, version control, etc., that underpin good software engineering. While I had enough coding experience to have a sense of this at the time, I lacked the awareness of what I needed to know in order to improve or even where to start looking.

As is clear from the earlier statistic, this experience is likely not unique to me. It prompted me to share what I’ve learned since joining Invenia 18 months ago, so that it might guide those looking to make a similar move. The advice I provide is organised into three sections: the first recommends ways to learn a new programming language efficiently 1 ; the second describes some best practices you can adopt to improve the quality of the code you write; and the last commends the social aspect of community-driven software collaborations.

Lesson 1: Hone your craft

Practice : While clichéd, there is no avoiding the fact that it takes consistent practice over many many years to become masterful at anything, and programming is no exception.

Have personal projects : Practicing is easier said than done if your job doesn’t revolve around programming. A good way to get started either way is to undertake personal side-projects as a fun way to get to grips with a language, for instance via Project Euler , Kaggle Competitions , etc. These should be enough to get you off the ground and familiar with the syntax of the language.

Read code : Personal projects on their own are not enough to improve. If you really want to get better, you’ve got to read other people’s code: a lot of it. Check out the repositories of some of your favourite or most used packages—particularly if they are considered “high quality” 2 . See how the package is organised, how the documentation is written, and how the code is structured. Look at the open issues and pull requests. Who are the main contributors? Get a sense of what is being worked on and how the open-source community operates. This will give you an idea of the open issues facing the package and the language and the direction it is taking. It will also show you how to write idiomatic code , that is, in a way that is natural for that language.

Contribute : You should actually contribute to the code base you use. This is by far the most important advice for improving and I cannot overstate how instructive an experience this is. By getting your code reviewed you get prompt and informative feedback on what you’re doing wrong and how you can do better. It gives you the opportunity to try out what you’ve learned, learn something new, and improves your confidence in your ability. Contributing to open source and seeing your features being used is also rewarding, and that starts a positive feedback loop where you feel like contributing more. Further, when you start applying for jobs in industry people can see your work, and so know that you are good at what you do (I say this as a person who is now involved in reviewing these applications).

Study : Learning by experience is great but—at least for me—it takes a deliberate approach to formalise and cement new ideas. Read well-reviewed books on your language (appropriate for your level) and reinforce what you learn by tackling more complex tasks and venturing outside your comfort zone . Reading blog posts and articles about the language is also a great idea.

Ask for help: Sometimes a bug just stumps you, or you just don’t know how to implement a feature. In these circumstances, it’s quicker to reach out to experts who can help and maybe teach you something at the same time. More often than not, someone has had the same problem or they’re happy to point you in the right direction. I’m fortunate to work with Julia experts at Invenia, so when I have a problem they are always most helpful. But posting on public fora like Slack , Discourse , or StackOverflow is an option we all have.

Lesson 2: Software Engineering Practices

With respect to the environment and incentives in industry surrounding code maintainability, robustness, and testing, there are certain practices in place to encourage, enable, and ensure these qualities are met. These key practices can turn a collection of scripts into a fully implemented package one can use and rely upon with high confidence.

While there are without doubt many universities and courses that teach these practices to their students, I find they are often neglected by coding novices and academics alike, to their own disadvantage.

Take version control seriously: Git is a programming staple for version control, and while it is tempting to disregard it when working alone, without it you soon find yourself creating convoluted naming schemes for your files; frequently losing track of progress; and wasting time looking through email attachments for the older version of the code to replace the one you just messed up.

Git can be a little intimidating to get started, but once you are comfortable with the basic commands (fetch, add, commit, push, pull, merge) and a few others (checkout, rebase, reset) you will never look back. GitHub ’s utility, meanwhile, extends far beyond that of a programmatic hosting service; it provides documentation hosting , CI/CD pipelines , and many other features that enable efficient cross-party collaboration on an enterprise scale.

It cannot be overstated how truly indispensable Git and GitHub are when it comes to turning your code into functional packages, and the earlier you adopt these the better. It also helps to know how semantic versioning works, so you will know what it means to increment a package version from 1.2.3 to 1.3 and why.

Organise your code : In terms of packaging your code, get to know the typical package folder structure. Packages often contain src, docs, and test directories, as well as standard artefacts like a README, to explain what the package is about, and a list of dependencies, e.g. Project and Manifest files in Julia, or requirements.txt in Python. Implementing the familiar package structure keeps things organised and enables yourself and other users to navigate the contents more easily.

Practice code hygiene : This relates to the readability and maintainability of the code itself. It’s important to practice good hygiene if you want your code to be used, extended, and maintained by others. Bad code hygiene will turn off other contributors—and eventually yourself—leaving the package unused and unmaintained. Here are some tips for ensuring good hygiene:

  • Take a design-first approach when creating your package. Think about the intended user(s) and what their requirements are—this may be others in your research group or your future self. Sometimes this can be difficult to know in advance but working iteratively is better than trying to capture all possible use cases at once.
  • Think about how the API should work and how it integrates with other packages or applications. Are you building on something that already exists or is your package creating something entirely new?
  • There should be a style guide for writing in the language, for example, BlueStyle in Julia and PEP 8 in Python. You should adhere to it so that your code follows the same standard as everyone else.
  • Give your variables and functions meaningful, and memorable names. There is no advantage to obfuscating your code for the sake of brevity.
  • Furthermore, read up on the language’s Design Patterns . These are the common approaches or techniques used in the language, which you will recognise from reading the code. These will help you write better, more idiomatic code.

Write good documentation : The greatest package ever written would never be used if nobody knew how it worked. At the very least your code should be commented and a README accompanying the package explaining to your users (and your future self) what it does and how to install and use it. You should also attach docstrings to all user-facing (aka public) functions to explain what they do, what inputs they take, what data types they return, etc. This also applies to some internal functions, to remind maintainers (including you) what they do and how they are used. Some minimum working examples of how to use the package features are also a welcome addition.

Lastly, documentation should evolve with the package; when the API changes or new use-cases get added these should be reflected in the latest documentation.

Write good tests : Researchers in computational fields might find familiar the practice of running “canonical experiments” or “reproducibility tests” that check if the code produces the correct result for some pipeline and is therefore “calibrated”. But these don’t necessarily provide good or meaningful test coverage . For instance, canonical experiments, by definition, test the software within the limits of its intended use. This will not reveal latent bugs that only manifest under certain conditions, e.g. when encountering corner cases.

To capture these you need to write adequate Unit and Integration Tests that cover all expected corner cases to be reasonably sure your code is doing what it should. Even then you can’t guarantee there isn’t a corner case you haven’t considered, but testing certainly helps.

If you do catch a bug it’s not enough to fix it and call it a day; you need to write a new test to replicate it and you will only have fixed the bug only when that new test passes. This new test prevents regressions in behaviour if the bug ever returns.

Lesson 3: Take Part in the Community

Undertaking a fraction of the points above would be more than enough to boost your ability to develop software. But the return on investment is compounded by taking part in the community forums on Slack and Discourse ; joining organizations on GitHub ; and attending Meetups and conferences . Taking part in a collaboration (and meeting your co-developers) fosters a strong sense of community that supports continual learning and encouragement to go and do great things. In smaller communities related to a particular tool or niche language, you may even become well-known such that your potential future employer (or some of their engineers) are already familiar with who you are before you apply.

Personal experience has taught me that the incentives in academic research can be qualitatively different from those in industry, despite the overlap they share. However, the practices that are instilled in one track don’t necessarily translate off-the-shelf to the other, and switching gears between these (often competing) frameworks can initially induce an all-too-familiar sense of imposter syndrome .

It’s important to remember that what you learn and internalise in a PhD is, in a sense, “selected for” according to the incentives of that environment, as outlined above. However, under the auspices of a supportive community and the proper guidelines, it’s possible to become more well-rounded in your skillset, as I have. And while I still have much more to learn, it’s encouraging to reflect on what I have learned during my time at Invenia and share it with others.

Although this post could not possibly relay everything there is to know about software engineering, my hope is that simply being exposed to the lexicon will serve as a springboard to further learning. To those looking down such a path, I say: you will make many many mistakes, as one always does at the outset of a new venture, but that’s all part of learning.

While these tips are language-agnostic, they would be particularly helpful for anyone interested in learning or improving with Julia .  ↩

Examples of high quality packages include the Requests in Python, and NamedDims.jl in Julia.  ↩

Related Posts

Deprecating in julia 17 jun 2022, using meta-optimization for predicting solutions to optimal power flow 17 dec 2021, using neural networks for predicting solutions to optimal power flow 11 oct 2021.

Stack Exchange Network

Stack Exchange network consists of 183 Q&A communities including Stack Overflow , the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

What is a Ph.D. good for in the software industry? [closed]

I'm a self-taught programmer and have just started a computer science degree to supplement my knowledge and fill in the gaps.

However, I'm already debating the direction of my education. I want a 4 year bachelor's degree for sure, but after that, I'm not sure: Is it worth it to get an M.Sc? What about a Ph.D.? What opportunities do these degrees open up?

Currently my goal is to be a software developer, but there are a number of fascinating fields in the software industry and I'm certainly interested in investigating many of them. It is in this respect that I think a higher degree may be worth it -- even if it wouldn't necessarily help a career of software development.

So will it be worth it? Will grad school open doors?

  • career-development

Adam Lear's user avatar

Not the answer you're looking for? Browse other questions tagged education career-development or ask your own question .

  • The Overflow Blog
  • The hidden cost of speed
  • The creator of Jenkins discusses CI/CD and balancing business with open source
  • Featured on Meta
  • Announcing a change to the data-dump process
  • Bringing clarity to status tag usage on meta sites

Hot Network Questions

  • Beatles reference in parody story from the 1980s
  • Nothing to do with books but everything to do with "BANGS"!
  • Why a minus sign is often put into the law of induction for an inductor
  • How to raise and lower indices as a physicist would handle it?
  • Is the 2024 Ukrainian invasion of the Kursk region the first time since WW2 Russia was invaded?
  • is it possible to add a stepwise counter for assigning a number to each text block?
  • Question about word (relationship between language and thought)
  • Multi Level Access
  • lib/xorg/Xorg →lib/x86_64-linux-gnu/libc.so →xorg/modules/drivers/nvidia_drv.so causes a segmentation fault. Should I report that to Debian team?
  • How would you read this time change with the given note equivalence?
  • \documentclass in separate .tex file
  • What happens on a CAN bus when impedance is too low?
  • Has anyone returned from space in a different vehicle from the one they went up in? And if so who was the first?
  • Why does each leg of my 240V outlet measure 125V to ground, but 217V across the hot wires?
  • How cheap would rocket fuel have to be to make Mars colonization feasible (according to Musk)?
  • Could a lawyer agree not to take any further cases against a company?
  • Romeo & Juliet laws and age of consent laws
  • Information theoretical interpretation of Free Energy
  • Advanced Composite Solar Sail (ACS3) Orbit
  • Understanding the parabolic state of a quantum particle in the infinite square well
  • Weird error in RegionPlot3D?
  • "With" as a function word to specify an additional circumstance or condition
  • Unable to understand a proof of the squeeze theorem
  • What prevents random software installation popups from mis-interpreting our consents

can i do phd in software engineering

We have 154 Software Engineering PhD Projects, Programmes & Scholarships

Computer Science

All locations

Institution

All Institutions

All PhD Types

All Funding

Software Engineering PhD Projects, Programmes & Scholarships

A PhD in Software Engineering is an exciting and rewarding journey that allows you to delve deep into the world of computer science and make groundbreaking contributions to the field.

What's it like to study a PhD in Software Engineering?

Studying a PhD in Software Engineering is a unique experience that combines rigorous research with practical application. As a PhD student, you will have the opportunity to explore cutting-edge technologies, develop innovative software solutions, and contribute to the advancement of the field.

During your PhD, you will work closely with your supervisor and other researchers in the field. You will conduct in-depth research, design experiments, and analyze data to uncover new insights and solutions. You will also have the chance to collaborate with industry partners and participate in conferences and workshops to share your findings and gain valuable feedback.

Entry requirements for a PhD in Software Engineering

To pursue a PhD in Software Engineering, you typically need a strong academic background in computer science or a related field. Most universities require a minimum of a 2.1 Honours degree or equivalent, although some may also consider applicants with a Master's degree.

In addition to academic qualifications, research experience and a strong research proposal are often essential for admission to a PhD program. Demonstrating your passion for software engineering and your ability to contribute to the field through your research proposal is crucial.

PhD in Software Engineering funding options

Funding for PhDs in Software Engineering may be available from various sources, including governments, universities and charities, business or industry. See our full guides to PhD funding for more information.

PhD in Software Engineering careers

A PhD in Software Engineering opens up a wide range of career opportunities. Graduates can pursue careers in academia, industry research labs, or leading technology companies. As a software engineering researcher, you can work on developing new algorithms, improving software development processes, or designing innovative software solutions.

In academia, you can become a professor or a researcher, conducting further research and teaching the next generation of software engineers. Industry research labs offer the opportunity to work on cutting-edge projects and collaborate with industry experts. Leading technology companies often hire PhD graduates to work on complex software systems and drive innovation.

Whether you choose to pursue a career in academia or industry, a PhD in Software Engineering equips you with the skills, knowledge, and expertise to make a significant impact in the field and shape the future of software development.

AI meets Crime Linkage

Phd research project.

PhD Research Projects are advertised opportunities to examine a pre-defined topic or answer a stated research question. Some projects may also provide scope for you to propose your own ideas and approaches.

Competition Funded PhD Project (Students Worldwide)

This project is in competition for funding with other projects. Usually the project which receives the best applicant will be successful. Unsuccessful projects may still go ahead as self-funded opportunities. Applications for the project are welcome from all suitably qualified candidates, but potential funding may be restricted to a limited set of nationalities. You should check the project and department details for more information.

Automated mHealth Application Development: A Case Study on the P-STEP App for Atrial Fibrillation

Sensor-driven robotic automation for high-integrity welding in marine structures, funded phd project (european/uk students only).

This project has funding attached for UK and EU students, though the amount may depend on your nationality. Non-EU students may still be able to apply for the project provided they can find separate funding. You should check the project and department details for more information.

Doctoral Research Associate (EU-Forscher*in. salary level E 13 TV-L, 100%)

Funded phd project (students worldwide).

This project has funding attached, subject to eligibility criteria. Applications for the project are welcome from all suitably qualified candidates, but its funding may be restricted to a limited set of nationalities. You should check the project and department details for more information.

Development of broadband electronic warfare sensors for signal detection and direction finding

Media sector climate impacts and sustainability interventions (bbc r&d), unlocking the full potential of eeg: a data-driven approach to functional neuroimaging in the absence of mri, expanding the capabilities of the molecular simulation design framework (mosdef), school of computing science, funded phd programme (students worldwide).

Some or all of the PhD opportunities in this programme have funding attached. Applications for this programme are welcome from suitably qualified candidates worldwide. Funding may only be available to a limited set of nationalities and you should read the full programme details for further information.

Computing PhD Programme

PhD Research Programmes describe the opportunities for postgraduate research within a University department. You may often be asked to submit your own research project proposal as part of your application, although predefined research projects may also be available.

Learning Caching Strategies for Dynamic Workloads on Graph Databases

Funded phd project (uk students only).

This research project has funding attached. It is only available to UK citizens or those who have been resident in the UK for a period of 3 years or more. Some projects, which are funded by charities or by the universities themselves may have more stringent restrictions.

PhD in Post-Quantum Cryptography

Unveiling tipping points in lakes, developing digital twin and digital product passports for high-value electric machines to support their end-of-life decisions, doctoral research associates (eu-forscher*in, salary level e 13 tv-l, 100%), hot spots and pressure points: developing ai to identify normal and pathological periprosthetic osteoblastic activity for total knee arthroplasty on spect/ct.

FindAPhD. Copyright 2005-2024 All rights reserved.

Unknown    ( change )

Have you got time to answer some quick questions about PhD study?

Select your nearest city

You haven’t completed your profile yet. To get the most out of FindAPhD, finish your profile and receive these benefits:

  • Monthly chance to win one of ten £10 Amazon vouchers ; winners will be notified every month.*
  • The latest PhD projects delivered straight to your inbox
  • Access to our £6,000 scholarship competition
  • Weekly newsletter with funding opportunities, research proposal tips and much more
  • Early access to our physical and virtual postgraduate study fairs

Or begin browsing FindAPhD.com

or begin browsing FindAPhD.com

*Offer only available for the duration of your active subscription, and subject to change. You MUST claim your prize within 72 hours, if not we will redraw.

can i do phd in software engineering

Do you want hassle-free information and advice?

Create your FindAPhD account and sign up to our newsletter:

  • Find out about funding opportunities and application tips
  • Receive weekly advice, student stories and the latest PhD news
  • Hear about our upcoming study fairs
  • Save your favourite projects, track enquiries and get personalised subject updates

can i do phd in software engineering

Create your account

Looking to list your PhD opportunities? Log in here .

Filtering Results

Software Engineering – PhD

Graduate students in the PhD program focus on advancing knowledge of software lifecycle from design, implementation, and testing to documentation and maintaining, through intensive research in their chosen area of interest.

  • A-Z Campus Index
  • Ask McMaster
  • Virtual Tour
  • How to get to McMaster
  • Faculty and Staff Directory
  • DeGroote School of Business
  • Faculty of Engineering
  • Faculty of Health Sciences
  • Faculty of Humanities
  • Faculty of Science
  • Faculty of Social Sciences
  • Current Students
  • Future Students
  • International Students
  • Student Success Centre
  • McMaster Viewbook
  • Centre for Continuing Education
  • Student Wellness Centre

Campus Life

  • Give to McMaster

Outstanding students with a Master’s degree in a field other than Software Engineering will be counselled about the breadth and depth of the comprehensive examination before proceeding with the application. Each student’s background will be assessed and his/her program of study designed to ensure appropriate depth and breadth in Software Engineering.

Admission requirements

Master’s Degree (MAsc, MSc, or equivalent) in a related field.

Find English language requirements here.

Program structure

Students must successfully complete the following program requirements:

  • Equivalent of 4 one-term (half course) graduate courses in Computer Science, Software Engineering, or relevant areas of Engineering or Mathematics. At most two courses can be from outside the department, all must be at the 700-level. More than two courses outside the department requires approval of the department. Students may be required to take more courses as judged by the supervisory committee.
  • Pass a two-part Comprehensive Examination. Part I tests breadth of knowledge ( Part I Syllabus ) and Part II is a defense of a thesis proposal.
  • Prepare and successfully defend a thesis.

Student working on machine in Learning Factory. Hands-on experience.

Areas of research

Students can specialize in a variety of research fields including:

  • Combinatorial computing and optimization
  • Complexity, design and analysis of algorithms
  • Computer vision
  • Computational geometry
  • Control systems
  • Discrete event systems, discrete geometry
  • Formal methods
  • Mathematical programming
  • Mechanized mathematics
  • Medical imaging
  • Optimization: Theory, algorithms and complexity
  • Parallel and distributed computing
  • Real-time and embedded systems
  • Requirement activities
  • Scientific computation
  • Software engineering
  • String algorithms
  • Theory of non-sequential systems

Co-op and Student Life

can i do phd in software engineering

Graduate Co-op

Master’s and PhD students may complete 4 to 12 months of co-op experience in various types of organizations, including corporations, non-profit organizations, government agencies, startups and research institutions.

can i do phd in software engineering

Engineering Graduate Society

The EGS actively supports engineering graduate students through events, workshops, bursaries, and collaboration with various campus organizations, focusing on representation, community building, and academic and professional development.

can i do phd in software engineering

Life in Hamilton

Hamilton, also known as The Hammer or Steeltown, is a thriving city close to the U.S. border and Toronto, with easy access for students commuting from the Greater Toronto Area via the on-campus GO Bus Terminal.

Need more information?

How to apply.

Understand every step, from applying, to accepting your offer and joining us on campus!

Request more information

Thank you for your interest in our Graduate Studies. Please fill out the form below, and we will connect with you to answer all of your questions.

Drone shot of JHE

How to Become a Software Engineer

Learn everything you need to know about careers in software engineering and what you can do to enter this in-demand field.

Mary Sharp Emerson

Today’s world revolves around software. Whether you’re viewing an app on your phone, playing a video game, or tracking a workout on your watch, you are using software. As a result, there is increasingly high demand for individuals with the skills to design the software that operates those devices.

Software engineering can be a challenging career path. A successful software engineer must have a strong foundation in mathematics, engineering principles, and programming skills. At the same time, it can be a rewarding career, offering lucrative salaries and job flexibility.

In this guide, we’ll review everything you need to know about how to become a software engineer.

What is Software Engineering?

Software engineering is the science of building software systems, products, and applications. 

Also sometimes called software developers, software engineers design, write, and launch software programs. They may also work on maintaining and creating upgrades for existing software, performing quality assurance (QA) tests, and writing technical documentation.

Software engineering offers significant room for career growth and advancement. As you gain knowledge and experience, you may choose to work on different parts of the software lifecycle. 

Entry level engineers, for example, are usually responsible for writing code or QA testing. More experienced engineers may work with clients to gather requirements and focus on system design. 

Types of Software Engineers 

Software systems interface with nearly every part of a digital device, from the operating system that allows the device to run to the network that connects it to the internet. 

Software engineering roles , therefore, are determined primarily by what the software does and where on a device or network it operates. The most common types of software engineering roles, with the most job flexibility, are:

  • Front-end engineer : Responsible for the interface users interact with (sometimes also called web developers )
  • Back-end engineer : Responsible for software that sits on a server or network and drives the user interface
  • Full stack engineer: Designs and writes software on both the client and server side

Some specializations focus on where the software operates. Mobile app developers , for example, write applications specifically for mobile devices. Embedded systems software engineers develop operating systems that allow hardware to function. QA engineers and DevOps engineers build and support systems at specific points in the software development life cycle.

In some cases, software engineering roles stem from cooperation or overlap with other specialties. 

For example, data engineers and machine learning engineers design software to process and analyze large amounts of data. They often work closely with data scientists and data analysts. Security engineers work closely with cybersecurity professionals to protect software. Cloud engineers work specifically on networks and network applications.

Advantages of Becoming a Software Engineer

There are many advantages to choosing a career in software engineering. 

One of the best reasons to become a software engineer is the satisfaction that comes from building products that people actually use. There’s also the excitement of solving challenging technical problems. 

Here are a few other—more concrete—reasons why you might want to consider software engineering.

It’s In High Demand

The job market for software engineers is strong coming out of the global COVID-19 pandemic. Competition among employers for qualified software engineers is fierce. And these two trends are likely to grow even stronger in the foreseeable future.

According to a report by Hired.com , for example, software engineers received more than twice as many requests for interviews in 2021 as they did in 2020. 

And according to the U.S. Bureau of Labor Statistics , the number of jobs for software engineers/developers is expected to grow by 25 percent over the next decade. 

It Brings a Competitive Salary

As demand for software engineers increases, so do the salaries that qualified and experienced professionals can demand. 

In May 2021, the average annual salary for software engineers across the United States was $120,750, according to labor statistics compiled by BLS . 

However, salaries for software engineers can vary greatly depending on education, years of experience, location, and other factors.

According to Indeed.com , the average salary for an engineer with less than a year of experience is almost $88,000. Senior software engineers, with 10 or more years of experience, can expect to earn significantly more than $120,000. 

Its Skills are Highly Portable

Originally, most software roles were limited to tech companies. Now, software engineers can work—quite literally—in any field or industry that involves the development of software. In today’s digital world, that’s nearly every industry. 

More importantly, perhaps, software engineers can apply their knowledge and skills in different fields and industries throughout their careers. 

For example, you may start your career writing code for mobile applications in the banking industry but then move into mobile applications for education, entertainment, or healthcare. Or, you might choose to stay in banking, but turn your skills to designing secure data management software.  

The hard and soft skills underpinning all these roles are similar (although some moves may require upskilling in specific coding languages, for instance), giving you maximum flexibility as you advance your career.

It Offers Flexibility in Scheduling and Location

Even before the COVID-19 pandemic hastened the move to hybrid and remote work, software engineering was at the forefront of flexible working arrangements. 

Laptops and secure networks made it possible—and easy—for teams of software developers to collaborate on projects from the comfort of their own homes. For many years, software teams have been composed of engineers and developers working together from different countries and multiple time zones. The COVID-19 pandemic has only accelerated these trends—and made them a permanent feature of the software engineering career path.

Learn about the Computer Science Master’s Degree Program at Harvard Extension School.

What Skills Will I Need as a Software Engineer?

Software engineers need strong technical and programming skills. They must have foundational knowledge of advanced mathematics, engineering principles, and multiple computer languages.

Soft skills are equally important, however. For software engineers who are interested in moving beyond writing code, strong research, collaboration, and communication skills are a must. 

And as technologies evolve and advance rapidly, you’ll also need critical thinking skills, the ability to master new technologies quickly, and the flexibility to learn new programming languages.

Knowledge of Data Structures and Algorithms

Data structures (ways of organizing data in a virtual system) and algorithms (sequences of steps required to transform an input into the desired output) form the foundation of every software system design. Together, they enable computers to find and retrieve information as quickly and as efficiently as possible.

To design effective software programs, engineers must have thorough knowledge of the different types of data structures. They must also have a strong foundation in mathematics in order to understand—and develop—the required algorithms.

Programming Skills in Multiple Computer Languages

Software engineering requires strong programming and coding skills. Therefore, software engineers must be fluent in multiple computer languages.

Some of the most common computer languages used in software development include:

  • Structured Query Language (SQL)
  • C / C++ / C#

Not every software developer must know every language. Web developers, for instance, are likely to work primarily in JavaScript, HTML, and CSS. Engineers working in data are more likely to rely on SQL and Python.

Other computer languages include Rust, Perl, and Go. These languages are newer and less frequently used. However, they are examples of how computer languages evolve quickly. Software engineers must be prepared to learn new languages throughout their careers.

Knowledge of Engineering and Design Principles

Software engineers must have extensive knowledge of design principles used to create software systems. This is especially true for individuals seeking to move from entry-level developer roles into senior positions.

One of the most common design methodologies in software engineering today is object-oriented design (OOD). Object-oriented design helps ensure software programs are flexible, simpler to write, and easier to adapt and maintain over time.

Agile Project Management

While project management skills are not absolutely required to become a software engineer, project management is important for anyone seeking to move into a leadership role. 

Most software development projects are managed through Agile project management. It’s a flexible and iterative approach in which large projects are broken down into small tasks and organized into two-week “sprints”. 

Understanding the software development lifecycle and managing software development projects through Agile is critical for individuals who hope to advance their careers into senior-level roles.

Soft Skills 

Soft skills can be just as important as technical and project management skills for successful software engineers. 

Research skills, critical thinking, and problem solving, for instance, enable engineers to explore different potential design options and select the best one for each project. 

The ability to work collaboratively as part of a team is also critical. Software systems are often large and complex. An individual engineer may work on a single aspect of the system, which must then integrate seamlessly with the rest of the system.

Excellent communication skills enable software engineers to work closely with executives and clients. This is important for gathering requirements, defending design decisions, managing teams of engineers, and coordinating with other teams to create a unified system.

While these skills aren’t necessarily taught in the classroom like technical skills, they are developed over time in both school and the workplace. They can be an important driver in your career path.

Do You Need a Degree to be a Software Engineer? 

Most software engineers in the United States have an undergraduate degree, usually but not always a bachelor of science (BS) degree. Many senior-level engineers and engineers seeking to move into a management role also have a master’s degree. 

It is possible to start your career in software without a formal degree. Undergraduate certificates in coding and web development and coding bootcamps can give you the basic programming skills you need to get an entry level role as a software developer or web developer. 

However, alternate educational paths like these are less likely to offer the foundational math, design principles, and other technical skills you’ll need to advance your career. Moreover, engineers with formal degrees are more likely to have a higher starting salary and advance their careers more quickly.

Degree Requirements

While one or more formal degrees are recommended for a career in software engineering, there are many possible degree pathways. 

A degree in software engineering is, perhaps, the most obvious choice for individuals seeking a career in software. 

However, degrees—both graduate and undergraduate—in computer science, applied mathematics, electrical engineering, and data science, for example, may also lead to successful careers in software engineering. 

A common degree pathway today is an undergraduate degree in a broad field such as computer science, followed by a master’s degree in a more specialized field like software engineering, data science, or cybersecurity depending on your interests and desired career path.

Software Engineering Courses

Most software engineering and computer science degree programs require similar foundational courses.

You’ll be required to demonstrate strong knowledge of math through courses such as linear algebra, calculus, and discrete mathematics. You’ll study today’s most common programming languages and methodologies. And you’ll learn basic knowledge of operating systems, data structures, and algorithms.

If you choose to pursue a degree in software engineering, you’ll take courses focused on advanced data structures , software design principles , and software architecture , for instance. 

You may also choose to specialize in specific applications, such as networks or embedded systems, cybersecurity, machine learning, or even artificial intelligence.  

Is Software Engineering a Difficult Degree to Get?

The coursework required to complete one or more degrees in software engineering can be challenging. 

You may find it easy to master multiple computer languages but struggle with the advanced math courses. Or you may feel at home in the world of algorithms but find you don’t have an eye for front end website design. 

The good news is that most students need help at one or more times throughout their educational journey. And most universities have support structures in place to help you succeed. 

Take advantage of office hours to get extra help from your professors and teaching assistants (TAs). Form study groups with fellow students. Ask if your school has a tutoring program or a resource center where you can make an appointment to get assistance on challenging assignments—most do. 

How Long Does it Take to Get a Software Engineering Degree?

For most students in the United States, the traditional route to an undergraduate degree is attendance at a four-year college or university. If you choose to continue your education full-time, a master’s degree can take an additional two years.

However, this traditional route is by no means the only route to a career in software engineering, or even the best one for many people. 

You may choose to start working immediately after completing your BS, then pursue a master’s degree part-time while continuing to work full-time. In this case, how long it will take to finish your degree will depend on how many classes you take each semester and whether you take time off between semesters.

What is the First Step I Can Take to Become a Software Engineer?

Software engineering can be a rewarding—potentially lucrative—career choice. 

There are many different pathways to take if you choose to pursue software engineering; where you start will depend on your personal background and existing knowledge base.

If you have an undergraduate degree and basic computer programming skills, a master’s degree in computer science offers the specialized knowledge you need to take the next step in your career as a software engineer.

Want to learn more? Ready to get started?

Connect with an enrollment advisor today.

About the Author

Digital Content Producer

Emerson is a Digital Content Producer at Harvard DCE. She is a graduate of Brandeis University and Yale University and started her career as an international affairs analyst. She is an avid triathlete and has completed three Ironman triathlons, as well as the Boston Marathon.

How to Become a Physician Assistant

Physician assistants are integral members of the healthcare industry. Here's how to become one.

Harvard Division of Continuing Education

The Division of Continuing Education (DCE) at Harvard University is dedicated to bringing rigorous academics and innovative teaching capabilities to those seeking to improve their lives through education. We make Harvard education accessible to lifelong learners from high school to retirement.

Harvard Division of Continuing Education Logo

can i do phd in software engineering

Explore your training options in 10 minutes Get Started

  • Graduate Stories
  • Partner Spotlights
  • Bootcamp Prep
  • Bootcamp Admissions
  • University Bootcamps
  • Coding Tools
  • Software Engineering
  • Web Development
  • Data Science
  • Tech Guides
  • Tech Resources
  • Career Advice
  • Online Learning
  • Internships
  • Apprenticeships
  • Tech Salaries
  • Associate Degree
  • Bachelor's Degree
  • Master's Degree
  • University Admissions
  • Best Schools
  • Certifications
  • Bootcamp Financing
  • Higher Ed Financing
  • Scholarships
  • Financial Aid
  • Best Coding Bootcamps
  • Best Online Bootcamps
  • Best Web Design Bootcamps
  • Best Data Science Bootcamps
  • Best Technology Sales Bootcamps
  • Best Data Analytics Bootcamps
  • Best Cybersecurity Bootcamps
  • Best Digital Marketing Bootcamps
  • Los Angeles
  • San Francisco
  • Browse All Locations
  • Digital Marketing
  • Machine Learning
  • See All Subjects
  • Bootcamps 101
  • Full-Stack Development
  • Career Changes
  • View all Career Discussions
  • Mobile App Development
  • Cybersecurity
  • Product Management
  • UX/UI Design
  • What is a Coding Bootcamp?
  • Are Coding Bootcamps Worth It?
  • How to Choose a Coding Bootcamp
  • Best Online Coding Bootcamps and Courses
  • Best Free Bootcamps and Coding Training
  • Coding Bootcamp vs. Community College
  • Coding Bootcamp vs. Self-Learning
  • Bootcamps vs. Certifications: Compared
  • What Is a Coding Bootcamp Job Guarantee?
  • How to Pay for Coding Bootcamp
  • Ultimate Guide to Coding Bootcamp Loans
  • Best Coding Bootcamp Scholarships and Grants
  • Education Stipends for Coding Bootcamps
  • Get Your Coding Bootcamp Sponsored by Your Employer
  • GI Bill and Coding Bootcamps
  • Tech Intevriews
  • Our Enterprise Solution
  • Connect With Us
  • Publication
  • Reskill America
  • Partner With Us

Career Karma

  • Resource Center
  • Bachelor’s Degree
  • Master’s Degree

Best Online Doctorates in Software Engineering: Top PhD Programs, Career Paths, and Salary

Software engineering is a growing field with immense potential. Most of best jobs in America, such as data scientist, Java developer, or cloud engineer, require solid software engineering skills. With the best online PhD in Software Engineering, you can learn the most advanced skills and get a competitive salary.

An online PhD in Software Engineering allows you to learn essential skills while working a part-time or full-time job. This degree is advanced, flexible, and lets students study at their own pace. In this career guide, we will tell you how to pursue a software engineering PhD online. You will also learn about the highest-paying software engineering jobs.

Find your bootcamp match

Can you get a phd in software engineering online.

Yes, you can get a PhD in Software Engineering online. Many universities offer flexible PhD programs for students and working professionals interested in online learning. Prospective students can design their program and make their study plan with the help of a university counselor.

You can either get a PhD in Software Engineering or enroll in a PhD in Computer Science that offers a software engineering concentration. Most online PhD programs require students to complete the core coursework and work on independent research. Many universities also provide specialized online PhD programs in big data, information, and computer systems.

Is an Online PhD Respected?

Yes, an online PhD is respected. Students with an online software engineering PhD learn the exact same skills as an in-person student while gaining work experience. Some employers might even prefer these candidates. Like a traditional doctoral program, students enrolled in an online PhD have to work on intensive research and complete their dissertation.

As many as 200 accredited institutions offer online doctorate programs in the US. Hence, online PhDs are gaining popularity each year. Employers have also started focusing on hiring skill-based talent because of the growing demand for software engineers.

What Is the Best Online PhD Program in Software Engineering?

The best online PhD program in software engineering is offered by North Dakota State University. Admission to this program requires a solid understanding of high-level programming languages. Both bachelor’s and master’s graduates with a GPA of 3.25 or higher can enroll in this program.

Why North Dakota State University Has the Best Online PhD Program in Software Engineering

North Dakota State University (NDSU) has the best online PhD program in software engineering because students learn modern software development. This guarantees that their education covers in-demand skills. Further, NDSU is an R1 classified research institution, which means it offers top-of-the-line resources to its PhD students.

Best Online Master’s Degrees

[query_class_embed] online-*subject-masters-degrees

Online PhD in Software Engineering Admission Requirements

The admission requirements for an online PhD in Software Engineering include a bachelor’s or master’s degree from an accredited institution in software engineering or a related field. A minimum GPA of 3.0 is the standard minimum. Prospective students need to submit a statement of purpose or personal essay, letters of recommendation, and official transcripts.

Students may have to showcase work experience and demonstrate their ability before a committee to get admission into the program. Some programs might require students to submit a research proposal. Each program is different, so please review each school’s requirements carefully.

  • Bachelor’s or Master’s Degree in Computer Science or a related field from an accredited institution
  • Relevant work experience
  • A minimum GPA of 3.0 on a scale of 4.0
  • Letters of recommendation
  • Personal essays or statement of purpose

Best Online PhDs in Software Engineering: Top Degree Program Details

School Program Estimated Length
Aspen University Doctor of Science in Computer Science N/A
Auburn University PhD in Computer Science and Software Engineering 4 years
Colorado Technical University PhD in Computer Science 3 years
Dakota State University PhD in Information Systems 7 years
Mississippi State University Doctor of Philosophy in Computational Engineering 5 years
Nova Southeastern University Doctor of Philosophy in Computer Science 3-6 years
Texas A&M University Online Doctor of Philosophy in Interdisciplinary Engineering 3-6 years
The George Washington University PhD in Systems Engineering 4-6 years
University of Fairfax Doctorate in Software Development N/A
Wright State University PhD in Computer Science and Engineering N/A

Best Online PhDs in Software Engineering: Top University Programs to Get a PhD in Software Engineering Online

The top university programs to get a PhD in Software Engineering online enable students to get transferable skills. Such programs are highly flexible and offer excellent learning resources. To help you get started, we’ve created a list of the best online PhDs in Software Engineering. All of these programs are offered by accredited universities and offer quality education.

Aspen University is home to 5,424 students. Established in 1987, the school is known for its accessible education and affordable programs. Aspen University offers online doctorates in education, technology, and nursing.

Doctor of Science in Computer Science

Aspen University offers a 20-course Doctor of Science in Computer Science. Students get to choose their own capstone course alongside their core curriculum. The program focuses on research, algorithm design, and risk analysis.

Doctor of Science in Computer Science Overview

  • Accreditation: Distance Education Accrediting Commission
  • Program Length: N/A
  • Acceptance Rate: N/A
  • Tuition and Fees: $375/month

Doctor of Science in Computer Science Admission Requirements

  • Completed application
  • Statement of goals
  • Computer science experience
  • Master’s degree transcripts

Auburn University is among the best 50 public universities in the country , according to US News & World Report. Founded in 1856, it is a public land-grant research institution located in Alabama. It has 15 colleges and schools that offer more than 150 majors. The university saw a total enrollment of 31,526 in the year 2021-22. 

PhD in Computer Science and Software Engineering

Auburn University's PhD program teaches core computer science and software engineering subjects. PhD students can then choose a concentration in various fields, including artificial intelligence, machine learning, human-computer interaction, and data mining. 

The program is open for both bachelor's and master's graduates and offers teaching and research assistantships. Though, bachelor's graduates would have to spend more time studying prerequisite courses along with the program. 

PhD in Computer Science and Software Engineering  Overview

  • Accreditation: The Commission on Colleges of the Southern Association of Colleges and Schools
  • Program Length: 6-10 years
  • Acceptance Rate: 24%
  • Tuition and Fees: $630/credit

PhD in Computer Science and Software Engineering Admission Requirements

  • Online application form
  • Official university transcripts
  • Statement of purpose showcasing your interest in the program
  • Latest resume
  • Three letters of recommendation
  • Upload GRE scores

Established in 1965, Colorado Technical University (CTU) is popular for offering tech-focused virtual undergraduate and graduate degree programs. The university offers more than 80-degree programs and concentrations. Students can study engineering, big data analytics, cyber security, business, and management. 

PhD in Computer Science

CTU's PhD in Computer Science is a 100-credit hour program that teaches current computer science and information systems topics. Students gain strong research skills and understand research methods and design. 

Students will also work on intensive research projects and explore high-level design issues. Students can choose to study one of the three concentrations, Big Data Analytics, Cyber Security, and Information Assurance.

PhD in Computer Science Overview

  • Accreditation: The Higher Learning Commission
  • Program Length: 3 years (can be extended)
  • Acceptance Rate : N/A
  • Tuition and Fees: $598/credit

PhD in Computer Science Admission Requirements

  • Online application
  • Accredited baccalaureate degree 
  • A personal essay, if asked by the university
  • Doctoral interview

Founded in 1881, Dakota State University (DSU) is a public institution that offers 23 bachelor's degrees , four PhDs, and seven master’s degree programs. DSU has one of the most affordable PhDs in the field of computer science, with a fee of $464.90 per credit. About 74 percent of students receive financial aid annually. 

PhD in Information Systems

The PhD in Information Systems is an excellent choice for those who want to pursue a data-intensive industry career. The degree program offers an in-depth understanding of applications and research in information systems. The degree requires a total of 72 credits for graduation.

The university offers classes in three academic terms, fall, spring, and summer. A student with a master's degree can complete the degree within three years. Students who do not meet the admission requirements have to undertake foundational coursework. 

PhD in Information Systems Overview

  • Accreditation: Higher Learning Commission
  • Program Length: 3 years (full-time students) to 7 years
  • Tuition and Fees: $464.90/credit

PhD in Information Systems Admission Requirements

  • Baccalaureate degree from a regionally accredited institution
  • Master's Degree in Information Systems (MSIS) 
  • A minimum undergraduate GPA of 3.0 on a scale of 4.0 
  • Students may have to complete entry-level coursework before the program begins

Established in 1878, Mississippi State University (MSU) is one of the top 100 research institutions in the country. It has eight colleges that offer 160 degree programs, including 14 master's and 44 doctoral programs. MSU also offers 14 graduate certifications. The university enrolls more than 20,000 students every year. 

Doctor of Philosophy in Computational Engineering

If you are passionate about computational modeling in engineering, then MSU's PhD is an ideal option. This 72-credit program is an interdisciplinary doctoral program that allows students to pursue tech jobs in aerospace companies and energy, manufacturing, and healthcare organizations. Students learn parallel algorithms, software engineering, and applied mathematics. 

Doctor of Philosophy in Computational Engineering Overview

  • Accreditation: Southern Association of Colleges and Schools Commission on Colleges
  • Tuition and Fees: $514/credit

Doctor of Philosophy in Computational Engineering Admission Requirements

  • A bachelor's degree from a recognized university in the US or equivalent
  • Official university transcripts 
  • An online application as an unclassified student
  • A minimum grade of 3.0 on a scale of 4.0
  • Application fee
  • Statement of purpose
  • $60 application fee

Nova Southeastern University (NSU) is a private research university founded in 1964. It is located in Florida. The university has 18 schools, colleges, and centers that offer various programs. Students can study social sciences, law, business, allopathic medicine, optometry, physical therapy, and education. 

Venus profile photo

"Career Karma entered my life when I needed it most and quickly helped me match with a bootcamp. Two months after graduating, I found my dream job that aligned with my values and goals in life!"

Venus, Software Engineer at Rockbot

Doctor of Philosophy in Computer Science

NSU's PhD in Computer Science emphasizes solving real-world problems using artificial intelligence (AI) and information technology. It is a 66-credit, research-oriented program where students learn to develop innovative solutions. Students have to complete a dissertation in cyber security, software engineering, data science, computer systems, or AI. 

Doctor of Philosophy in Computer Science Overview

  • Accreditation: The Southern Association of Colleges and Schools Commission on Colleges (SACSCOC)
  • Program Length: 3-6 years
  • Tuition and Fees: $1,117/credit

Doctor of Philosophy in Computer Science Admission Requirements

  • Online application 
  • $50 non-refundable application fee
  • Bachelor's or a master's degree with a GPA of 3.20 from a regionally accredited institution
  • Official transcripts from all institutions
  • Personal essay
  • Three letters of recommendation 

Texas A&M University is one of the best universities in Texas. It has 17 colleges and schools that offer 175 master's and 92 doctoral degree programs. Students can study a wide range of business, agriculture, and engineering courses. More than 73,000 students are currently enrolled in undergraduate and graduate programs at the university. 

Online Doctor of Philosophy in Interdisciplinary Engineering

Texas A&M University offers a unique interdisciplinary PhD program that traditional universities don't usually provide. This program is an excellent option for those who want to research various engineering disciplines. The university offers pre recorded lectures to online students. It also offers library databases and writing centers to help students with their research. 

Online Doctor of Philosophy in Interdisciplinary Engineering Overview

  • Accreditation: The Southern Association of Colleges and Schools Commission on College
  • Tuition and Fees: $3,173/3 credits

Online Doctor of Philosophy in Interdisciplinary Engineering Admission Requirements

  • Bachelor’s or a master’s degree from an accredited institution 
  • $58 non-refundable processing fee
  • Official transcripts and records from all universities attended
  • Official GRE scores
  • Letters of recommendation  
  • Resume  

George Washington University was established in 1821. It offers more than 75 majors across a wide range of career fields. The university has a student-faculty ratio of 13:1 with an average class size of 29. Additionally, it has over 475 student organizations. 

PhD in Systems Engineering

This PhD program is divided into two phases and has four milestones. In this classroom phase, students gain an in-depth understanding of systems engineering. The classroom courses include discrete systems simulation, data analysis , knowledge management, advanced systems engineering, and research methods. 

Students focus on independent study and complete their dissertation during the research phase of the PhD. Distance-learning students must attend their classes virtually at a scheduled time. The program consists of 54 credit hours.

PhD in Systems Engineering Overview

  • Accreditation: The Middle States Commission on Higher Education
  • Program Length: 4-6 years (students who don’t meet the requirements within 4 years will receive a graduate certificate instead of a degree)
  • Tuition: $995/credit

PhD in Systems Engineering Admission Requirements

  • Transcripts
  • GRE exam scores (optional)
  • Application Fee

Fairfax University was established in 2002 after the events of September 9, 2001, and is considered a military-friendly school. The school allows students to earn their graduate degrees 100 percent online.

Doctorate in Software Development

This degree requires 62 credits for completion. Upon graduation, students will be able to solve real-world problems, provide database solutions, and design business development models. Students must complete a dissertation to earn their software development PhD.

Doctorate in Software Development Overview

  • Tuition and Fees: Total cost of $59,210

Doctorate in Software Development Admission Requirements

  • Minimum of 3 years of work experience
  • Master’s degree from an accredited institution

Established in 1964, Wright State University is a public university in Ohio. It consists of five colleges and two schools. Students can choose from 276 undergraduate and graduate majors. Some of the popular programs at the university include nursing, entrepreneurship, human resource management, and engineering.

PhD in Computer Science and Engineering

If you are passionate about learning hardware and software, then this PhD program is the perfect fit. The program allows students to focus on peer-reviewed publications, research programs, and technical concepts. They learn to research, design, test, and manufacture software based on computer science principles. 

PhD in Computer Science and Engineering Overview

  • Accreditation: Higher Learning Commission (HLC)
  • Tuition and Fees: $660/hour

PhD in Computer Science and Engineering Admission Requirements

  • Bachelor of Science or a Master of Science degree in computer science, computer engineering, or a related discipline from an accredited institution with a GPA of 3.3 or higher
  • Strong knowledge of high-level programming languages and data structures, computer organization, and architecture
  • Understanding of operating systems, calculus, probability and statistics, linear algebra, and discrete mathematics
  • $40 application fee

Online Software Engineering PhD Graduation Rates: How Hard Is It to Complete an Online PhD Program in Software Engineering?

It is extremely hard to complete an online PhD in Software Engineering. A PhD is the most advanced degree after postdoctoral programs and can take a long time to finish. Not only are PhDs lengthy, but they require students to conduct intensive research. It may take up to eight years to complete a PhD program.

As reported by Statista, only 2,414 candidates completed their PhD in Computer Science in 2020 in the United States. Before enrolling in a PhD program, you should consider the course load and outcomes of your chosen program to see if it fits you.

How Long Does It Take to Get a PhD in Software Engineering Online?

It can take anywhere between three to eight years to complete a PhD in Software Engineering. The average time to get a PhD in the United States is seven and a half years , according to Statista. To get a PhD, you have to complete the required credit hours, submit a research proposal and finish your dissertation.

Students can complete online PhDs in less time as their schedules can be customized according to the prospective student. How long it takes to complete a PhD also depends if a student is attending a part-time or full-time program.

How Hard Is an Online Doctorate in Software Engineering?

An online PhD in Software Engineering is very hard. It is an advanced degree that requires students to gain expertise in a technical subject. Students have to finish a rigorous course of 60-90 credit hours and must submit a dissertation. Often, students must pass a qualifying exam before starting their dissertation.

Online PhDs have more flexible schedules than on-campus PhDs. However, students are still required to spend a significant amount of time studying their core subject and conducting intensive research. Universities may need students to spend 25 to 50 hours a week to complete their PhD program in a reasonable amount of time.

Best PhD Programs

[query_class_embed] phd-in-*subject

What Courses Are in an Online Software Engineering PhD Program?

The courses in an online PhD in Software Engineering include advanced programming languages, machine learning, network design, artificial intelligence, network architecture, cyber security, cloud computing, and quantum computing. Software engineering has a wide range of subfields, so every university offers different coursework.

Main Areas of Study in a Software Engineering PhD Program

  • Machine learning
  • Artificial intelligence
  • Network design and architecture
  • Database management
  • Operating systems
  • Network architecture

How Much Does Getting an Online Software Engineering PhD Cost?

It costs $19,314 per year to get a PhD in Software Engineering, according to a 2018-19 survey by the National Center for Education Statistics (NCES). Students have to pay $12,171 per year to attend a PhD program at a public institution, while private institutions have an average tuition of $25,929.

Apart from the tuition, students enrolled in online PhDs also have to pay technology fees, application fees, and other online resources expenses. These expenses can significantly increase the total cost of the program.

How to Pay for an Online PhD Program in Software Engineering

You can pay for an online PhD program in software engineering through various financial aid options available at the university. Many universities offer grants, scholarships, loans, tuition waivers, teaching and research assistantships, and scholarships to doctoral students. Most schools recommend submitting the Free Application for Federal Student Aid (FAFSA) form.

It is challenging to find a university that offers a fully-funded PhD program. However, many universities provide tuition waivers for exceptionally talented students. Some universities also provide minimum tuition support, wherein students only have to pay a portion of the tuition fee.

How to Get an Online PhD for Free

You cannot get an online PhD in Software Engineering or any computer science-related subject for free. PhD programs are among the most advanced degrees. Universities have to provide excellent research facilities and online resources to help students conduct their research.

Many universities do offer fully-funded PhD programs in software engineering. However, those programs are on-campus degrees and require students to attend classes physically. You can also apply for scholarships, fellowships, and grants to afford the online PhD program.

What Is the Most Affordable Online PhD in Software Engineering Degree Program?

The most affordable online PhD degree program is the PhD in Computer Engineering by North Dakota State University. The cost per credit hour at NDSU for this program is $464,90. Though, you will also have several other expenses such as a technology fee, dissertation fee, and graduation fee.

Most Affordable Online PhD Programs in Software Engineering: In Brief

School Program Tuition
North Dakota State University PhD in Computer Engineering $405.18/credit
Aspen University PhD in Computer Science $450 per credit
Mississippi State University PhD in Computer Science $514 per credit
Capella University Online PhD in Information Technology $545 per credit
Dakota State University Online PhD in Information Systems $580.60 per credit

Why You Should Get an Online PhD in Software Engineering

You should get an online PhD in Software Engineering because it is a promising field with ample career opportunities. A PhD in Software Engineering can help you get a managerial or a leadership position that usually requires a lot of work experience. 

You will build strong research and problem-solving skills. You can become a researcher and help develop cutting-edge technologies to solve real-world problems. A doctoral degree is also an excellent way to showcase your hard work, passion, and dedication toward a specific field. 

Top Reasons for Getting a PhD in Software Engineering

  • Transferable skills. A PhD can help you gain transferable skills, which almost every employer desires in their employees. These skills can make you eligible for nearly every job in the software industry. 
  • Managerial position opportunities. Often, employers require someone highly experienced for a managerial position. You’re more likely to be considered for such positions if you have a PhD as it proves your dedication and expertise.
  • Specialization options. PhDs are an excellent way to understand a particular subject in-depth. You can gain expertise in data science, machine learning , or artificial intelligence and pursue a career in that field. 
  • Wide range of career opportunities. Many job opportunities are available only to doctoral graduates. Instead of having to climb your way up the work ladder, you can explore career opportunities and get a competitive salary right after graduation.

Best Master’s Degree Programs

[query_class_embed] *subject-masters-degrees

What Is the Difference Between an On-Campus Software Engineering PhD and an Online PhD in Software Engineering?

The difference between an online and on-campus software engineering PhD is the learning format. In an online PhD, students can design their study plan and customize the schedule as per their availability. However, on-campus PhDs have a strict schedule that students must follow.

Choosing whether to attend an in-person or online PhD program can be challenging. Here are some factors that can help you make an informed decision and choose the best software engineering PhD.

Online PhD vs On-Campus PhD: Key Differences

  • Flexible schedule. Online students can design and manage their schedules and do the coursework at their own pace. They can even talk to the university to extend the program timeline.
  • Network opportunities. On-campus students have a higher chance of networking with their peers, professors, and other working professionals. They also spend a lot of time with their professors conducting research. On the flip side, online students get to interact virtually with students from all over the world.
  • Greater diversity. Since the online program is available to everyone, there’s likely to be more diversity in the virtual classroom. Greater diversity can help in fruitful discussions and lead to innovative ideas.
  • Access to campus facilities. On-campus students have access to many campus facilities such as student welfare programs, research facilities, and career fairs. Although universities offer online learning resources, they are not as common.

How to Get a PhD in Software Engineering Online: A Step-by-Step Guide

A young student attending their online software engineering PhD courses.

To get a PhD in Software Engineering, you need to find and apply to a program that fits your personal and professional goals. Keep reading to learn how to apply, pass your qualifications, complete your coursework, and conduct your dissertation.

The first step to earning a PhD is to complete your Master's Degree in Software Engineering, Computer Science, or any relevant field. A master's degree is a mandatory requirement in most graduate schools. While studying for your master's, you can also finish some of the prerequisite courses required to get admission to a PhD program and shorten the duration of your studies.

After earning your master’s degree, you must choose an online PhD program and submit an application for admission. You have to fill out the admission form and submit any requested materials. Students often have to send their official GRE or GMAT scores . You also have to fulfill other requirements, such as submitting a statement of purpose and letters of recommendation. 

Students have to undertake a qualifying examination before starting the dissertation process. A qualifying exam is an oral representation to evaluate whether the student can conduct the required research. Some universities also ask students to present their research proposals at least two weeks before the examination. 

After enrolling in a PhD program, you must complete the required coursework. Many universities offer customized online PhD programs that allow students to choose core subjects and electives. Often, students have to finish 72 to 90 credits to gain a PhD degree which involves a lot of research. Students have to complete the required thesis hours to qualify for graduation.

The last and most challenging step to completing a PhD degree program is to work on a dissertation project. A doctoral dissertation is a research project where you test the theories and concepts of a subject of your choosing. Once you finish your dissertation, you will have to defend it in front of a committee to qualify for a PhD. 

Online PhD in Software Engineering Salary and Job Outlook

According to PayScale, a PhD holder in software engineering can annually earn anywhere between $77,000 and $182,000 per year . Software engineering is a vast field with immense career opportunities. Your salary depends on the place you’re living in, the skillset you possess, and your job role.

The US Bureau of Labor Statistics estimates a 22 percent employment growth for software developers, quality assurance analysts, and testers. This growth is considered much faster than average.

What Can You Do With an Online Doctorate in Software Engineering? 

With an online Doctorate in Software Engineering, you can get the best tech jobs such as IT manager, computer research scientist, machine learning engineer, and DevOps engineer. Computer science is a booming field that presents lots of promising career opportunities. You can also become a professor and teach university students.

We’ve prepared a list of the best-paying jobs in the tech industry to help you start your research about career outcomes. These mid-senior-level positions usually require higher education, such as a doctoral degree and work experience.

Best Jobs with a PhD in Software Engineering

  • Computer and Information Systems Manager
  • Computer and Information Research Scientists
  • Computer Network Architects
  • Software Developer
  • Database Administrator

Potential Careers With a Software Engineering Degree

[query_class_embed] how-to-become-a-*profession

What Is the Average Salary for an Online PhD Holder in Software Engineering?

According to PayScale, the average salary of an online PhD holder in software engineering is $103,000 per year in the United States. Computer science is a promising field that can offer various roles to PhD holders, which causes this number to fluctuate. Your annual salary may also depend on your position, location, and the skillset you possess.

Highest-Paying Software Engineering Jobs for PhD Grads

Online Software Engineering PhD Jobs Average Salary
Computer and Information Systems Manager
Computer and Information Research Scientist
Computer Network Architect
Software Developer
Database Administrator

Best Software Engineering Jobs for Online PhD Holders

The best software engineering jobs for online PhD holders require advanced skills and experience. We’ve created a list of the highest-paying jobs that online software engineering doctorates can get after finishing the degree program.

The primary role of such managers is to plan, direct, and coordinate all the activities related to a company's information system. They oversee the use of every technology used within a business. Since it is a managerial position, you must have advanced skills and experience to become an IT manager.

  • Salary with a Software Engineering PhD: $159,010
  • Job Outlook: 11% job growth from 2020 to 2030
  • Number of Jobs: 482,000
  • Highest-Paying States: New York, California, New Jersey, Washington, District of Colombia

If you are interested in research and love troubleshooting problems, you should become a computer scientist. Computer and information scientists are important because they can identify issues and develop innovative solutions. They work on developing new languages and software systems.

  • Salary with a Software Engineering PhD: $131,490 
  • Job Outlook: 22% job growth from 2020 to 2030
  • Number of Jobs: 33,000
  • Highest-Paying States: Oregon, Arizona, Texas, Massachusetts, and Washington.

A computer network architect is a skilled tech professional responsible for designing data communication networks. They are responsible for modeling, securing, and installing networks. They conduct research to develop new networking technologies to help fulfill organizational goals. To become a computer network architect , you need solid expertise in both business and technical skills. 

  • Salary with a Software Engineering PhD: $120,520
  • Job Outlook: 5% job growth from 2020 to 2030
  • Number of Jobs: 165,200
  • Highest-Paying States: New Jersey, Rhode Island, Delaware, Virginia, and Maryland. 

Software developers are primarily responsible for creating, testing, and managing software programs from scratch. They have an excellent mathematical aptitude and great problem-solving skills. Using those technical skills, they analyze issues and research troubleshooting methods. 

  • Salary with a Software Engineering PhD: $110,140
  • Number of Jobs: 1,847,900
  • Highest-Paying States: California, Washington, Maryland, New York, and Rhode Island.

Database administrators secure databases that can protect the confidential information of an organization. They can have multiple roles. For instance, they can work in a software development team to integrate databases and applications. They can also work with the management team to make an informed decision from business analytics.

  • Salary with a Software Engineering PhD: $98,860
  • Job Outlook: 8% job growth from 2020 to 2030
  • Number of Jobs: 168,000
  • Highest-Paying States: New Jersey, Massachusetts, Washington, New York, and Rhode Island. 

Is It Worth It to Do a PhD in Software Engineering Online?

Yes, it is worth it to do a PhD in Software Engineering online. An online doctoral program can help you gain the most in-demand skills without having to leave your job. Further, students also develop transferable skills that increase their chance of getting a high-paying job in any field.

The demand for software engineers is increasing every day, and every company requires software engineers to help them step into the digital world. That’s why software development employment is expected to grow 22 percent by 2030.

Additional Reading About Software Engineering

[query_class_embed] https://careerkarma.com/blog/software-engineering-career-path/ https://careerkarma.com/blog/software-engineering-bachelors-degrees/ https://careerkarma.com/blog/best-online-software-engineering-bachelors-degrees/

Online PhD in Software Engineering FAQ

A software engineer with a PhD can make a median salary of $103,000, according to PayScale. The salary of software engineers often depends on the job type, location, and skillset. A PhD can be an excellent way to develop an advanced skillset and prepare yourself for a senior position.

Yes, online PhD programs are valid in the US when they come from an accredited institution. Accreditation of an online university showcases that the program maintains a quality standard and provides a great learning environment. Most employers like Google, Microsoft, Meta, or Amazon hire online PhD graduates.

You can do an online PhD while working a job as these programs are highly flexible and can be personalized as per your career goals. Many programs are 100 percent online and don’t require students to go to classes. Additionally, you can talk to the university to schedule online lectures.

You can get an on-campus PhD in Software Engineering from Boston College, Columbia University, University of Alabama, Johns Hopkins University, and Cornell University. You can also consider the University of Illinois, Washington State University, and the Massachusetts Institute of Technology (MIT).

About us: Career Karma is a platform designed to help job seekers find, research, and connect with job training programs to advance their careers. Learn about the CK publication .

What's Next?

icon_10

Get matched with top bootcamps

Ask a question to our community, take our careers quiz.

Preeti Soni

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Apply to top tech training programs in one click

can i do phd in software engineering

Why a PhD In Any Subject Can Be Very Valuable in Software Engineering

6 transferable skills that are valuable in software engineering — even if your phd is not in computer science.

Matilde Aliffi

Matilde Aliffi

ILLUMINATION

I decided to do a PhD in philosophy because I wanted to learn more about emotions and rationality. I found exciting the prospect of becoming an expert in this topic, and potentially being able to contribute to the field. However, during the last year of PhD, I explored different career options beyond academia. I enrolled in an Introduction to Web Development course and fell in love with programming. And the day after I submitted my final version of the doctoral thesis, I started to work as a software engineer. At the time, the decision to change career path so drastically seemed quite a leap in the dark. I didn’t know what to expect. And I was afraid to waste the skills I developed during the doctorate. However, I am really amazed at how much the transferable skills acquired while doing a Ph.D. prepared me and are still helping me to grow as an engineer. I now want to inspire other researchers who are looking for a non-academic career to explore software engineering — even if they do not have a formal background in coding.

Enrolling in a doctorate programme is not just an opportunity to become an expert in a given subject area, but also to become a well-rounded researcher. Writing the thesis is only one of the activities a Ph.D. student usually does. A doctoral researcher may — among other things — be involved with teaching, presenting papers and posters at conferences, submitting papers to journals, organizing events, writing, editing research-related blog posts, reviewing papers and conference submissions, interviewing world-leading experts, engaging with outreach initiatives. These are very formative experiences as they allow researchers to acquire skills in different domains (see, for instance, the VITAE research framework ). And, it turns out, working as a software engineer gives the opportunity to put some of these skills into practice again — this time in a different context. Here there is a list of some key skills of well-rounded researchers that can be helpful in the software sector.

1. Research skills

The key ingredients of good research are a well-framed problem, a good understanding of the research context, and a sharp focus. Throughout the course of their Ph.D., students have the opportunity to improve their research skills, getting feedback from their supervisors and other researchers. This is valid also for programmers. Before starting to code, experienced software engineers ensure to understand the problem well, they need to know the context in which the problem arises and keep the attention focused on the research — avoiding rabbit holes.

2. Continuous learning

While doing a Ph.D., researchers need to be aware of the state-of-the-art in their domain of expertise. The field of research is usually constantly evolving and it is important to be up-to-date with the latest developments. This holds also for programmers. Technologies evolve very quickly and it is very important to keep updated on the latest developments and best practices. The 2020 HackerRank report shows that 60% of full-stack developers surveyed had to learn a completely new framework during the previous year. Regardless of the career level, learning something new will always be part of a programmer's job.

3. Teaching and mentoring

Often, Ph.D. students have the possibility to work as part-time teaching assistants or mentors. Being involved in teaching is great for developing empathy, and is also a perfect experience for practicing explaining complex concepts in a clear and accessible way. These are skills extremely valuable in the software sector. Software engineers are expected to transfer their knowledge to their peers. They need to document their work. And as they progress with their careers, they will be encouraged to be more involved with teaching and mentoring less experienced engineers.

4. Writing skills

Ph.D. students write regularly. They produce original content. And at the end of their doctorate, they deliver a thesis — which will be read, reviewed, and discussed in their final examination (viva). They learn to write clearly and logically. Programmers, too, write regularly. Besides writing code, they need to write documentation and reports. They need to communicate their changes to the stakeholders. Good writing skills will come in handy.

5. Public speaking

Doctoral researchers have often the opportunity to speak in public, presenting their work at conferences and in other contexts. Programmers do also need to present their work — often in internal meetings with product owners, their customers, and other professionals who may or may not have a technical background. And they may also present their work at conferences or in local developer communities. Previous experience with applying for conferences, and delivering talks in different contexts help.

6. Time-management

Ph.D. students need to manage their own research projects. They have a limited time to deliver their thesis, and they often work under tight deadlines. They learn to set SMART goals, set timelines, and track progress. This is important for programmers as well. Programmers will need to set goals and objectives for themselves and for their team. They need to prioritise their work and offer realistic time estimates about work delivery.

It might be objected that — after all — these skills are not core to software engineers — as coding skills are what makes someone a good engineer. I do not want to deny that the ability to write good quality code is crucial for being a good software engineer. However, good engineers have a skill-set that is way broader than their coding skills. The career development framework for software engineers at CircleCi, for instance, states that technical skills make up only 20% of competencies that they expect engineers to develop . Well-rounded researchers who lack a computer science background but are willing to change their career and learn to code could nonetheless discover that their previously acquired skills will be extremely useful.

And finally, a reminder for all PhDs: having a Ph.D., by itself, does not make you a great engineer. Your skills do. Doing a doctorate can be helpful for acquiring some of the soft skills that help programmers to thrive in this profession — but it is not the only way to develop these skills. In any case, if you do have a Ph.D. in a non-computer science degree and you want to move to the software sector, the skills you mastered in your studies will not go to waste.

Matilde Aliffi

Written by Matilde Aliffi

Philosopher turned software engineer. Avid Learner. Passionate about Rationality, DevOps and Cloud Architecture. PhD on the rationality of emotions.

Text to speech

Browse thousands of resources, organized by 90+ degree categories.

Art & Design

Business & management, criminal justice & legal studies, education & teaching, information technology & engineering, liberal arts & humanities, nursing & healthcare, social work & counseling & psychology, trades & careers.

Find the right degree from programs we are partnered with.

Earning a PhD in Software Engineering

Earning a PhD in Software Engineering

Getting a doctorate isn't always a slam-dunk career move. A PhD in software engineering can help you achieve your long-term goals… or curtail your earning potential. Or both!

Computer Science Programs You Should Consider

Tickle College of Engineering (University of Tennessee)

The University of Tennessee

Online master of computer science.

can i do phd in software engineering

Merrimack College

Master of science in computer science.

School of Systems & Enterprises (Stevens University)

Stevens Institute of Technology

School of Engineering (Tufts University)

Tufts University

School of Systems & Enterprises (Stevens University)

Master of Engineering in Engineering Management

A lot of research goes into software development , but that research and the people behind it are largely invisible. Most of us spend more time thinking about how innovative new software transforms how we work and play than about the innovators who develop the new visualizations, computational exchanges, programming techniques, and distributed networks that make it all possible.

The fact is, however, that some software engineers aren’t developers. They’re researchers, academics, strategists, and leaders—and often, they’re PhDs who took the road less traveled and specialized in software engineering instead of computer science .

There are hundreds of thousands of software engineers worldwide, and only a small percentage of them hold software engineering PhDs. This has nothing to do with the relative worth of the degree itself. If you’re interested in academia or research, or dream of changing the way software is created for the better, a Ph.D. in software engineering will help you do that. If, on the other hand, you love coding and solving problems with software—as many developers do—this degree probably isn’t for you.

In fact, if you seek a career in software engineering because programming is your passion, a PhD can hold you back. Your programming skills may get rusty in a PhD program because you’ll spend more time researching how other people code. Even if they don’t, some employers will still overlook your applications, assuming you’re overqualified to code.

Finally, if you’re looking at doctoral programs hoping an advanced degree will boost your salary, prepare for a rude shock. With a Master of Science in Software Engineering, you’ll earn about $104,000 . With a PhD, you’ll earn about $103,000 .

So, why do some people pursue this degree—an endeavor that can take five to seven years and reduce a person’s lifetime earning potential? The quick answer is that they’re not interested in tackling challenges by creating new applications, but rather in tackling challenges related to the very creation of software. They want to test their theories about software and how it is developed. They want to create entirely new infrastructures. In short, they want to be a part of pushing the software development landscape into its next evolution.

In this article about earning a PhD in Software Engineering , we cover:

What kinds of professionals pursue PhDs in Software Engineering?

What are the prerequisites for a phd in software engineering, which schools offer software engineering phds, what do students in doctoral-level software engineering programs study, do students in software engineering phd programs need to complete a thesis, is a software engineering phd the same as a computer science phd.

  • When is a PhD in Software Engineering worth it?

MS in Computer Science at University of Tennessee-Knoxville

You can earn your degree entirely online in as few as 24 months while working full-time.

Most people who pursue doctoral degrees in software engineering have a specific research area they want to explore. Their career goals typically involve working in research and/or teaching at the university level. They’re not thrilled by the idea of going into software development, where programmers often don’t choose what kinds of projects they work on or have to meet specific business goals with their software.

That doesn’t mean that students who earn PhDs in software engineering don’t go on to work in industry settings. However, when they do, they tend to be recruited into upper-level management or senior research positions by companies looking for specific niche-area expertise or someone to lead teams designing new technologies.

“I’M READY FOR A DEGREE!”

Explore these related degree programs.

University and Program Name Learn More
Online Master of Computer Science
Master of Science in Computer Science
Master of Science in Computer Science
Master of Science in Computer Science
Master of Engineering in Engineering Management

The admissions requirements for PhD in Software Engineering programs vary by school. At the University of California – Irvine , some students in the doctoral-level software engineering program enroll directly out of undergraduate programs in computer science or software engineering. Others have already earned a master’s degree in software engineering and amassed several years of professional experience. There are even students in the program whose academic and professional backgrounds aren’t in software development.

The very best PhD in Software Engineering programs, however, ask a lot of applicants. They need excellent test scores, recommendations from industry experts, publishing credits or patents, and years of not just professional experience, but professional “wins” that demonstrate their ability to think outside the box.

There aren’t that many PhD in Software Engineering programs in the US. Some of the best can be found at:

  • Boston University
  • Carnegie Mellon University
  • The University of Texas at Dallas

Do you need to go to one of the above universities to get the maximum benefit from a doctoral-level degree in software engineering, computer engineering , or a related field? Possibly. One commenter on the DEV boards had this to say about how choice of school can impact a career in software : “In the US, unless [a PhD is] from one of the top 10 universities ( Stanford University , MIT, etc.) I don’t think it will be a good ROI. The cost is quite high, and what you’ll learn is probably going to be a lot less useful to employers than someone who has three-to-five years of real-world job experience. The only reason I see to get this degree would be to have a career in academia.”

On the other hand, the adage “It’s all about who you know” applies in software development research. Some students choose PhD programs based not on the prestige of a university, but rather on the prestige of the advisors. Working with a notable faculty member can lead to professional opportunities and help you build a broad network that leads to collaborative projects, sponsorships, investors, and placements.

Every PhD program has a different core curriculum. Even so, students generally take advanced courses in:

  • Artificial intelligence and machine learning
  • Human computer interface design
  • Mining large software system data sets
  • Software architecture and design
  • Software comprehension and maintenance
  • Software re-engineering
  • Software requirements, verification, testing, and validation
  • The software development process

Beyond the core curriculum, most PhD in Software Engineering programs are designed to be highly customizable so students can pursue their own research. New PhD candidates work closely with a faculty member or graduate advisor to choose an area of specialization (e.g., software architecture, distributed systems, or cyber security ), design a class schedule, and eventually, select a dissertation topic. Throughout the program, adjustments can be made as a student’s interests evolve, or their research leads them down different avenues of exploration.

Most PhD students spend their time in these programs finding better, more efficient ways to develop large-scale or complicated systems or creating new categories of applications. According to The University of Texas at Dallas, some of the most common PhD research areas in software engineering are:

  • Requirements engineering
  • Multi-agent systems
  • Service-oriented computing
  • Software architecture
  • Software maintenance
  • Static analysis
  • Testing and verification

Most PhD in Software Engineering programs culminate in a thesis project. Before embarking on this project, students spend two to three years taking core courses, working as a teaching assistant, and doing part-time research. Some programs also require students to complete one or more summer internships. At the end of this period, students are expected to have a well-developed, original thesis concept. They spend the remaining years of the program fleshing out and researching that thesis. When ready, students defend their theses in the same kind of formal dissertation process found in other doctoral programs.

Most colleges and universities treat software engineering PhD programs as distinct from computer science PhD programs. Still, the line between them isn’t as clear as you might imagine. There’s significant overlap between these two disciplines, and you may be looking into both of these programs if you’re passionate about technology. Some schools even offer combined computer science and engineering doctorates.

In general, however, the PhD in Software Engineering is the better option if you’re more interested in designing applications that meet specific needs. If, on the other hand, you find the theories and principles that make computation possible more fascinating than their practical applications, the PhD in Computer Science might be the better choice.

Put simply, software engineering degrees are for people who want to build software, teach others to build software, or find ways to make software better. Computer science degrees are for people who want to explore and expand what computers are capable of.

Online Master of Science in Computer Science Software Engineering Concentration (no CS background required)

When Is a PhD in software engineering worth it?

That depends on what your short- and long-term goals look like. A PhD in Software Engineering will only boost your salary as much as an MS in Software Engineering , so if you’re looking into advance degrees because you want to earn more money, enrolling in a master’s degree program is probably the more sensible option. The same is true if you’re researching advanced degree programs because you want to be a more attractive job candidate. A master’s degree may actually help you more when you’re job hunting than a doctorate, and you’ll be qualified to apply for the same high-paying leadership positions whether you have an MS or a PhD.

There are, however, some job titles in software engineering that you can’t land without a PhD. These are usually research positions or roles with ‘principal’ in the title. You’ll also need a PhD to work in academic or research positions at colleges and universities, government laboratories, and innovation labs, and in jobs at high-profile companies like Google (which stands out among software companies for having the highest percentage of employees with PhDs ). If your career goals involve going down any of those paths, a PhD in Software Engineering is not only worth it, but necessary.

Opportunity aside, however, there’s one more reason you might enroll in a doctoral-level software engineering program. As you conduct your own original research in pursuit of a software engineering PhD, you’ll gradually become an expert in your field. As one StackExchange commenter put it in a post about what a PhD is good for in software , “You will end up knowing more about some small part of the world than any other person. You will stand in front of three or four people who are experts, sometimes world-renowned experts, and teach them about your work. When you walk in, those experts will be supervisor, examiner, ‘bosses’ of a sort, and when you walk out they will be your peers. You will learn a lot about one corner of computer science and a lot more about yourself and your capabilities. You will be confident being ‘the expert’ when required.”

How useful is this page?

Click on a star to rate it!

Since you found this page useful...mind sharing it?

We are sorry this page was not useful for you!

Please help us improve it

How can this content be more valuable?

Questions or feedback? Email [email protected]

About the Editor

Tom Meltzer spent over 20 years writing and teaching for The Princeton Review, where he was lead author of the company's popular guide to colleges, before joining Noodle.

To learn more about our editorial standards, you can click here .

You May Also Like To Read

From financial services to manufacturing, industries across the board need highly skilled AI experts. But is the AI salary increase worth the money, time, and effort you’ll need to invest to earn your AI master’s?

How Much Can I Make as an Artificial Intelligence Professional?

From financial services to manufacturing, industries across the board need [...]

It's true, you can get a cushy tech job by staying up all night drinking Monster and watching YouTube videos about how to code. However, earning a Master of Science in Computer Science is a great way to boost your earnings and land an even better position.

How Much Will You Make With a Master's in Computer Science?

It's true, you can get a cushy tech job by [...]

Money is math and math can be money, but think carefully before you enroll in a master's in quantitative finance program. If you're looking for big finance bucks, significant experience at a top tech or finance firm can be more valuable than any degree.

How Much Will You Earn with a Master's in Quantitative Finance

Money is math and math can be money, but think [...]

PhDs in many disciplines work almost exclusively in academia. Not so with Computer Science PhDs, whose expertise is in demand throughout the tech world and in tech-dependent businesses as well. No matter where you wind up, you should pull a healthy six-figure salary.

How Much Will You Earn With a PhD in Computer Science?

PhDs in many disciplines work almost exclusively in academia. Not [...]

Tech degrees can get you far in information technology management, but an MBA can provide the leadership and management skills that distinguish you among other prospective IT managers.

Information Technology MBA Jobs and Salaries

Tech degrees can get you far in information technology management, [...]

Categorized as: Computer Science ,  Engineering ,  Information Technology & Engineering

  • Computer Scientist
  • What Can I Do With A Masters In Educational Leadership?...
  • How To Become A Kindergarten Teacher
  • Master's Degree in Network Engineering

COMMENTS

  1. Best Ph.D. Degrees in Software Engineering

    A bachelor's degree or a master's degree in computer science or a related field. Proficiency in software engineering with at least 18 credits in the field. A GPA of 3.0 or better (some schools require a 3.5 minimum) Programming skills in multiple languages such as C++, C#, or Java.

  2. Software Engineering (PhD)

    The University of Arizona's College of Engineering has launched the Software Engineering PhD degree in response to the high demand for individuals trained in the software engineering discipline. The degree program is critical in driving student success in a rapidly changing world and tackling essential problems at the edges of human endeavor.

  3. Ph.D. Software Engineering

    The software engineering Ph.D. program offers students the opportunity to tackle these challenges, whether it is through designing new tools, performing studies of developers and teams at work, creating new infrastructures or developing new theories about software and how it is developed. No fewer than six faculty members bring a broad range of ...

  4. PhD in Software Engineering Programs

    Software Engineering PhD Programs: Your Degree Options PhD in Software Engineering. A PhD in software engineering has a two-fold purpose. It hones your ability to engineer efficient and practical software systems. But it also challenges you to consider the theories behind software development, study its applications, and develop new tools.

  5. Software Engineering PhD Program

    Website for the software engineering PhD program in the School of Computer Science at Carnegie Mellon University. ... Our Ph.D. program in Software Engineering seeks to educate the next generation of high-impact software engineering research, development, and educational leaders who will solve the problems associated with building large-scale ...

  6. PhD programmes in Software Engineering

    Computer Science and Engineering. Ph.D. / Full-time, Part-time / On Campus. 4,886 EUR / year. 3 years. The Hong Kong University of Science and Technology Hong Kong, Hong Kong (SAR) Ranked top 0.5%. Top 0.5% of Universities worldwide according to the Studyportals Meta Ranking.

  7. Best PhDs in Software Engineering

    When applying for the same position, a PhD graduate can bargain for a higher salary with their advanced knowledge and skills. However on average, according to PayScale, a software engineer with a master's degree earns, on average, $111,000 per year, while a software engineer with a PhD in the field earns $103,000, annually.

  8. Doctor of Philosophy in Software Engineering

    Doctor of Philosophy in Software Engineering | UT Dallas

  9. PhD Software Engineering Requirements

    Pre-Candidacy Course Requirements. Students must complete the software engineering core courses (SWE 211), five elective courses and at least three quarters of individual study and/or thesis supervision courses. Students must take additional courses of their own choosing, or additional individual studies, so to fulfill 48 credits before ...

  10. Software Engineering, Ph.D. < University of California Irvine

    2. Complete five Software Engineering electives. 1. 3. Complete at least three quarters of individual study and/or thesis supervision courses. 4. Students must complete additional courses of their own choosing or additional individual studies, in order to fulfill 48 units before advancement to candidacy.2.

  11. Your complete guide to a PhD in Software Engineering

    Software Engineering topics include: computer programming, algorithms, data structures, human-computer interaction, web development, software project management, architecture and operating systems, security and usability, social responsibility and ethics, etc. Software engineers usually work in teams. They can take on different types of ...

  12. The Hitchhiker's Guide to Research Software Engineering: From PhD to

    The Hitchhiker's Guide to Research Software Engineering: From PhD to RSE. In 2017, the twilight days of my PhD in computational physics, I found myself ready to leave academia behind. While my research was interesting, it was not what I wanted to pursue full time. However, I was happy with the type of work I was doing, contributing to ...

  13. What is a Ph.D. good for in the software industry?

    6. Grad school is worth it when you plan to have a career in the academic field. For typical employment in software development, grad school is not a requirement at all. It would benefit you in the sense that you'd likely get more interviews thanks to a Ph.D. looking pretty impressive on your resume.

  14. Software Engineering PhD Projects, Programmes & Scholarships

    A PhD in Software Engineering opens up a wide range of career opportunities. Graduates can pursue careers in academia, industry research labs, or leading technology companies. As a software engineering researcher, you can work on developing new algorithms, improving software development processes, or designing innovative software solutions. ...

  15. Software Engineering

    Students must successfully complete the following program requirements: Equivalent of 4 one-term (half course) graduate courses in Computer Science, Software Engineering, or relevant areas of Engineering or Mathematics. At most two courses can be from outside the department, all must be at the 700-level.

  16. How to Become a Software Engineer

    How to Become a Software Engineer

  17. Which Universities Offer a Doctorate Degree in Software Engineering?

    The PhD program in software engineering at North Dakota State requires the completion of an advanced development project that involves designing and creating a piece of software. Other courses in the program cover topics such as software project planning, debugging and testing, complexity methods and distributed applications. ...

  18. PhD programmes in Software Engineering in United States

    Find the best PhD programmes in the field of Software Engineering from top universities in United States. Check all 19 programmes. Explore; Decide; Apply; Explore. View disciplines. ... Computer Science and Software Engineering. Ph.D. / Full-time / On Campus. 31,245 EUR / year. 4 years. Auburn UniversityAuburn, Alabama, United States. Ranked ...

  19. Best Online PhDs in Software Engineering

    The best online PhD program in software engineering is offered by North Dakota State University. Admission to this program requires a solid understanding of high-level programming languages. Both bachelor's and master's graduates with a GPA of 3.25 or higher can enroll in this program.

  20. Why a PhD In Any Subject Can Be Very Valuable in Software Engineering

    6 transferable skills that are valuable in software engineering — even if your PhD is not in computer science ... for a non-academic career to explore software engineering — even if they do ...

  21. Earning A PhD In Software Engineering

    Most PhD in Software Engineering programs culminate in a thesis project. Before embarking on this project, students spend two to three years taking core courses, working as a teaching assistant, and doing part-time research. Some programs also require students to complete one or more summer internships.

  22. Ph.D in Software Engineering in United States

    Computer Engineering. Ph.D. / Full-time / On Campus. 25,914 EUR / year. 2 years. University of Tulsa Tulsa, Oklahoma, United States. Ranked top 5%. Top 5% of Universities worldwide according to the Studyportals Meta Ranking.

  23. Software Engineering in United Kingdom

    Why Study Software Engineering in United Kingdom. Studying Software Engineering in United Kingdom is a great choice, as there are 12 universities that offer PhD degrees on our portal. Over 551,000 international students choose United Kingdom for their studies, which suggests you'll enjoy a vibrant and culturally diverse learning experience ...