Article

The MBA guide to learning how to code

February 2016 /

Knowing how to write software can be an incredibly valuable skill even if you are a business professional. A quick guide on how to get started.

When I first started teaching myself to code, one of the greatest sources of frustration I faced was my inability to find a concrete answer to a seemingly straightforward question: where do I start? There were so many programming languages to learn and so much that those languages could be used for, yet I couldn’t for the life of me find any solid advice on where someone with absolutely no programming background should begin.

The majority of my confusion, as I have since come to understand, stemmed from the fact that I saw “coding” as a thing, a solitary process through which fingers hammered away at keyboards and subsequently computer magic was made. All of the information about “coding” resided in a book, as I understood it, and I desperately wanted to know what was in chapter one.

The truth is, this is an ineffective way to approach coding. Programming languages are, in fact, much like speaking languages. In this way, we can begin to understand why there is no answer to “How do I learn to code” much like there is no definitive answer if someone were to ask you “how do I learn to speak?” Similarly to spoken language, if someone were to want to learn how to communicate verbally, you would tell them that one language isn’t inherently superior or more fundamental than another. Instead, you would tell them that which language one learns is completely dependent on how they want to use it. It follows, then, that in the same way there is no one correct way to approach verbal communication (because there are many spoken languages that each have their own benefits and drawbacks depending on how they are applied), there is also no one correct way to approach coding.

What is it that I want to build?

With this realization comes the first thing you have to figure out when teaching yourself to code: What is it that I want to build?

Answering this will help you begin to figure out which language is best for you to start working on. Slant has put together an extremely valuable comparison tool that you can use to understand the pros and cons of each language, which you can find here.

Understand the basic theory

The second thing to do is to familiarize yourself as much as possible with the basic theory and lingo that programming languages utilize, in order to give yourself as much contextual information as possible.

Lifehacker’s Adam Dachis put together what I consider to be one of the most helpful, and more importantly well written, introductions to coding that you can find for free online. It provides an explanation of what code does, how it does it, and a lot of the language and theory that you will encounter when you begin learning. Having this background information is a little bit like having taken a language in high school before starting that same course in college. It in no way makes you an expert, but even a rudimentary familiarity with the material will facilitate faster and more effective learning.

Take The Plunge

Armed with a solid foundation in the basics of computer programming theory and lingo, and a clear idea of what you want to build, it’s time to start learning to code! We’ve found that new coders typically fall into one of three tiered categories:

1) A general interest in computers and programming:

Interested in learning about how coding works, but not necessarily planning on spending your nights and weekends building programs? Many people want to learn to code in order to better understand a certain component of the job they already have. Maybe you’re the non-technical founder of a startup and want to feel less in the dark when hiring a development team. Maybe you’re a sales rep at a software company and want to better understand how the product you’re selling actually works. If this sounds like you, the best place to start is also the most traditional, a book.

For somebody looking to gain fundamental understanding of a specific subject, the open-endedness of the internet can be both daunting and somewhat inefficient. Books provide a reliable and affordable way to dive into a very specific topic at your own pace.

We recommend you begin with Code: The Hidden Language of Computer Hardware and Software by Charles Petzold. Petzold explains, in plain language, the ins and outs of everything that makes your computer tick.

Another great book for the entrepreneurially minded is Hello, Startup: A Programmer’s Guide to Building Products, Technologies, and Teams by Yevgeniy Brikman. This book gives fascinating insight into some of Silicon Valley’s best technological practices.

Time Commitment: Low

Cost: Low

Knowledge Developed: Medium

2) A desire to become both knowledgeable and technically proficient:

If your thirst for programming knowledge extends beyond a high-level understanding of how things work, and your goals include being able to become an amateur programmer, the best resources for you are online coding courses. Majority of these are very affordable and are great ways to learn by doing. What they lack in structure, you will make up in learning actual skills that you can use to bring your own ideas to life.

We recommend these three online resources, because of their fantastic reputation, affordability, and effective curriculum:

  • Treehouse
    • Treehouse is a hands on learning resource that is intended to provide learning opportunities that range from a complete beginner’s course to a highly advanced tool for seasoned programmers. It is reasonably priced and constantly being improved upon.
  • HackerRank
    • HackerRank provides a level of gamification that can be very helpful in the beginning stages of a hands on learning process. This is a completely free tool, and is a really good resource for somebody who enjoys teaching themselves things.
  • Codecademy
    • Codecademy is  direct competitor of Treehouse, focusing on hands-on learning through detailed repetition. It is free, but the paid version, Codecademy Pro, is where the true value lies. Pro includes video descriptions to go along with every lesson and access to a message board to discuss challenges with other students. The lessons themselves, however, are identical whether you pay or not.

Each of these resources will allow you to begin learning to actually write code on day one, while affording you the luxury of learning at your own pace and at the times that best fit your schedule.

Time Commitment: Low

Cost: Medium

Knowledge Developed: Medium - High

3) An interest in making a career out of programming:

If you are interested in making the switch from your current career into a full time programming position, classes are the way to go. While some argue that you can learn any skill on your own, there are few better ways to learn than fully immersing oneself in an environment with like-minded people striving to attain the same skills.

The quality of coding schools (institutions dedicated to providing full time enrollment in immersive programming courses) varies greatly. To make this easier for you, we’ve gone through the best – and worst – programs in both San Francisco and New York City to find the top program for people residing on each coast.

San Francisco’s Hack Reactor and New York City’s Flatiron School are our recommendations for the best places to start your career as a full time programmer.

Time Commitment: High

Cost: High

Knowledge Developed: High

 

A Final Note

Whichever category you fall into, these are all effective first steps in learning to write code. The key is to be realistic about your intent and expectations and then see which learning style is effective, clear, and most importantly fun, for you. Go at your own pace, do not be intimidated, and remember that everyone, from the IT guy at your local high school to the Senior Software Developers at Google, all started exactly where you are now. Good luck, and happy coding!

Other coding camps also worth looking at:

DeVry BootcampFlatiron School, HappyFunCorp Academy

Connect with us to learn how we can help
Contact Us
or call (646) 776-4605
Latest Content
Read our latest articles about technology, real estate, and more