I hope this is topic is appropriately placed, I am seeking advice regarding being a self-taught programmer and finding a job (apprenticeship in my case). I apologise for the long post but I would very much appreciate some opinions on my situation and answers to my enquiry after explaining myself to a good extent, even if I do stray off target I just want to give as much detail as I can in hopes of receiving the best advice for my situation.
I finished high school a while ago and have since been looking for IT apprenticeships, and already I have been in and out of two as a result of some unfortunate circumstances**, the latter ending little over a month ago. I have been very much into computing from a young age (about 12) and I believe myself to be a more than adequate programmer with quite widely ranging experience. Originally I learned OOP development, lots of java and later onto the C languages. I dabbled in a wide range of cyber security and got an understanding of not far from all the categories of tools available on some common pen testing OS’, which I first learned on Backtrack 5 r3 back when it came out. I think the first programming I learned was some HTML that always stuck with me, and then a while after being heavily into software development I thoroughly learned javascript, and since then from work experience and what I saw in my apprenticeships I have developed my full stack knowledge exponentially and felt just as confident doing web development. Throughout high school I was told by each of my computing teachers that I was very good at computing, and that the level of work I was at was exceptionally high. I recall learning how to make a simple game engine in java and some relatively simple full stack programming with XAMPP that I showed them, as well as knowing all the cool tricks used to impress those who don’t spend their lives on computers. Perhaps this instilled in me some grandiose delusions, but I was always greatly confident in my skills.
Despite this, in my apprenticeships where I was working on big projects for the first time I would see the MVC layout, all kinds of different plugins and services and APIs being used that I hadn’t come across before in my development projects. I was able to catch up and learn these new aspects of programming, however my concern is that the only way I knew what I had to learn was through looking at these projects and asking questions for all kinds of little bits of code (specific to their code rather than google-able stuff) that I hadn’t seen before - and so I am not able to do my own research now on the things I don’t know because, well, I don’t know what they are. I have spent my fair bit of time researching popular frameworks and improving my weaknesses, but I still feel unprepared for what I might come across next. In my first apprenticeship it was very much the case that I was clueless as to the company software code I was learning, and so the individual I was working with took me as rather clueless altogether with programming (which I took to be rather ignorant of him, as I had demonstrated clear understanding of a good amount of concepts yet he still would question my ability to move files into the right folders and if I knew what .txt files were), leaving me to the menial tasks and not giving me a chance.
Again, I apologise for the long post and for getting somewhat off point. My question is, to any self-taught developers, employees or freelance:
How did you learn programming to the extent you were able to learn the modern programming techniques used in businesses today?
To any self-taught freelance developers, how were you able to learn enough so as to be able to take on projects when you are told simply what needs to be made? I would love to be able to freelance but I feel I simply don’t have the knowledge base to be able to take a specification and have my mind produce how I could go about doing it, without spending hours scavenging the web for frameworks and functions that would be efficient for the project.
Thank you very much for anyone took the time to read this, any input would be greatly appreciated.
** I quit the first as I wasn’t able to learn in the environment, and the second I was fired (in my apprenticeship recruiter’s & own opinion) unfairly as a result of sick leave.