This is my first post... and go figure, it's a rant!
I first took interest with "coding" in 2017. I decided that Data Science looked cool, and so I wanted to learn it. Turns out, I didn't learn it easily, especially when I had to teach myself.
Not long after did I stumble upon Python, confusing references to Statistics, sexy words like Machine Learning, Artificial Intelligence, etc. I went from wanting to become a data scientist to being intimidated by how to make a loop.
Nonetheless, I did at least try. I created a program with Python that received input and did a calculation in the background (Just imagine a Daily Caloric Intake Calculator). When 2017 ended, I was a little in the hole due to money I spent on computer devices, books, tutorials, and a lot of cafe hours. I had close to nothing to show for all my efforts.
In 2018, I started off with the low-hanging fruit of programming languages: HTML.
I know it's not a programming language, I just wanted to troll you!
Learning Markup was relatively easy (save for what goes on within the head, which partially lead me to SEO and some irrelevant tags), but one thing I noticed was that online resources for HTML 5 and CSS 3 aren't so clear cut, even when they're on a beautiful and perfect website.
HTML 5 has new elements that not everybody uses, which makes it hard to learn what I would compare to the restaurant industry as "mis-en-place" best practices. You begin to do it one way, and the next tutorial dismantles everything you thought was important about header/nav/main/section etc.
CSS has taken me down the most annoying of rabbit holes. First it led me to question whether I wanted to be a developer or a designer. Then it forced me to learn some design despite having decided to become a developer (SVG! Make a logo! Make that photo look exactly how you want it to! Don't give that margin, give THAT margin!).
I am beginning to feel like online tutorials are almost similar to the scammy bootcamps we sometimes hear about. But I am just not one of many who have become competent at coding through these tutorials.
Once CSS led me to Sass and Less and variables that almost made it seem like a programming language, I lost my $h!t. It's like wanting to take up kickboxing to lose weight and tone up the belly, only to spend months watching famous kickboxers and learning the history of a kick before ever really putting a combination together. Well, that isn't a good analogy, because it just wouldn't take that long. I've just gotten lost in the actions of searching, finding, wondering, asking, seeing, repeating, doing, and repeat. I have been more confused than anything, and don't feel the more intelligent because of it all.
I still don't understand basic things like the DOM,or how to position every element I want as easily as you might on, say, Square Space. It seems like, as soon as I begin to understand a media query, there's just another 100 properties and values and mystery selectors that are required for perfectly responsive web design.
It stresses me out, because up until losing my job a few weeks ago (internship for an IT place ended), I had been coding after work hours and on the weekends. It appears that my patience and tendency to get upset and frustrated don't correlate well with the length of tutorials (such as Free Code Camp) or my ability to retain information. I've learned so much, yet when I see the entry level job description, I just get depressed and intimidated. How long until I learn Web pack? AJAX? JSON? Vue.js? Angular.js?
I've heard time and time again the running joke that HR writes the job board description and expects everything plus the kitchen sink out of an intern.
Seriously, who writes these things? Am I the only one who feels so hopeless?
Anyway, I know it's just me. I know that the documentation found on websites like MDN is there for anybody to find, but personally I get lost in the lines and confused often. Outside of knowing more about what I don't know, I don't know that much. When I find a template it looks pretty, but it's somebody else's template, not mine. When I build my own website, it looks like 1998 called and wants its style back. When a tutorial subtly slips into asyncronous functions, my ability to reason suggests we apply to work at McDonalds.
Why did I get into this in the first place? Well, I wanted to be able to explain complex things to people in a simple fashion. But it turns out I don't understand complex things. Programming makes me feel stupid. Coding anything makes me feel anxious and uncomfortable, save for the few times I've had fun on HTML. I really wish I could go to school for this, because I am starting to consistently doubt my ability to make it on my own as a SWE.
In closing, I know why I am failing. How I imagine programming to be, doesn't relate to what it takes to be a programmer. I like the idea of what a programmer does, what it can build, etc. However I don't like reading complex documentation. Furthermore, I hate that other people say it's easy to read, because for them it is. Venturing down this field has led to zero income for me, but more debt and less confidence that I am smart. More worse is that I find it hard to relate to people, because I've mostly only met people who figure it out or fell into the field naturally, or people who want nothing to do with the syntax and concepts altogether.
A lot of me wants to quit, but a lot of me feels too invested. It's not that I don't want to understand programming, it's just that I don't understand programming. I am not going to quit, but I am going to reach into my vindictive energy and learn to spite others. Every bad tutorial, every bad practice, every over-complicated article, each alien piece of documentation, each developer with a brilliant mind but terrible interpersonal skills, to all the g0d d@mn job board descriptions with their expectations so high that it muddies the water of reality, and to all the employers who don't offer any way to train for your position without already having some high-level knack for software development, get bent.
After I get my foot in the door, past an internship, once I'm able to work day to day and accomplish projects demanded by my employer, I am going to help the underprivileged people. I am going to make videos of my own, articles of my own, an SWEAR A LOT. I am going to volunteer at bootcamps, the free ones and not the ones that only cater to the audience of middle-class graduates with BS/MS who have the luxury of taking a year or more off.
I come from an underprivileged background. I grew up through trauma and have had mental health issues. I have participated in sports and competitions such as football and MMA, and have abused alcohol and marijuana and most likely have some degree of brain damage.
I have my limitations, and many shortcomings, but I refuse failure as my final destination. I believe I can learn under the right settings. I will continue to work under whatever settings I can get until I've practiced enough to know enough languages and softwares, concepts and practices to make it to an interview and pass. I will make it. I will MAKE IT. I will do this on my own until I have a community to truly grow in, and then I will excel exponentially and help so many people who are like me and want to quit on their dreams.
To those future people I say, hold on. I will be there soon!