It's worth pointing out that certain normal business practices can feel unethical to us (programmers) because of conditioning.
For instance, a good deal in business is one where you all a good for more than it costs.
If you were a freelance developer, that might mean charging a large amount for a feature of high business value because you know the client will pay, even though it doesn't cost you much to do.
Another aspect is information asymmetry. In the above instance, lieing about how many hours the feature would range to implement would be unethical for sure. But not saying how long it would take - charging for features and keeping the cost to implement to yourself - probably not.
Then we get to practices like subscriptions you expect people will forget to cancel (see every consumer facing sas), or building a platform with the intention it will be hard to leave (no export or api = a moat = Facebook)
Are these unethical though? I think mostly not. You need a business model, and business models mean not running things like you are doing a favour for your uncle. I think the line is where you mislead or get your customer to do things potentialy against thier interests without telling them they are taking a risk.
"what you already have" is a meaningless metric. In 3rd grade I had a lot of toys and plenty of food that someone else bought. Trying to maintain this level of "having'ness" isn't sustainable since I would eventually become bored of my toys and my food providers would die leaving me hungry.
Find some meaning\goal and work to it. Trying to put a number or fixed value on something so nebulous is a waste of time.
Your own inner voice will tell you when you are being unethical and when you are merely benefitting from your experience or knowledge. Being unethical is not a grey area - almost everyone has an internal compass which can tell themselves in black or white (people know when they are self-justifying).
I would argue that you don't every need to cheat your own self to be successful.
If you want to be a successful bank robber, probably. Pirate, yeah, probably that too. If you want to be a successful hit man, smuggler, or drug dealer, you're going to have to bend some rules.
I think if you tell a different sort of story about what you're doing, that it's something worthwhile, and that success involves being a person that people can rely on... well, I don't think being unethical will help you much.
I suppose if you have enough power, people won't give a damn about your ethics. But I think if you can get to the middle without hurting a lot of people, you're going to be identified as one of the people the rest of the middle would like to have at the top.
Imho, No.
However it depends on what you mean for unethical... Talking about what is supposed to be our fiels (software engineering) i've been constantly in situations where "unhetical" developer sold the creepy code solutions cheap to customer who are not aware of the real cost in the long run, i tend to offer more professional solutions obviously less cheap and becausw i believe in honesty i explain the drawback of the cheapest solutions to the customer letting them to decide, in the long run i always got succesfull job-relations and mantain my own sense of hetic.
Absolutely not. Many people and companies are actually more successful because they don't take the road most traveled. It's refreshing to come in contact with someone trustworthy and ethical.
No, certainly not. In fact, I'd say it's much harder to be successful if you're not trustworthy or if you act inconsistently, which is what unethical behaviour boils down to because you're applying different sets of rules to yourself and others.
I'm not sure that there is any challenge presented by society against individuals who choose not to be selfish, but not respecting the selfishness and poor ethics of a group that considers you a member may as well be criminal.
For instance, a good deal in business is one where you all a good for more than it costs.
If you were a freelance developer, that might mean charging a large amount for a feature of high business value because you know the client will pay, even though it doesn't cost you much to do.
Another aspect is information asymmetry. In the above instance, lieing about how many hours the feature would range to implement would be unethical for sure. But not saying how long it would take - charging for features and keeping the cost to implement to yourself - probably not.
Then we get to practices like subscriptions you expect people will forget to cancel (see every consumer facing sas), or building a platform with the intention it will be hard to leave (no export or api = a moat = Facebook)
Are these unethical though? I think mostly not. You need a business model, and business models mean not running things like you are doing a favour for your uncle. I think the line is where you mislead or get your customer to do things potentialy against thier interests without telling them they are taking a risk.