&gt; You know if you are paid enough by learning what other offers you can get.<p>Yup.<p>Instead of pouring an excess of effort your energy into your job, perhaps above and beyond what you agreed to do as per your employment contract, pour your effort and energy into investigating and cultivating your other job prospects. See if other companies are willing to make you a decent offer. It may take a fair bit of time to find a company that really wants you, that you&#x27;d be willing to work for, and will make you a strong offer. You are in a good position to look for other options when you are not rushed and are not desperate - i.e. - when you are already employed. Once you have one or more offers on the table, then you are in an excellent position to either take the offer, or begin negotiating with your current employer for a raise to a level that is competitive with the offer.<p>If you go to your employer and say &quot;give me a 20% raise&quot; - or even &quot;give me a 20% raise because &lt;reasons why you are valuable&gt;&quot; without having first cultivated a strong alternative option, and they refuse, what are you going to do? Keep working for them at the same rate of pay?<p>A few resources that I found useful are:<p><pre><code>  * the idea of a BATNA - Best Alternative To Negotiated Agreement
  * the ever popular Patrick McKenzie&#x27;s salary negotiation advice
  * the book: &quot;getting to yes: negotiating agreement without giving in&quot; by Fisher, Ury and Patton.
</code></pre>
On a personal note, I&#x27;m finding it far more valuable to become better at business-y things than technical things at this stage in my own career, after spending years thinking about programming, mathematics, and technical things. I regret not doing this earlier.