The first company I worked for was small and provided no initial training of any kind. I did a lot of googling and customized the solutions I found in Google for the problems I had to resolve. This became a habit. I didn't learn best practices or Standards of coding or business process etc. Feeling that the next job could only be better, I treated this job like a chore.
After a year, I got an offer from another company, my current company, which was paying me awesomeness. This company is too small and also didn't provide me any training (not that they had any obligation).
I started learning on my own but I feel I am not up to the mark. I know small things about many things but not everything about anything in particular (Jack of all King of None). I don't know in and out of the system and I am always on guard of saving my reputation.
After having two years of experience all I know is 40-50 % of Python, 30-40% of (jQuery, HTML, CSS, SQL Queries, Apache, Django) each and how to install/uninstall Ubuntu.
I have two years of experience but I don't feel like I deserve what I am earning or what I am doing is up to the quality. What will happen after two more years. I will still be slapping solutions copied from Google and wont know in and out of something for sure.
I sometimes feel I should start all over again but I am afraid that no company will hire me and teach me best practices or standards after having TWO years of experience.
How to become expert if I don't have opportunity at my work to learn from more experienced peers?