Originally posted on techrepublic.
Aspiring coders might be tempted to blast their way through tutorials so they can grab that all-important interview. But success may lie in playing the long game.
It’s only natural of us to try to learn something new as quickly as possible if the end goal is a better job, or the career switch we’ve always dreamed of.
Yet as anyone who has tried cramming before an important exam can attest to, speed is not always your friend. When it comes to learning to code , slow and steady may be the best approach to landing a coveted career in programming.
Programmer and data analyst, Daniel Chae, suggests that aspiring coders typically tackle the journey in two ways. The first involves blasting through learning materials in an effort to absorb syntax as quickly as possible. These people will often copy-and-paste their way through courses and tutorials, without spending time getting to know the code they are applying.
While this approach might get you to the interview stage faster, your lack of understanding will likely be made clear once you get to the interview stage – not to mention the fact that you will likely burn out a lot quicker. Many aspiring programmers fall into this trap, Chae said, who shared his own experience of this in a blog post on Stack Overflow.
“When I first started to learn how to code, I made it my life’s mission to complete two beginner’s Python courses and finish three different fullstack development projects,” he said.
“I went from printing ‘Hello World’ to writing functions, classes, and register files in a matter of months. I felt like I was learning a lot and well on my way to landing a job.”
However, Chae soon realized his mistake. “I started interviewing for programming roles and I failed every technical interview,” he said.
“When interviews didn’t work out, I tried taking W3Schools’s Python quiz and failed miserably. The reality was that I was settling for the short-sighted joy of completing courses and tutorials.”
Chae’s advice for coders-in-training is really quite simple: slow down, spend time getting familiar with programming concepts and don’t treat the learning process like a 100-yard dash.
“If you want to make real, lasting progress in your programming journey, you should embrace a ‘long game’ mentality as you learn to code,” said Chae.
“You may not get to interviews as fast as somebody who’s ‘learning fast’, but you’ll have a much better chance at acing technical interview questions than someone who’s simply regurgitating syntax.”
The best programmers are the ones who embrace such an approach, Chae suggested. “They aren’t in a rush to memorize every bit of syntax, but instead, focus on real, sustainable progress. They know each programming concept builds off of another one and they don’t move on to another concept until they’ve understood the current one.”
Chae also suggests that novice programmers shouldn’t expect a sudden ‘eureka!’ moment during the learning process when everything suddenly clicks.
SEE: Top 5 programming languages for systems admins to learn (free PDF) (TechRepublic)
“As I was learning how to program, I kept looking for a magical point of arrival where I would become a legitimate programmer. I was in a rush to reach self-imposed benchmarks because I felt like I needed to learn how to code and land a job as fast as possible,” he said.
Taking the fast approach to learning can come with benefits – such as exposing beginners to new programming concepts at a faster pace. However, Chae points out that “a solid foundation of programming fundamentals” is far more important when it comes to applying coding knowledge to the real world.
“Others who are ‘learning fast’ may get to interviews faster than you, but their odds of acing technical interviews and landing job offers won’t be as high as yours,” he said.
It may be tempting for aspiring developers to take the fast-track approach to learning, particularly with the wealth of free courses and resources available online for consumption. But success doesn’t come quickly, and just like any skill, learning to code relies on sustained commitment over a long period of time.
The bottom line: if you’re in this for the long haul, why rush it?