Bold claim coming from a coding bootcamp, eh? Hear us out: You'll learn a lot of skills in a lifetime. You'll be great at some, awful at others, and mediocre at the rest. Learning to code is no different. Here's the deal: Not everybody is cut out to be a programmer. And that's OK.
Before jumping into the reasons why coding might not be for you, it's important to define what we mean by "learning to code." "Here are five reasons why you shouldn't learn to code if you intend on making it your profession" would be a more accurate title, but that's not very catchy. There's no question that everybody should have a basic understanding of how computers store information, process that information, and behave based on human input (or lack thereof). Fantastic introductory courses are everywhere, and we'd encourage anyone and everyone to seek them out and learn the basics.
But in the same way that not everyone is cut out to be a teacher or a ballerina, not everyone is cut out to be a programmer. If you're ready to make a career out of programming, there are things you should consider before making the leap to your new coding career. Here are five of 'em:
Just because it's obvious doesn't make it any less true. In fact, there's an argument to be made that the "everybody can learn to code" movement might have the unintended side effect of making new learners lose confidence in themselves and give up when things get difficult. After all, anybody is supposed to be able to do this stuff, right? Fact is, programming is difficult. If learning to code were easy, programmers wouldn't be well-paid and in high demand. Learning to code takes determination, creativity, and a lot of caffeine.
...said every job description ever. While most jobs require at least a little bit of collaboration, programming demands it. If you only intend on doing freelance work building small-business websites on existing platforms like Wordpress, you can disregard this. But if you dream of building highly customized applications at the enterprise level, you'll be working with a team on a daily basis.
The idea of the lone coder working in isolation in a windowless office is a thing of the past, and has no place in today's world of software development. Being a member of a modern development team working on a massive project means working together toward a unified goal. Many software teams place an emphasis on pair programming, which means you'll be working on features side-by-side with a colleague (usually on the same computer). Having two people working on the same code ensures higher quality code and a built-in QA system because you or your partner might catch a potential issue that the other missed.
You'll usually be working on code you didn't write, picking up where another team member left off, so consistent collaboration is key to ensure that everybody is on the same page. You'll be given tasks you're unfamiliar with, and you'll be expected to leverage all your resources to deliver. You'll often find yourself at a crossroads where you can pick solution A or solution B, and you'll need to be aware of the larger picture and how the solution you choose might impact the entire project. So even when you're working solo, the code you're writing is only a very small part of a much bigger project. That goes both ways, too. You'll need to work with other team members to make sure their code jives with yours. You'll be talking software and collaborating with colleagues all the time.
At the risk of stating the obvious, your career is made up of individual jobs, each one building on the ones before it (hopefully). But take a moment to let that really sink in. Seriously. You will be doing this for a very long time. If you’re going to be spending five days a week honing your skills and getting hands-on with some serious challenges, you have to make sure you really (really) like it. While the tech industry is generally known for promoting a healthy work-life balance, the reality is that a web developer job will probably consume a large part of your time out of the office. The tech industry is all about community involvement and growing your knowledge through Meetups, hackathons, and other skill-building opportunities. You'll never stop learning, so hopefully you'll be OK with programming consuming most of your life.
Remember the egg drop competition school project? Groups of students are given a raw egg and a standard list of materials from which they have to build a device that protects the egg when dropped. Programming is kinda like that: Everybody has the same tools and materials they can use to solve a problem, but two wildly different solutions might be equally effective (and other solutions... not so much).
If you're looking for a line of work where there is one right way to do something and/or most problems have a single apparent solution, then learning to code probably isn’t for you. While most professions tend to have at least some degree of flexibility in how you get from problem to solution, the paths to a solution are particularly open-ended in programming. Contrary to the prevailing stereotype, writing code is actually an incredibly hands-on creative path when it comes to problem-solving. This can be really daunting—uncomfortable even—if you're not prepared to handle it. Approaching a challenge with the right mindset and attitude is critical to the success of whatever you’re building. Even when you think you've got the logic worked out, it’s quite possible your program will break before it does what you want it to. And then it'll break again.
If you expect to waltz into the industry and master full-stack development, maybe reconsider. Coding bootcamps like Launch Academy are a fast way to get you to the starting line and into your first job, but you've still got a long road ahead. Remember when we said you’ll never stop learning? This is what we were talking about. You have to be willing to fail, fall down, get up, and fall down about 10 more times before succeeding.
If you read the above and said "I could probably handle that," then you might want to dig around and learn more. The cscareerquestions subreddit is a great place to start.
If you read the above and felt like these are reasons why you should learn to program, then get to it already! Between our in-person bootcamp and our online intensive program, we've got your bases covered.