Thankfully 5e does away with all mechanical consequences of alignment, so these kind of discussions become more academical than substantial...
Personally, I think alignment should be descriptive. As in, player controls character's behavior, and over time, the DM corrects the character's alignment to reflect that behavior. Ergo, the character in question is Neutral Evil. (Not that I'd force him to change his character sheet. He can put anything on his sheet that he likes, but for game purposes, he's what I decide, based on his behavior)
I can very much agree with that. I would probably suggest the player to completely remove alignmnent from the character sheet.
Personally, contracts are lawful things. Contracts for killing may or may not be lawful, depending on who you got them for, how you do it and what the laws of the land are. Players kill things all day long and they're only the "good" guys because their foes are "bad" so obviously there are times when killing is good, just as there are times when it is bad. So it really depends on who you're killing and how you're doing it.
Unless the player has actually done something good I'd say he's lawful evil.
Well not really. Life is full of contracts, every job is a contract (written or not), if I have a house rent contract, does that make me Lawful? We sign contract because we have to, otherwise no job no house no medical care and so on. What would rather matter, is how this character thinks of those contracts. But even if the assassin respects all contracts, the real reason might be that it's
convenient for him to build a reputation of someone who carries out all assignments, so even in that case this doesn't make him necessarily lawful.
In general, lawfulness is quite a complex thing, depending on a lot of facets. Breaking contracts on a whim is a strong sign of unlawfulness, but the opposite i.e. respecting contracts is not necessarily a strong sign of lawfulness...
OTOH I agree with you that he's evil for sure.
I've always though of it as:
Good characters go out of their way to help people, with no reward necessary.
Neutral characters won't go out of their way to hurt or harm people, unless there is some reward.
Evil characters go out of their way to harm people, with no reward necessary.
This way of thinking is kind of the source of the problem. It might have to do with the fact that a lot of us gamers have mild OCD and are obsessed with symmetries, but this sort of symmetry in alignments just doesn't have anything to do with reality.
So we often also have the nonsense concept of "Neutral means half way between good and evil, or 50%/50%". Since when IRL you hear someone say "hey that guy did charity three times, so we should cancel his charges for three robberies"? It just doesn't balance out like that.
If you go with your definition of Evil, you are definitely in the "cartoon villain" area like Dausuul says. I am not saying you can't use these in your own fantasy game, but you must know that many players will expect a diffferent thing, so you have to clearly tell your players they should stop thinking of good/evil in the same way they
naturally do, because by your definition probably even Hitler amd Attila the Hun they were Neutral.
I disagree; this means evil is limited to "sadistic psychopaths and cartoon villains." An assassin who kills innocent people for money is evil by any sensible definition. A tyrannical warlord who claws his way to a throne and then holds power by terror and slaughter, is evil. If you watch the scene in "The Dark Knight" where the Joker confronts the mob bosses, everyone in that room would ping an AD&D paladin's evil-dar (or in the Joker's case, cause it to short out and explode).
I see it as:
Good will take risks or make sacrifices to help others.
Neutral neither sacrifices for others nor harms them.
Evil will harm others for its own gain.
This one is quite a lot better definition! "Neutral" pretty much means "normal" or "average". Good and evil acts don't cancel each other out, it's more complicated than that.