Being able to write up some bubble sort code off the top of your head might be impressive in a job interview, but it's about as useful as being able to recite the alphabet backwards in a second language. In short; you're never going to actually do it in real life.
The main difficulty I run into: people thinking because I don't have a degree means I can't do the job.
In point of fact, I can probably do it better than your average graduate because I know how to Google. Seriously. I have always held the notion that one of the most important skills one can possess is knowing how to learn their ways around problems. Crafting decisive search queries to get the most direct result is the key to success.
Let me illustrate this: ever been sitting behind someone as they Google something and been annoyed by the quality of their search query? That's likely because you're a better Googler than they are lmfao. You know that what they're typing isn't going to get you what you want, or at least not a quickly/directly.
For example:
When did Abraham Lincoln die?
Is terribly inefficient, lincoln death will produce nearly the same results and is a lot quicker to type. That's an extremely contrived example, but I hope you get the point I'm trying to make. Because I learned from Google, StackOverflow, and GitHub issues instead of a textbook, I'm going to beat you to the fix 9 times out of 10.
This irks me to no end. 98% of the code we write is using other people's code so a lot of times it's more important to be good at finding and then using other people's code than it is being able to reinvent the wheel yourself. And people don't understand how important that is, and that kills meh.