I definitely think that the career system and the class system should fit eachother.
But, do you need "Navy" and "Marine" as classes, or just roles/paths within Soldier? Soldier should be broadly defined in a way that includes most military fighting roles (with a few exceptions like spec ops people who might go with Scout or Explorer instead). Non-fighting roles can be handled by a different class, even if both roles are within the military (or even within the same service in the military). The class is the mechanic, the career (military vs merchant) and role (marine vs navy) are role playing descriptions that justify why you took a class level in Soldier vs a class level in Diplomat.
So, I see a set of Career rules that generate role playing description, and suggest to you a few choices in which class levels to take. (it's been way too long since I've looked at actual traveller rules to remember specific career mentions, so I'm being very general in my descriptions) So, the Career system tells you "You enlisted in the Marines", and then suggests to you to take a particular class (or a choice of 2 classes), and then says you should (or have to?) pick up a few ranks of a list of skills.
This keeps the system from having functional redundance. For example, a Cavalier, Fencer, Mercenary, and Thug are all roles that the D&D Fighter class can take. "Cavalier" "Fencing Master" and "Mercenary" are careers which suggest that you should have picked up levels in Fighter. If you're a "Cavalier", I would expect that you had picked up some levels in riding. I wouldn't necessarily have that expectation of a Fencing Master. Cavalier is the career, not the class.
Similarly, a Space Marine, Naval Commando, or Mercenary are all "fighting" roles, so all fit under the general catagory of "Soldier". The skill sets each might pick up would vary, but they can all be generally classified as Soldiers. So, when you enlist in the Navy, you might have been a fighter type (and thus taken a level in Soldier), or you might have been a technician type, or medical type, or science type. None of the last 3 fit under Soldier, so they'd be a different class, but still in the Navy career.
Similarly, a technician might have a military background or a civilian one, which one is really a matter of description and skills chosen, not class. But they both fit under a functional description of Technician or Engineer.
Being a Soldier with technical skills (what "Navy class with engineering skills" implies to me) seems more like an Infantryman who knows how to fix jeeps, as opposed to the jeep pool mechanic (Technician with military background). So I would lean toward a "Navy Engineer" being a Technician or Engineer class who has some military professional skills and feats (weapon and armor prof.) in addition to his technical skills.
(the other side of the coin is, why does a Navy Engineer have the same attack bonus and armor proficiencies and damage capacity as a Navy Commando (like the SEALs)? The guy who fixes the engine certainly has basic weapons familiarity, but he's not going to be as good with them as the commando. Class determins things like that difference.)
But, both are sound philosophies. I think my mindset fits a little bit more with how other d20 games have handled the concept of career vs class, but that doesn't meant it's necessarily better for Traveller.