A backend developer concentrates on backend technologies like PHP as well as MySQL and frameworks like Laravel or Symfony. A good backend developer produces readable, well documented code that is easy to maintain while keeping an eye on efficiency. A backend developer usually works as part of a team, rarely alone, as his output needs some styling.
A fullstack developer is in webdevelopment usually a developer who is a pro with common frontend technologies and frontend frameworks like Vue.js as well as backend/serverside technologies and frameworks like Laravel. Such a developer is usually a good fit for the development of smaller prototypes with a limited budget or acts on big projects as teamlead.
This member of the team designs all the little bits an pieces. He keeps an eye on the general look and feel and gives a platform its distinctive looks. He adds colour to the project and designs all the buttons, logos, lines, shades and defines with the frontend developer which output should appear how and where. He bases his work on the input he gets from the UX/UI designer. He usually kicks of when the UI/UX guys has finished
QA means Quality assurance and PM is project management. At smaller projects this can be the same person. The PM coordinates all the inner workings of the team and also is the core contact for you. The QA continously tests the app and identifies bugs - this person works intensly with the developers. Although those guys don't develop, they are crucial members of any dev team, as otherwise development hours are spend for the same tasks.
UX means User eXperience and UI stands for User Interface. Those skills are related, so it's usually combined. The UX/UI designer draws a simple representation of the whole project before the first line of code is written, every button and every function with all possible outcomes are being thought about. This allows to identify bottlenecks and possible complications so we can discuss that early on. We usually hire a UX/UI designer on a per project basis.