Have you ever looked at a programming job’s requirement list, eager and ready to apply? As your eyes scroll through the bullet-pointed list, you think: ‘Yes, I have this skill,’ and ‘Oh for sure, I know how to do that,’ but then the dagger in the heart comes as you read the last few lines. Those last lines read, “must have a Bachelor’s degree and/or pursuing one” or “must be graduating in a specified year” or “must have 5+ years in the industry” or my favorite, “must have a particular GPA or higher”. You then sink back into your chair defeated because you have an Associates Degree rather than a Bachelor’s, or you’re graduating in 2022 rather than 2021, or you have 4 years of experience and not 5+ years, or your GPA is a 3.4 but the job stated a 3.5 was required. You close out the webpage and pass up on an opportunity you were technically perfect for but educationally lacking in. If only you had the audacity to disregard the educational requirements and submit your resume knowing you had the technical skills for the position, but alas…unless?

Programming positions are a unique type of job. They aren’t your cookie-cutter teaching jobs that require a certification or exam to get started, and they are for sure not your doctorate positions that require 4 years of college, 4 years of med school, and 3 years of residency before you can even look at a scalpel. No, they’re a lot less complex. That’s why you see many young people in tech earning six-figure salaries. Programming languages can be learned by anyone with a passion for code and software engineering is not a complex subject that only the well-educated can grasp. Recruiters and HR know this fact and, in an effort to prevent too many people from applying, add irrelevant requirements like having a college degree to reduce the number of applications. They don’t want to be held up in their offices all day reviewing resumes from applicants who know how to code but will not take the position seriously or put forth their best work. In order to ensure that everyone who applies is serious about the position, employers establish educational and experiential requirements.

Now, I’m not saying that all educational requirements are irrelevant, especially the ones that require you to graduate in a specified year. Many employers are looking for full-time employees, and most college students cannot commit to a full-time job so requirements like these are plausible. However, job seekers should not shy away from applying if they know they have the technical ability and can fulfill the time commitments, but don’t meet all the requirements. 

Technical proficiency is the key component to acquiring a programming job. Programming interviews are skill heavy and logic based. Recruiters are looking to see if you have proficiency in the language you are coding in and that you know how to take an input and create a program that gives the desired output. Proficiency in a language does not mean perfection but rather, that you are able to code without referencing the Internet for help after every line; and that you are able to write multiple lines of code in an efficient and effective manner. That’s what recruiters want to see as that’s the basic knowledge required for any programming job. 

To separate the good from the great, many tech companies have behavioral interviews in order to determine which potential employee has a better understanding of code and how it works. For example, Google has what’s called a General Cognitive Ability Interview in which they ask you behavioral questions in an effort to better understand your thought processes and utilization of data, logic, and reasoning. It’s essential that a programmer is able to take a complex problem and find a thoughtful solution because, most of the time, a programmer is working with thousands of lines of code or more and one incorrect word or one unused variable may prevent their code from running properly. Furthermore, if you don’t document your code and leave comments behind, it can make the debugging process even more of a pain because you have to read each line of code to figure out where the issues are stemming from. Many people have the required skills and essential reasoning ability to acquire the job but they may not have attended university, or they may not have the GPA required by the employer so they end up not applying. This mindset of defeat when an obstacle is thrown in one’s way is why many programmers miss out on jobs they were a great fit for. This is also why, year after year, tech companies miss out on bright and talented individuals. It’s up to you, the job seeker, to find your courage and apply for a programming position if you know you have the technical ability and logical understanding needed to fulfill the position. Any experienced recruiter knows that you cannot set a hard requirement on someone having graduated from college or having a certain GPA because every person walks a different path in life. Setting a hard limit on who can and cannot apply would be detrimental to their company. Therefore, a recruiter will review your resume and decide whether or not your skillset makes up for the areas you are lacking in. 

Moreover, applying for a programming job that you may not be educationally and or experientially qualified for gives you the perfect opportunity to challenge yourself in a dynamic environment. Your coworkers — who have the required GPA and years of experience — are most likely going to be intuitive and fast learners, especially if you’re fortunate enough to get hired at a big tech company or a promising startup. Thus, you will work in a fast-paced environment where you’ll be faced with many challenges and you will have to find a way to adapt and resolve those challenges effectively. You will be taught resilience and learn how to work as one with others who have a different background and or skill set than you. These lessons of adaptability and resilience are invaluable in the world of technology, as you will encounter various situations that are difficult and mind-boggling and will be tasked with projects that are lengthy and time consuming. Your ability to deliver, no matter how obscure or challenging a task seems, is what makes an excellent programmer. It is what you will learn in a dynamic environment. In addition, it’s important to, once in a while, put yourself in an environment that makes you uncomfortable, because that’s how you acquire the skills to work with diverse people in diverse environments. 

The technology sector will always be unique because there is no cookie cutter script you can use to attain a job. Programming jobs such as Junior Developer may state requirements of a certain GPA or a certain number of years of experience, but those requirements are established to weed out the chumps. And you, job seeker, are no chump. Companies want employees who are intuitive, bold, and take risks. Therefore, they establish requirements they feel will attract people who embody those characteristics. It’s up to you to decide if you have the guts to smash that apply button.