May 6

Can Anyone Learn How to Code?


One of the questions I get most often about who qualifies for the Creating Coding Careers registered tech apprenticeship programs is “what are the qualifications for candidates?” If you are designing a program these requirements are going to be at the heart of your approved standard, so they deserve careful consideration.

Typically requirements for enrollment in a registered tech apprenticeship will include:

  • Eligible to work in the us – after all these are paid training opportunities
  • 18 years old – the participant should be able to engage in a contract
  • Able to pass background checks (justice-involved is ok)
  • Ready and able to work a 40 hour workweek

We also screen for many traits that lead people to have successful careers as software engineers. And no it’s not Math.

Most software engineering only requires an understanding of arithmetic and math up to about the first year of High School level Algebra. Most software engineers will never use anything more advanced like Trig, Calculus, or anything beyond what most folks learn before graduating High School. Believe it or not, the most common “math” problem in coding comes down to logic around off by one counting.

I tend to look for grit, a growth mindset, and problem-solving skills, including some of the fundamentals of computational thinking, that many folks can reason about without any formal training. For example, destructuring, which is just fancy speak for breaking big problems into smaller problems. Lots of folks can do that without spending 4 years in college 😉

I love designing programs for people with barriers – we are intentional about having conversations with candidates that might otherwise not have a pathway into tech or the privilege of being able to afford a coding BootCamp.

So, can anyone learn how to code?

In my opinion, no. Not everyone wants it bad enough.

It never gets easier; you just get faster.

Greg LeMond

It requires a lot of hard work that everyone is not willing to do. Many people are looking at tech as a lifeline instead of viewing it first and foremost as something you have to be passionate about if you want to be successful. It’s very challenging to learn to code in a short period of time. Without a CS degree landing the first job is also a real struggle for most folks. Companies want to hire folks that can hit the ground running and that means Senior Software Engineers are their preference for open roles.

Finally, not everyone has the mentality that it takes to face constant problem solving and self doubt. As an early career developer this is the most painful part of the process, and it takes time for most folks to adjust to imposter syndrome and understand its never going to get easy.

Greg LeMond famously said “it never gets easier; you just get faster.” I think that is a great way for folks thinking about making the transition into tech to mentally prepare for the task.

We look for signals that tell us that someone can be diligent, stay positive, and persevere. With those traits and a healthy dose of passion a person can learn to code, but again it still won’t be easy.

I’ve found that candidates that can express how they have overcome obstacles and how they bounce back from hardships tend to thrive throughout their entire career as engineers. Note that it is not just overcoming barriers, but it’s the communication, story telling that is the clincher.

We are not looking for the polished candidate that has it all together, we want something to work with, and with the right support to be able to unlock superpowers and hidden talents.

Programs that rely on aptitude assessments over attitude will miss great talent. I don’t think technical aptitude test scores help with identifying the candidates most likely to succeed not just in the program, but in career readiness.

The technical skills without the growth mindset might easily result in an apprenticeship that is supplying talent that understands the how to get some things done, but not enough of the why. This is very challenging for engineering teams, and based on hundreds of conversations with employers, I get the sense they would rather work with candidates that have great communication and problem-solving skills, not mastery of code challenges and algorithms.

That is not to say that the foundations of software engineering are not very important, they are, but they must be coupled with 21st-century skills and career readiness. Tech chops are only a small component of what an early career engineer needs to master.

These requirements not about lowering the bar, it’s about expanding the aperture of what is possible by growing the talent pipeline and supporting individuals that want to learn regardless of their previous experience.

What do you think? Can anyone learn how to code? Let us know in the comments below!

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}