Ask HN:How do you avoid being a cog?
Can certain programming languages doom you to being a tool?What kind of education can you undertake to be truly independent ?
The best thing you can do for yourself is get familiar with most languages out there, and build a sense of generalism about yourself. If you're comfortable with learning new things, and have a portfolio to back it up, you can have enough options to avoid companies that places you in a "cog" position (If that's what you're looking for.)
The eduation you undertake to be truly independent is one you take part in every day for the rest of your life.