I work at a tech company and have conducted about 50 technical interviews.
My overall advice is get a degree in CS, or at least take CS classes. If you already are doing a CS degree, consider a masters degree.
Be proactive in searching for jobs, e.g. reach out to professors, other contacts, and apply to jobs cold.
Be positive in interviews. Generally you should avoid negative statements, don't badmouth former professors or employers, focus on the positive. Study for interviews. Tech interviews, like all things, are a skill that can be learnt. I got so good before my own interviews that I had seen the majority of questions I was asked before.
A degree gets better results for less effort than being an open source "rockstar". One way to think about it is that if you want a good job, you have to somewhat tailor your efforts to job searching. Simply doing things you enjoy (coding) is inefficient.
I got my job after an internship that was partly thanks to a recommendation from a professor. The professor reached out to me because he wanted to use my project as an example of a good project. I then asked to meet up to discuss career advice, and that ended up with him giving me a recommendation for an internship.
You don't have to ask for anything unreasonable or unfair, but sometimes it's helpful to take the initiative.
Tech companies provide all 3, depending on how you define independent work. Certainly I don't have a manager breathing down my neck, but few people just go off on their own for months and do their thing: you have to work closely with other people and their schedules.
Hard to know what you mean here but real programming is somehwere between the nerd ideal of the "real hardcore programmer" and the SJW cliam that programming is mostly soft skills.
A typical nerd will learn soft skills on the jobs (which is a good thing in life) and this will greatly enhance their career. Some of these soft skills might be considered "soul crushing" e.g. I have to look after big internal clients and keep them happy. But when I see them passionately advocating my library, it's worth it. In my life it's been very positive to "win" against other people not just based on my technical skills but also my tenacity and communication skills.