So, what is some of the most important things I should learn?
As a developer without a degree, the most important thing I learned is that most professional programmers are horrible. I worried tons about learning to program well, picking up theoretical CS stuff I missed, how would I work in a team...
It turns out, most of that stuff isn't really important once you have the job.
Most professionals can't program well at all. My hobby coding forced me to do more coding and more design than most professionals who sit in meetings and write a few lines to maintain an old app or plumb some data together.
Most professionals have either forgotten their theoretical CS education, or went to some podunk college that didn't teach it to them effectively in the first place.
And working in a team is pretty much like working with others doing anything else - don't be an asshat and you'll do fine.
"once you have the job" is the key problem though. If you have no degree (even in a non-CS field) it will be hard to get interviews, and harder to set yourself ahead of other candidates enough for someone to take the risk on you. Interpersonal networking is key here. If you know someone who can go to bat for you, or can verify that you're a good programmer that is your best approach. ...though it also helps to actually be a good programmer, so keep practicing hobby programming and don't worry too much about it being somehow inadequate.