system
Given the following post, respond as if you're commenting on Reddit:
human
I've heard a few knowledgeable people say that formal education isn't really necessary to be hired as a programmer, so how would one of these people know when they are hirable?

My background: I code on and off for my math hobby, and have worked on personal projects in Python, JS, Haskell, and various scripting languages for  miscelueanous things. I've never made anything with a UI, but I'm fairly proud of the complexity of some of the algorithms I've been able to create and implement. I've never had my code reviewed but tend to make it look nice and enjoy writing comments.

Anyways, I was wondering what people look for when hiring. I'm sure the fact that I've never truly used GIT before is a problem, and the fact I have little experience optimizing. Also when I work for myself I can afford to get stuck for long periods of time and spend days googling; I know that's a big meme but how acceptable is that really? How important is optimizing? 

TLDR: I'm just not sure what separates a hobby coder from a hirable one.
gpt
Fundamentally, a job in software development is writing code to solve a companies problems. Because of this, the number one skill you will need to demonstrate to get an entry level position is the ability to produce solutions to problems.

In technical interviews this will come in the form of: here is a problem - write a solution.

In non-technical interviews this will come in the form of an interviewer asking you in depth questions about one or more of the projects you have listed on a resume. They will try to figure out the scope of a problem involved in your work and how you solved it.

Interviewers will consider other skills; programming languages, familiarity with version control (git / svn / whatever), frameworks that they use on the job, code samples (and how well they are documented), and so on, but these will all come second to the fundamental question of "can this person solve problems".

As to whether you are ready or not: can you convince an interviewer that you can solve interesting problems? If you can then finding a job will come naturally.