We are currently facing the problem of deciding who should be the CTO. Up until now we have divided responsibilities and duties in the following way:
Since the roles we have are really different, I was wondering if it is necessary to elect a CTO.
No, a CTO isn't mandatory in any startup. As a matter of fact, a C-level anything isn't mandatory in a startup. The thing about a title is that it's just a title.
There's actually a lot out there about 'job title inflation' in a startup. I personally subscribe to the belief that it makes a lot more sense to build from the bottom up when it comes to titles. Did the people start the company together? Great--they're owners or co-founders. Did they come in later? great... they can have a title that reflects their job responsibilities.
As far as using fancier titles, I have personally gone with 'manager' only going to someone who has to manage people, and 'senior manager' manages other managers. I have only been involved in one business where it got to the level of needing to specify the company president, and then having 'directors' and the ones who were in charge of unique product lines/revenue streams for our business. To me, this makes a lot more sense, because then if you ever did get to having a CEO, he or she would be the one that manages the presidents of individual companies or business units. Other C-levels would be the ones that interacted with and supported the CEO on a daily basis.
I know it's a common incentive to get to be "Chief such and such" in a startup, and people argue that it's somehow reflective of where the company could go. But, as I argued above, a title is just a title and you really don't need to specify it.
If you're fighting about whether backend or front-end is more "chief", it sounds like your problem may actually be one around "who gets to have the final say". I'd say you either just call yourselves both CTO and be done with it, or else figure out whether the front-end or back-end of your operations are more critical. And then call yourselves something and move on with business.
If you're interested on reading more perspective on it, just type in "job title inflation in startups" into Google