This is not directly related to your question, but as someone who stepped from the corporate world to the non-profit world (medical research center affiliated with university hospital), I can say the pay is lower but the freedom is greater.<p>I'm more in charge of projects, trusted to make technical decisions and set direction, and seem to get more respect as a practitioner here.  Since I was a tech lead on a project in the big corp world, I can contrast the two similar experiences.  I'm just more autonomous here.<p>Downsides include a lack of user trust (previous software devs here tended to be a little tougher for people to deal with and were more prone to saying 'no' to requests).  University researcher mindset is historically aimed at having software dev done directly by a research team member rather than trusting a centralized IT team.<p>Good communication is more critical here.  Learning how to express ideas in multiple ways is much more important - I have to be able to both talk over an idea and present a visual display as well.  It is also assumed that you will understand a researcher's problem domain rather quickly, which is stressful, but fun.  You have to plan for a huge range of IT skills, from the person who can kind of use a browser to the self-taught SQL expert who I probably should just add to my team directly.