So You Think You Can Code

The many ways to step into the world of web development and determine if “coding” is really for you, from the cofounder of Tech Talent South.

These days, it seems like everyone is learning to code and overall, that is a very good thing. Everyone should learn some basic coding, if for no other reason than to have a better understanding of this increasingly tech-fueled world we live in. Being a professional developer isn’t for everyone, though, and it’s important to take a step back from the hype to determine the best way to go about “learning to code” for you and to see if the life of a “hacker” is really what you want.

Fortunately, there are some inexpensive or even free options that give folks a way to dip their toe in the water and try some coding. Sites like Treehouse or Codecademy are a great first step for total newbies. These allow for playing with some interactive code, following tutorials to create a simple website or web application, and getting comfortable with the programming environment (terminal, text editor, etc.). If you start off with sites like these, be sure to pause from time to time and ask yourself how you’re feeling. Are you having fun? Are you frustrated? Are you stuck hitting a bug and already want to throw your computer out the window?

I truly think anyone can learn to code. That being said, some people do take to it more easily. Oftentimes, this has nothing to do with aptitude. It just boils down to the fact that some people naturally enjoy the problem-solving nature of computer programming while others do not. If you want to be a developer, especially a professional developer, you have to embrace that coding is all about problem solving and is a life-long learning process. It’s about taking big problems and breaking them down into smaller problems that you can plow through and tackle one at a time. This will never change so if hitting a bug in your code causes you to throw your hands up rather than peaking your curiosity, that might be a sign that coding isn’t for you. Or it might simply mean you need to adjust your paradigm and look at the code as more of a puzzle, accepting the fact that hitting bugs is just a part of the process. Although our programs at Tech Talent South are beginner-focused, we love getting applicants that have at least done some tutorials or played around with coding in the past because they’ve gone through this first step of getting a “feel for things” and they’re still eager to dive in deeper and take things to the next level.

At Tech Talent South, we’re often asked why someone would come do a program like ours when there are great web-based options out there like those mentioned above. I tell people sincerely that if they can truly buckle down and teach themselves with the resources out there on the web, they should go for it. Most people find when they’re relying on online tutorials as a beginner, though, they hit some major walls. Following a tutorial and simply typing in what you’re told to type in doesn’t necessarily result in actually understanding what you’re doing. Personally, as a beginner, I did lots of online tutorials and although I might have built a slick website by the end of a session, I quickly realized I had no understanding of what I just did and even less of an idea of how to adapt it to build out my own ideas. For these reasons, many people search out a program like ours. Simply put, you just can’t beat learning in a classroom, being able to ask questions, having more structure, and working with peers who are also hungry to break into the tech world. At the end of the day, a couple month immersive program is likely to help you develop this skill set much further, much more quickly. In a lot of ways, I view programs like ours as a way for folks to get over that very difficult hump as a beginner, build a strong foundation in coding, and then ultimately be pushed out of the nest to take on real projects and continue learning on their own. The good news is those great online resources and tutorials are infinitely more helpful once you have a strong foundation. If you’ve learned Ruby in a program like ours and want to quickly bone up on PHP, an online tutorial is likely to do the trick and get you there because you already understand the fundamentals.

Of course, there is always the more traditional route of getting an undergraduate degree or masters degree in computer science. Another question we get a lot is how doing a code immersion program or bootcamp compares to getting a CS degree and how it is viewed by comparison in the tech world. At the end of the day, programs like ours are in no way trying to be a substitute for a four year CS degree and should never claim to be. It’s like comparing apples to oranges really. A CS degree is naturally going to provide a more in-depth understanding of computer science, particularly theory, etc. Similarly, larger companies especially still like to see a CS degree, if for no other reason than to be able to “check” that box and know someone is coming in with a certain base level of knowledge rather than having to dig deeply into their portfolio. That being said, there does seem to be a major shift happening where experience is valued as much, if not more, than a degree and code immersion programs like ours have certainly proven to be a viable way to break into a programming career. We’ve been excited to see this already demonstrated by larger companies like CareerBuilder hiring folks directly out of our program in Atlanta.

Another reason doing a program like ours is very different than getting a CS degree is that what we’re teaching is very different. The truth is that newer technologies (such as open-source frameworks like Ruby on Rails), although very much in use and very much in demand, are simply not taught in the more traditional educational institutions. Simply put, technology changes very quickly and for this reason, more traditional institutions struggle to keep up and teach programming that is reflective of what is actually in use out in the real world. For this reason, development bootcamps are more and more being seen as a quick and relatively affordable way to pick up a very practical skill set. A testament to how different these experiences are is that we’ve actually had multiple CS majors come through our beginner-focused web development program and still see tremendous value in what they’ve taken away. Programs like ours give more practical hands-on coding experience and teach you how to actually build products, while admittedly not spending a lot of time on theory like a CS program might. According to TTS graduate Sarah Hudson, “I had taken a programming course in Python in college and let me tell you – TTS went through a whole semester’s worth in three days. It was absolutely amazing!”

It’s important to note that there are lots of great reasons to get into coding besides actually wanting to be a professional developer. It equips:  aspiring entrepreneurs with ideas they want to prototype, product managers who want to be able to able to effectively communicate with their developers and read code, even folks that just work in a tech company and want to understand what the heck is going on under the hood. If you’re truly looking to pursue a career as a professional developer, though, an immersive program or bootcamp can also be a great first step to build a foundation and get your foot in the door. There is no silver bullet, though, and programs like ours should not be seen solely as a means to an end. We often get folks interested in our program that think….”Hey, I do this two month program and then get a six-figure programming job with Google, right?” That is just not the world we live in and, if you only want to learn to code so that you can get a job, I would discourage you from jumping in way too quickly. Without a genuine passion for technology, problem solving, and building solutions, folks struggle to really dig into this stuff and more importantly, don’t enjoy it. Although becoming a professional developer can lead to a very rewarding and stable career, new programmers still very much have to pay their dues and get some experience. For this reason, a great first opportunity coming out of a program like ours might be an internship, a junior level position, or even freelancing for a while to build experience and a portfolio. Again, being a programmer is a life-long learning process in which you’ll constantly be challenged and pushed to pick up new languages and frameworks along the way. If it’s what you want, embrace the challenge and buckle up for the ride.

[Photo Credit]