What comes after Codecademy?

What comes after Codecademy?

This is a pretty a common question, there are dozens of blogs and videos with some pretty good answers. When I finished Codecademy I asked what comes after Codecademy? There’s no universal (global?) answer, but I’d like to provide some guidance for those who are completely lost. I’m going to assume you just graduated Codecademy, and tell you what I would do if I were you..

1. Download an IDE

Here’s one for Java. If you didn’t learn Java, go back to Codecademy and complete the Java course, then return here. You also have to download the Java SDK. Java runs off a virtual machine or some nonsense, don’t worry about it you’ll encounter an explanation some other time. If you insist on using a different language you learned, then Google what IDE you need. I’m not here to hold your hand, that stage is over!

2. YouTube

The bad thing about learning to code from YouTube tutorials is you’ll be taught bad habits. Tutorials tend to rush through code, and put too much in modules. They choose simplicity over readability. This makes the program rigid, which means small changes can break the program. Sounds bad, right? It is, but we’re not worried about that yet. Codecademy doesn’t teach you how to use classes, and the best way of learning is by doing. So I suggest finding a tutorial on YouTube, and doing it. Perhaps a game? Your goal is to get a basic sense of how to orient your programs in terms of objects—it’s object-oriented programming after all.

3. Join GitHub

First create an account on GitHub.com. Then learn what version control is. Next install the GitHub Desktop app. Open the app and fuss with it until you’ve figured out how to push the program you created in step 2. Finally delete it, it’s crap and you’re embarrassing yourself.

4. Encapsulation, Inheritance, Polymorphism

Look up these concepts, and practice these concepts. Once you’ve had an “ah-ha!” moment, and gain a new appreciation for object-oriented programming, move on.

5. Write Unit Tests

You might as well get use to writing units tests now, because you’re going to be doing a lot of it for the rest of your life. It’s all about having the right attitude.. Yay! Unit tests! Here’s a tutorial if you’re on the Java path.

6. Learn about databases

You can learn the basics of SQL from Codecademy, but what you’re really going to need to do is set up a database and learn how to manipulate it from a Java program. Learn about data structures and all that jazz. Hurry! Go! They’re teaching 5th graders this stuff, you have 15 years max before they’re in the job market! If you haven’t already, this is a great opportunity to become familiar with Stack Overflow. Create an application that has a GUI and queries a database, how hard can that be?

7. S.O.L.I.D.

Learn the 5 principles of object-oriented design, or S.O.L.I.D. Read about it, watch this lecture by Robert C. “Uncle Bob” Martin, resist the urge to punch your computer screen, and apply these principles wherever you can. Refactor the program you wrote during Step 2 and apply these principles. Wait for that “ah-ha!” moment.

8. Read an actual book

At times it seems like all the resources you need to learn programming are on the web, that’s because they are. However, I’ve gained a deeper understanding from actual books. Being in school, I’ve had to read a lot of textbooks. Meanwhile, I keep one book on how to code better (such as Clean Code by “Uncle Bob” and Test-Driven Development By Example by Kent Beck) and now and then dip into a book on general computer theory (like Code: The Hidden Language of Computer Hardware and Software by Charles Petzold and The Annotated Turning by–oh… Charles Petzold.)

9. Make friends

Coding is a community. Join Facebook groups, participate in discussions, be made fun of for being a noob, make fun of other noobs, make friends. Immerse yourself in the community and keep telling yourself “I am a programmer”. Attend a MeetUp with the local developers. Oh nice, there’s a MeetUp for some kind of Agile seminar tomorrow… That reminds me, gain a basic understanding of Agile development. Be able to say you “kinda sorta know what it is, but have never seen it in practice”.

10. Start a blog

Actually, this is only as far as I’ve gotten…

 

What did I do after Codecademy? This could be the title of my whole blog. In hindsight, my answer is what no one wants to hear—I went to school to get an associates in object-oriented programming. This isn’t an option for everyone. When you’re learning—you’re learning. Try to learn a new concept each day, and while you’re going about your day think of how you can make a task easier with a program. For instance, some personal projects I came up with are a program to help me manage video projects, a web app to catalog my dad’s extensive library in the basement, and a phone app (kind of a compass) to help align a news van’s microwave dish with the TV tower.

Leave a Comment