I have to decide on which branch of software engineering to focus my studies. In my institute, the branches are not fixed. Each student has the possibility to propose their branch. For example, I could propose to do my specialization in "learning machine". At the institute, there is no person who advises the student on what branches are currently available in software engineering. So I'm a little lost.

I wanted to ask if you can name me branches of software engineering that you know. On the internet I have not found much info about it.

I also appreciate advice on which branch is going to have a better long-term future.

Sorry for my English. I know it's a somewhat ambiguous question, but for me it's very important.

  • The title of your question says branches of computer engineering but your question says software engineering. These are very different things, which did you mean? – Austin Henley Mar 20 '17 at 16:04
  • Sorry, the translation of the title in my university is computer engineer. But I mean software engineering. – user60108 Mar 20 '17 at 16:19
  • 1
    You should check out current topics through trade publications such as ACM, IEEE, etc. Searching google for "Current topics in software engineering" will also get you some insight into current research topics (there is actually a topic on quora that might interest you). – scrappedcola Mar 20 '17 at 16:44
  • @bob-brown Why do you put my question on hold? I think the answers are more facts based than opinions. For me it is very important and I think this is the best site to recive some advice. – user60108 Mar 21 '17 at 15:10
  • 1
    The flagship conference in software engineering is ICSE (International Conference on Software Engineering). You can identify the current branches and "hot topics" of software engineering by looking at the ICSE 2017 conference program. – lighthouse keeper Mar 21 '17 at 15:45

There is no fine line that separates the subfields of software engineering and there is a lot of overlap. However, below is a list based on my experience in the software engineering research community (and you can find one or more credible conferences that focuses on each of these):

  • Formal methods
  • Program analysis
  • Software engineering process
  • Requirements engineering
  • Models
  • Automated software engineering
  • Software maintenance
  • Testing
  • Empirical software engineering
  • Human factors
  • Program comprehension
  • End-user software engineering

I'm sure there are more, but this should get you started.

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