In these past few years I've watched a countless amount of videos on Youtube and Udemy which somehow contributed to this hope, that ending up on the dev team wouldn't take TOO much work on my part, that I could be in position to earn more respect at work and in life in general, and command a higher salary, if I just put my time into learning.
And yet, though I've gotten freelance work, the handful of full-time interviews I've been able to land have told me otherwise. I want to address some of these harsh realities: a few not-quite myths, but half-truths, that are circulating around the industry about what you need to do to land a developer job as a self-taught person. (Note: I haven't included anything specifically pertaining to being a woman in the field, though it may very well be a factor. I wanted this article to be relatable to anyone reading it.)
I've watched a few people get a developer job without a BS in Comp Sci, though like me, they do have degrees in other fields. (That's not to say it can't be done without one.) However, I've been flat out rejected without an interview despite my prior work history, which tells me your major matters. Most jobs that offered me an interview also included some type of coding test in exam question format, or technical questions asked on the fly by a hiring manager....often stuff that requires prior computer science knowledge. Don't assume that just because you put more time into tutorials, blog regularly, or contribute to open source that anyone will notice. Everyone is given these tests, while no hiring manager has time to look at everything you've ever made or talked about. Which brings me to my next point....
Passion will help a lot, it will push you forward despite the low points and any burn out you experience. It will also make you more enjoyable to work with and likable as a human. However it does not override talent, ability, training, and knowledge ....all of which can be measured on tests. Think about this: how passionate did/do most of your coworkers and bosses seem? If you work at a decent or great company now, what about other places you've worked? Do you honestly think the most passionate people regularly get the best jobs or move into the highest positions?
Half-truth #3 - Smart people are less likely to/won't ask you dumb or pointless questions and are too rational to insult you
I have a full portfolio website and Github profile, including a functional MERN Stack app, examples of fetching data from APIs, various fairly complex front end projects (none of which are flat out copied from tutorials), and I've already discussed my prior work experience. Here are a few questions I've gotten during 2nd and 3rd rounds:
"Do you KNOW WordPress?" - asked by (another female) front-end developer, after the hiring manager told me knowing PHP was not a necessity and I've been using WordPress for over a decade
"Are you willing to dive into our codebase?" - same person. seriously, wtf
"Explain to me how promises work." - asked by a hiring manager after viewing a fully functional, bug-free MERN stack app which included both promises and async/await
"Is that a personal project?" - asked by a different hiring manager in regards to said MERN stack app
"How long did it take you to get comfortable?" - same guy as above, clearly an insulting question which tells me they're not comfortable with someone without a CS degree
Any tutorial projects you do are likely not as complex as take-home interview projects, hence a lot of people - often begrudgingly - studying algorithms and data structures even if they never cared about math. I won't get into the nitty-gritty details here, but I was left stumped by a few projects I was given even after watching a ton of videos (and understanding them).
I just wanted to share my experience because whenever I log onto sites like this one or Hashnode I am slammed with articles, many on topics already floating around various other places on the internet. And sometimes they are personal stories of hard work and hope. I don't want to discourage anyone from doing something they enjoy, but be sure to spend your time wisely. Build your own projects; better yet, try to build something for a real company. If no one's hiring, make up a name. If you enjoy it, practice data structures and algorithms...but (in my opinion) only if you enjoy it. The last thing this field needs is more disgruntled people who cannot find satisfaction in the work and their interactions with a collaborative team.