Many of you have seen my Worst 3 Programming Languages blog where I share my distaste towards PHP. Unfortunately, I believe people took my opinion a bit too seriously. I’ve received hundreds of comments on how I’m a hypocrite because I talk trash about PHP while using PHP to power my personal website.
Am I a Hypocrite?
Absolutely not! Maybe. I’m not sure, honestly. But that’s besides the point. The thing I want to talk about in this blog is that just because I believe something sucks doesn’t necessarily mean I can’t use it and never will.
Hi! Caleb here. Have you heard of freeCodeCamp? freeCodeCamp is a nonprofit dedicated to teaching people to code for free and and helping people get development jobs. Not only is it free, but the curriculum is extremely comprehensive teaching hands on responsive web design, front end development, APIs, data management, algorithms, source control, data structures, and more.
If these technologies are frightening or unknown to you, this blog will help you understand the big picture of web development, how to code, and what you should expect going through the freeCodeCamp curriculum.
There is a plethora of blogs about the top languages to learn, but what about the languages you should NOT learn? You’ll want to avoid these languages like the plague.
I’m going to be calling out three very popular programming languages that I’d advise against you spending your time learning them or taking a position where you’ll have to spend a lot of time using these languages. Just because something’s popular doesn’t necessarily mean you should try it. This is my opinion, yours might differ.
Recently I had the privilege of working with Quincy Larson, the founder of freeCodeCamp. If you don’t know, freeCodeCamp is one of the largest online learning platforms for people to learn to code. With over 2000 hours of free training, people are using freeCodeCamp to learn everything they need to get hired as software engineers or full stack developers. I talked to Quincy to figure out exactly what it takes to become a full stack web developer (this content was edited by me from a video interview and are not direct quotes, with my thoughts in gray).
Full stack web development is when you are in charge of the entire project rather than one particular piece. This means you must be fluent in both front end development and back end development.
What does it take to know the front end for full stack web development?
Code interviews are what every developer either despises or looks forward to (if you know what you’re doing). Why is it that so many people despair at the thought of going through an intense code interview?
This blog will go through my experience with technical interviews and what I’ve done to get through them despite not being a coding wiz.
1. Study Your Face Off
The reality is that most of the fear around coding interviews is rooted in the mere challenge of getting passed the technical questions. It’s like taking the ACT or SAT all over again, but difficulty x1000. Topics include data structures and algorithms, design patterns, distinctions between languages, seemingly ridiculous math problems, frameworks, and more.
As many of you know, my technical roots are in databases, SQL, and full stack web development.
I’ve spent a lot of time creating videos on YouTube over databases. For example, I have a 51 part video series on Database Design.
Who or What is freeCodeCamp?
Recently I was reached out to by freeCodeCamp. For those who don’t know, freeCodeCamp is one of the most popular online learning platforms for software development. freeCodeCamp is a nonprofit organization that brings people from noob to developer through their online curriculum.
freeCodeCamp came to me to talk about potential collaborations. I’m happy to say that we came to agreements and decided that we would aggregate my database design series into one long, undivided video! As a result, the Database Design Full Course was born.
Seriously? Another top languages blog? You may be right, but I’ll try to give you some insight as to why I made the selection that I did.
I often find myself a step behind every one else. I’m the one reading the Top Languages of the year blogs as the year is coming to an end. NOT THISTIME! This blog contains my recommendations for languages to learn before 2019, just to get that upper edge a bit early 😉 (unless you’re reading this in 2019).
As some of you know, I’ve created videos like A Day in the Life of a (Future) Software Engineer. This obviously implies that I’m not currently a software engineer. It’s an obvious statement to say that not everyone is meant to be a software developer or engineer. At one point, I thought that was me. Let’s talk about why, until now, I never really saw myself being a software engineer. Even now, I’m not a software engineer. Maybe these are the same reasons you’re not, too.
1. I Didn’t Want to be a Software Engineer
Software development and computer science is overwhelming. As I began learning to code, I always had the same problem – Issues would come up and I’d have no idea how to solve them. This was great for my problem solving skills, but it often left me feeling frustrated or defeated.
This was before going to school and getting a Bachelor’s in Computer Science. This was just me doing it for fun in high school and some professionally.
Job postings are annoying because every job requires 3 years of experience and you can’t get that experience without having a job. What do!?
If you’re reading this post, I’m assuming you’re a complete newbie. You may have done some coding for fun or for school, but now you want to take it to the next level. This blog will share with you the steps I took to get my first software development job.
1. Own the Tech Interview
I’m jumping to the meat of the article because your long-term career success is likely going to come down to your performance on a (relatively) short interview. If you do all of the other things in this article perfectly, but do not have what it takes to impress a hiring manager, you will likely fail at becoming a software developer or software engineer.
I can’t code. I’ve been developing for years and still have no idea what I’m doing. John, on the other hand, is like a coding master. Thanks a lot for making me look bad, John. Thanks a lot!
Maybe this is what goes though your mind at work.
We’ve all experienced this feeling. It’s known as the imposter syndrome. The imposter syndrome plagues those around the world. I’ve seen this syndrome a lot in the tech industry. The wealth of knowledge available around software development is crazy. Somehow we’re expected to know everything, or at least that’s how we feel.
I Can’t Code. I’m not Smart Enough.
This feeling overwhelms the developer. This leads to anxiety. We put on a face that shows we know what we are doing, but ultimately our truth will be exposed to the masses. We fear that the day might come… the day when we’re humiliated in front of others regarding our lack of true knowledge.