My contract says my title is software engineer, but titles don't mean much in a small company. Which I kind of like.
That said, I didn't study Software Engineering at university. And so, in almost 10 years in various roles writing software, this is the first one in which I've allowed this title to apply (previously I've had: Systems Analyst, Software Developer, Bioinformatics Technologist, Instrumentation Engineer, etc).
I also didn't study systems engineering (which is a real discipline responsible for remarkable achievements such as taming the complexity of massive systems such as modern airliners), but not that Systems Engineering, I mean the wishy-washy, everyone's-an-engineer sense of Systems Engineer as typically used in software land - that's what I think a more accurate title for my role would be.
I work on the hardware for our widget, as well as the user-facing software. I set up our automated build system that builds everything including our ARM Linux OS image, including kernel and bootloader. I established the production and Q/A checklists. I actually do some of the assemblies. I determine what components we use, and I work with real engineers to validate and test and update customer spec sheets accordingly. I answer questions like, "what kind of power system would let us get XX hrs runtime at YY% duty cycle".
I have a complete picture in my head of the product, its capabilities and limitations. When it goes wrong, at any level, I'm the one that has to fix it. I've never worked with a Systems Engineer at a big tech company but it seems as if this is the sort of scope they work with. Except they probably don't have to write the userland code as well :)