How and when should you get a coding job?

Hi!

I'm a really passionate hobbyist programmer, i would really like to work as programmer but i don't know what and how should i do. I don't have any formal education, or experience in a company so i don't even know how to begin, what to say to get hired. and where should i ask. I'm able to produce functioning software ( but mostly i'm too shy to make it public because it know it's shit, and i know my faults ) . I tried to seek out people to make Games but that never went well, and eventually noting got done by anyone who wasn't a programmer. So I'd really like to do more than writing little programs for myself, what should I do?

Personally as I was transitioning into a professional career into programming I started making my own software professionally. Creating quality and good quality programs which people will start to pay a lot of attention to. Usually creating something notable is a good step towards a more professional side of your programming. It really helps with portfolio work when applying to somewhere which is more than a startup. (start ups are a great place to start as well)

Many start ups don't care about your education. A portfolio is far more important as it shows what you can actually do. 

The first thing I would say is just start your own company. Nothing crazy, just think of a name for your company and the software you have written is what your company makes. It does not matter if the software works or not. Next, write a resume. At the top of your resume, list all of the computer languages and applications you know well.

E.g.,

Languages: Java, Groovy, JavaScript, C++, Ruby

Applications: Apache, Tomcat, JBoss, Glassfish, Tuxedo, ExtJS, jQuery

Databases: MySQL, MongoDB, PostgreSQL

Next, list your company as your experience and give yourself a title of Software Engineer or Software Developer. Just list everything you have done software development wise as your experience. The first line of your experience should summarize what you accomplished.

E.g.,

Built a Java Application capable of processing X number of user request, or Delivered two successful releases of Y into production, or Increased performance of Z for 50%. Then just describe exactly what you did to build your software applications.

If you have a college degree list it. It does not matter what it is in. If not, don’t worry about it too much.

After you have completed your resume, just do job searches in your area and submit your resume. I am sure you will get requests for interviews.

When they start asking about your company during the interview process, tell them that you are really passionate about what ever software you have written and you felt the best way to create your product was to start your own company. Employers love that kind of motivation and ambition. When they ask you why you have decided to find another job instead of pursuing your company further, just tell them that were some stumbling blocks that you could just not get through. Something like not enough resources or capital, or too many issues working with remote developers. Just think of some problem that has stopped you from continuing the software you have built and use that.

If you are willing to move, I would just submit a bunch of resumes to companies in Silicon Valley and San Francisco. The Bay Area is booming right now. The key here is read the job description for the positions you are interested in and if you have done something similar, change your resume to match the description of what they are looking for. One thing to keep in mind is that some Startups may not be willing to fly you out for an onsite interview, even if they really like you during the phone interview. If you find this to be the case, tell them that you going to be in the Bay Area soon, try to schedule as many interviews as possible in a given time window and fly out on your own, if you can.