I'm an engineer who has worked at non-profits for several years and have maintained top skills. The answer is- your long term earnings will absolutely be reduced, though not for the already cited reasons.<p>Essential books to read before going into the non-profit space:<p>* With Charity For All - Ken Stern<p>* Doing Good Better - Bill MacAskill<p>Also, read SSIR, it has the best coverage of emerging trends in the non-profit space:<p><a href="http://ssir.org/" rel="nofollow">http://ssir.org/</a><p>The short answer is- if income is important to you, marginally to significantly more important than impact, DO NOT work for a non-profit. If impact is of marginal to secondary importance, then contribute money and time in accordance with the emerging analytics that Bill MacAskill talks about.<p>If impact is most important, and income is not, then by all means work for a non-profit, but remember that mission comes first, second, third and fourth.<p>==<p>There are very, very few non-profits that are using technology in any of the ways that resemble tech-focused big shops or startups, because at this stage there are very, very few non-profits whose funding streams are dependent on specific details of technology deployment.<p>There are (to my eyes) huge opportunities for technical innovations like data analytics, APIification, and many others to transform the non-profit space, but these transformations will be years in the making. The space moves very, very slowly.<p>So, at a non-profit, you may maintain skills, and you can often be paid a fairly equivalent salary, but all sorts of other income, practice, and leadership opportunities will pass you by.<p>* bonus<p>* equity<p>* quantitative management<p>* developing for the customer<p>* etc<p>Once you have more of your life-course settled, with life partners and kids and living situation and so forth- by all means go work for a non-profit.<p>I DO NOT recommend it for junior engineers.