Very difficult to answer, given that only one of the 3 terms you mentioned is a job title/role.
A
mainframe is a type of computer.
A
system administrator is someone who ensures that the "system" works correctly, where system can mean anything. You may have an administrator for a mainframe, you might have an administrator for a network of PCs, etc.
Middleware is the software that connects two systems (it sits in the middle).
You might work
on mainframe computers or on mini-computers, or on micro-computers (PCs). Stating this only tells us what size the computer is - not what your job is.
You might develop middleware software, or you might develop front end software, or you might develop back end software. You might administer any of those system. You might be an end-user of front-end software, or (less often) back end software. You would not normally be considered a user of middleware software (although you may be a consumer or producer to the middleware solution). You might be a system administrator of any of these systems.
I am wondering if you have some more context that you can provide that might make the sentence make more sense. For example, I could think of two questions that might be answerable (by you):
Do you prefer to develop software or administer systems?Do you prefer to work on back end systems, middleware, or front end systems?