A complete system for people that want to become great programmers


One-of-a-kind, unapologetically boring curriculum

I could teach you trendy languages and frameworks that die every few years, but that'd be silly. Instead, I'm unapologetically boring. My deliberate focus is on the timeless aspects of programming that never change.

World-class support (for those frustrating moments)

Getting stuck used to be a frustrating, hellish experience. Now it's fun. Just jump on one of our video chats and get live help from me or one of your peers.

Accountability to make sure you follow through

We have daily accountability meetings where you describe what you did yesterday. It's really simple. Just commit to showing up every day and you'll make progress. Could you attend and say you did nothing yesterday? Sure you could, but try it out and see how it feels. My hunch is that you won't do it two days in a row. This meeting forces you to do the right thing. It's like having a personal trainer.

Community of serious learners

There are many communities out there that are friendly and supportive, but chances are they're also distracting. Every minute, someone posts about a new tutorial to add to your bookmarks list. People come and go like flies. Is that really the type of place you want to spend your time? Sure, it might be entertaining, but is it productive? Now imagine a place where everyone is serious and focused on the same goal. That's what you'll get here.

Real work experience through open source

You'll make substantial open source contributions to software used by millions of people. The reason for my approach is simple — what better way to prepare you for software engineering than to just have you do it?


How it works


Take the first step

The first step for all Watch and Code students is our introductory course. You'll learn the basics of programming and get a feel for what being a Watch and Code student is like.

Then go for the full experience

After going through the introductory course, you'll subscribe to the Premium Membership and say goodbye to beginner land. With your subscription, you'll get access to everything Watch and Code has to offer: the full curriculum, daily video meetings on Zoom, and the paid Slack channel. You'll get instructions on how to subscribe at the end of the introductory course.

Progressively more difficult codebases

Much of your time in Premium will be focused on understanding existing codebases of increasing difficulty — starting from extremely simple to very complicated. The killer skill is your ability to read and understand existing codebases. We start gently, with an extension of the code we looked at in the introductory course. This allows us to review and reinforce foundational programming constructs like functions, objects, and conditional logic. Gradually, we look at more and more difficult codebases. Along the way, we'll touch on more advanced topics that you'll run into as a professional developer.

Test-driven development

Along the way, we learn about how to write code to automatically test our programs. This has two purposes: It allows us to make sure our programs work as intended and it allows us to write more complex programs than we would be able to otherwise. You'll find that at a certain point, it's nearly impossible to write code without tests!

Challenging exercises

Throughout the curriculum, you'll complete exercises that allow you to apply what you've learned. You'll remove jQuery from a todo list so that it's just plain JavaScript, modify a simple testing framework, replicate the native Array methods, create a library loading system, recreate the front-end of the popular task management app Workflowy, and learn how to handle URL routing.

Build confidence through independent action

The lesson-driven passive learning stage is now over. This part of the system is all about contributing to a large open source project. You'll work with senior software engineers and learn how to write production quality code on a team. You'll encounter issues like version control, different types of testing, continuous integration, bug tracking systems, and build systems. Instead of learning through lessons, you'll learn through your own independent action. The project leaders and your peers (especially those with more experience) will be crucial in helping you through this stage. I'll step back and will seem more like a coach than a traditional instructor.

Career coaching (experimental)

Students that have made substantial contributions to open source are eligible for career coaching. Topics covered include resume writing, application strategy, behavioral interview questions, and technical interview questions (with special attention on data structures and algorithms). Students at this level have typically made dozens of substantive open source contributions.

Reviews

July 24, 2020

Miriam Budayr, Software Engineer, Ahana

This program provides a framework for learning how to think logically. Programmers will always encounter novel problems, language features, and frameworks. Gordon guides students to become independent programmers by cultivating reasoning skills that can be applied to any language and truly complex programming problems.

Experimentation

Students are taught to experiment using what amounts to the scientific method as a pillar of learning how to problem-solve. You will rarely hear Gordon directly answer a student’s technical question if they are stuck. He will instead ask something like, “what experiments did you run to figure out why that variable’s value isn’t what you expected it to be?”. Gordon doesn’t give students answers, but he also doesn’t allow students to become unproductive and overly frustrated. He always leaves them with a clear, actionable step they can take to get themselves unstuck and then checks in with them. Eventually, students become more and more independent and move on to help other students improve their process during daily morning meetings.

Asking Good Questions

Students are taught to speak and think with clarity and specificity. How well a question is formulated is often directly correlated with how well a person understands the problem and the code they are looking at. By asking students to verbalize their thought process during online meetings, Gordon and classmates can help students see their logical errors. Students get feedback not only for the specific problem they are working on but more importantly their general ability to reason through and resolve problems independently.

Accountability

The amount of support Gordon provides for his students is incredible. He hosts daily meetings where students can ask questions and practice skills. He is invested in the success of his students. The daily meetings also provide a supportive community of other students. We all make progress by learning from each other’s mistakes and successes along the way.

Open Source

A core part of the curriculum is open source. By working on open source projects after going through the premium content, students gain extremely useful experience working on real software and learning from experienced developers. Because of Gordon’s excellent teaching, I have been an active open source contributor for over a year.

I cannot say enough good things about Gordon’s teaching approach and the consistent effort and thoughtfulness he puts into Watch and Code.

December 29, 2019

Abhi Routray, Software Engineer, GE Aviation Digital

I joined this course only having some basic knowledge of Python, but Gordon doesn't assume any prior knowledge when you start with Practical JavaScript. What really makes the course special is the focus on the fundamentals.

The things a developer does on a daily basis is very different from what most tutorials would have you think. For example, at my job, rarely was I writing code from scratch. Instead, I add features or fix bugs in large, existing applications. This is entirely what Gordon emphasizes at Watch and Code, and he does so masterfully.

At a glance, some of the best things I learned:

1. How to read code. It's very easy to get lost in large codebases with hundreds of files and thousands of lines of code. Gordon taught me how to efficiently break things down into manageable chunks and quickly develop an understanding of what each line is doing.

2. How to troubleshoot code. The debugger was a foreign concept to me before Watch and Code. I'm glad Gordon ingrains the usage of the debugger because it is absolutely the best tool a developer can be armed with.

3. How to test code. Test-Driven Development (TDD) is not just a great way to ensure you're writing functional code, but the only way. The course makes this a priority.

But Watch and Code is more than just the videos. It's also a community of people, dedicated to becoming better developers. Everyone goes at their own pace, but we all hold each other accountable through an active Slack channel and daily video calls hosted by Gordon. This level of engagement does wonders for your motivation.

The language used at Watch and Code is JavaScript, but the content is applicable to any language. I rarely use JavaScript at work, but I'm able to use everything I learned here anyway - regardless of whether I'm working in Java, C#, or whatever. The skills I've gained went a long way towards landing my current job, and I plan to be a member for life.

August 9, 2019

Richard Sherman, Consultant, Self-employed

Watch and Code has been a real breath of fresh air for me. I have worked in various aspects of independent front-end and corporate web development for over 10 years. In that time, I have read countless blog posts, Medium articles, Stackoverflow recommended readings, and programming books. I've watched endless tutorials, online courses and used web-based learning platforms for a wide variety of web technologies.

But I can say with no hesitation that during the past few months, working through Gordon's program, I have learned more practical information in a short time than in any attempt to learn a new technology during my previous 10+ years of experience. From a technical standpoint, I've found the lessons and instruction introduce and reinforce new concepts more clearly and more effectively than any program or book I've found before. Critically, the heavy focus on code digestion techniques has been instrumental in coming out of the premium coursework feeling empowered to find answers on my own.

If you are new to coding, or just feel like your programming skills are stagnant or underwhelming, I can't say enough about this program and about Gordon. You WILL be pushed, you WILL something new every single day, and if you finish this course and take it seriously you WILL come out the other end better prepared for the next steps into the engineering world than through any other program I've seen.

March 30, 2019

Janelle de Ment, Open Source Developer, Mozilla Firefox

Before finding Watch and Code, I had gone through a myriad of different online courses trying to learn programming. While I was able to understand basic syntax I was having a hard time carrying my understanding through to any sort of practical application. I decided that maybe a bootcamp was my best option and it was during preparation for a bootcamp that I found Gordon’s Practical Javascript course. In one of the first lectures, Gordon described his early struggles with learning programming and it spoke to me in a very personal way. It seemed to describe my own experience very accurately. I breathed a sigh of relief and settled down to digest the course which felt almost effortless.

After completing Practical Javascript, I immediately signed up for the premium content. After about a month of being active in the premium content, I also decided to abandon the idea of going to bootcamp because I just didn’t feel I needed to do it anymore.

Entering the premium content was like suddenly being a part of a family; a family that cares about your success. Every day, you can join an accountability meeting to stay on track with your progress. Before I attended these meetings, I didn’t really believe that anyone in the world would care about my progress in programming...not even a teacher at a university or bootcamp. How could they? They only see you once/twice a week for approximately 3-4 months. Gordon, on the other hand, attends these meetings every day asking what you’ve done to further your understanding. He says he doesn’t hold your hand through the premium content. While this statement is absolutely true, you do put in the work on your own, it’s also a bit misleading. If you participate in the community that premium content provides, it’s like having Gordon walk along beside you... the whole way.

Now, I actively contribute to open source projects and am starting to consider interviewing for jobs as a developer. When I first started learning programming, I never thought I’d get this far as a self-taught person, without the help of a university or bootcamp. As it turns out for me, it took a village, the Watch and Code village. This course is more than just a curriculum, it’s a support system that encourages you to keep at it, keep learning, keep coding and to not give up.

August 8, 2018

Rick Hallett, Software Developer, School Business Services

I joined Watch and Code in October 2017. It was, unreservedly, the best decision I made in my journey towards professional development work. I have tried many online resources; this was the only one that resulted in an increase in my baseline skill levels that can persist over time, and so Gordon helped me forge the literal foundation on which to build an entire career and way of life. I posted a video review on youtube to try and say thank you.

https://youtu.be/AIk5JqDLWkk

July 24, 2018

Anthony Xie, Open Source Developer, Mozilla Firefox

Over time, I've come to recognize and trust in the care and thoughtfulness Gordon has put into Watch and Code. As a beginner, it's hard to distinguish between what learning resources are good or bad. There are numerous courses of varying quality online and even more people suggesting different paths like learning "X" framework and reading "Y" book. However, with Watch and Code everything you learn is cumulative. Each next thing we work on in the course can only be done after mastering the previous topic. In this learning environment, the students have a well-defined linear path of what to learn and when to learn it. This is one of the core strengths of this course that is uncommonly found elsewhere, but crucial to improving.

To address the question of what you get from this course, I'd say that students gain an independence and freedom that can only be achieved when reaching a certain level of technical expertise. Students who complete this course don't know the ins and outs of the most recent popular frameworks. Instead, what they gain is the ability to independently read and understand those frameworks on their own. The invaluable skill of learning how to independently process and understand complex subjects is insanely useful.

This course will require you to dedicate time and effort, but the return on investment is huge. I highly, highly recommend this course.

May 2, 2018

Jérémy Mouzin, Founder and Instructor, JavaScript de Zéro

I’m a software engineer that worked 10+ years in various industries. I learned a lot of different languages in my career. I decided to learn JavaScript recently using this course created by Gordon Zhu. Here is my review.

If you’re an absolute beginner in programming, this is the perfect course for you, and I really mean it. I’ve read lots of books and tutorials in my career for several different languages and none made me loved to learn how to program as in this course.

Gordon has a really good faculty to teach and break things down into small digestible steps. The community in the Slack channel will help you move forward and never get stuck, that’s a huge asset for a beginner to not lose your motivation and avoid frustration.

If you’re a professional software developer like me, I think this course is the fastest way to learn JavaScript from scratch with best practices in mind. I watched the whole course and I had no difficulties to understand every concept quickly.

You may want to know how long does it take to actually complete the course? I can’t answer that question because it depends on your available time per day, your skills, your abilities etc. but what I can tell you is that this course is underpriced.

In fact you don’t purchase a course for this price, you purchase a good learning environment and that has unlimited value. This can make the difference between a frustrated alone student stuck on a problem for hours, that will finally lose his motivation and quit, and a student that will get support from his peers and fix quickly his problems.

If you want to know more, I wrote a full and honest review about each chapter of the premium course on my blog: https://jeremymouzin.com/blog/watchandcode-review/.

January 9, 2018

Brian Baso, Program Manager Intern, Microsoft

Before I joined Watch and Code, I spent almost two years trying countless resources to learn to code. These past resources made it seem like I was learning but when I was on my own I realized that none of the information stuck. I think most people give up at this point, however, I continued and kept failing miserably with subpar coding classes online.

When I began Watch and Code, I adapted to Gordon's teaching style almost instantly. I finally figured out that learning to code isn't about learning specific technologies ("Build a React app in 15 minutes" or "Build a full stack MERN app" were some previous videos I'd watch) but instead, learning to code is more about learning to READ source code, test code with the debugger, and learning to comprehend the lengthy documentation. This may sound intimidating at first, but it is absolutely necessary if you want to become someone skilled enough at programming to create the idea that's been in the back of your head for a year, or what most people aspire for— landing that job.

Gordon continues Watch and Code premium with the same amount of depth and clarity as Practical Javascript. He works diligently to move you from "Beginner" to "Independent", meaning that you don't need to rely on tutorials anymore, and you now have finally constructed your foundation of confidence towards becoming a professional developer. If you decide to continue with premium, make use of the daily accountability meetings. You can find me and many other dedicated students from all around the world supporting each other on our coding journey every day. I've been to about thirty of these meetings now and Gordon has been at every single one. Thanks for all that you've done Gordon. Cheers!

June 13, 2017

Rhett Del Fierro, Software Engineer, NetFortris

I've been programming for the better part of two years. First after taking a C++ course in college and really got into it with Swift where I knew I wanted to do this as a profession. Eventually I converged onto Javascript. The problem was Javascript was difficult for me to learn and even further, I started getting major anxiety from it. I kept pushing, looking up and purchasing resource after resource but not really going anywhere because I simply could not wrap my brain around it. I was failing to understand the browser environment, the DOM, window object, the event loop, and the code itself: many of the keywords ("this", "new", etc.), IIFE's and how it all came together. On top of that, technology and programming moves at such a fast pace, I started to see arrow functions and new keywords like "class" emerge.

I put Javascript off because I was simply overwhelmed. I coded plenty with Golang, Haskell and Elixir and built some server-side projects with those languages during this time. Of course to make my projects come together, I still had to learn Javascript to get my data presented and interactive. Again, after spending some time with it, I got discouraged. Still didn't understand. I picked up React without fully understand how it was working under the hood and started doing some patchwork programming and thought that'd be the extent of my understanding.

I wasn't even looking for any advice concerning resources for Javascript at this point until I came across some recommendations on Reddit for Watch and Code. There is nothing like this course, especially the premium content. All the technical details I mentioned above about Javascript were explained to the point where it made sense intuitively (a lot of it built up from Practical Javascript, don't skip that). Gordon has a gift for teaching these things with the correct amount of detail. Sometimes explanations are abrupt and to the point while other topics go into more detail and depth, but is explained in a way where it won't overload you. Then it just all comes together. I even had (I'm sure you will too) insights before things were explained, because each video sets a great foundation so that you can feel the next step. No way I make those leaps without the prior explanations, and I've read hundreds (to maybe thousands) of pages on this language (he also explains why that wasn't the most ideal approach) and watched hours of videos elsewhere. But none have explained it with the same efficiency. Second to none when it comes to JavaScript explanations, and I've probably seen most of what people recommend on Udemy, Youtube, etc.

Even then, that's not the real core of this course. The emphasis on problem solving and the techniques he shares when to attacking a problem, breaking down someone else's code, understanding something you don't know, writing clear documentation, etc. translate into every language. I've gone back and refactored much of my code in Golang and Elixir using what Gordon's taught and not only is it more performant, but it's more legible and clear. It absolutely helped me become a more organized programmer and thinker in and outside of JavaScript. I now understand the gist of those React components including what problem the framework tries to solve, and how much of it works under the hood and now am building the client-side to one of my backends with Vue. The knowledge gained has transferred to every programming related thing I'm doing. There are so many more good things to say about this course but I'll leave it with this: not only has it illuminated JavaScript, but it also helped me grow as a programmer, self-learner and thinker as well. It's really a one-of-a-kind course.

January 24, 2017

Adam Kearney, Software Engineer, Amazon Alexa

Watch and Code is hands down the best coding course I have ever taken. This is completely a hidden gem.

Before taking this course, I considered myself a beginner. Due to using the wrong resources, I only knew what they had me memorize. My process was slow and painful.

This course takes a very different approach. It's about enabling you to learn on your own and solve problems you have never seen before.

First, you will essentially learn how to read someone else's code (via open source projects). Your goal of reading is to understand how the code works. Gordon, your instructor, will show you the process you should follow.

Once you understand, writing code is so much easier. You'll have the skills to actually problem solve because you know how to figure out what's going right or wrong.

It is insane no other courses teach you how to read real code so that you can then learn. Imagine learning anything if you didn't know how to read? In addition, it is insane no one teaches you using real code bases. Why work on stuff that is fake and theoretical when you can work on something that is real and grounded? Gordon nailed this approach.

With Watch and Code, you will move from being dependent to independent pretty quickly. It's a huge milestone for any learner. It's where you take off because nothing can hold you back.

Take this course. Take this course. Take this course.

Contact me at https://twitter.com/K3ARN3Y if you have any questions.

January 2, 2017

Aaron Chiandet, Product Manager, SpyFu

I've been working in this industry for close to 16 years now as a designer. I have strong knowledge of html/css but I never took the time to truly understand the fundamentals of programming. In 2013 (yes, three years ago) I decided to change that and started plowing through all the well known JS MOOCs available online. All of which left me feeling confused and moderately hopeless. I was never able to make the leap from beginner to intermediate or even "expert beginner." I could tell you what an immutable object was, but I had no idea what you would do with it or why I should care about it. This left me questioning if I was "built" to be a programmer, clearly it was my problem, not the companies that teach JS, right?

Then I completed Practical JS and everything started to change. Watch and Code is one of the most unorthodox curriculums that I've participated in, you will focus on skills that no one, including the most popular MOOCs, will cover. You learn how to use the dev tools to debug your code and help remove confusion as you write code. You learn how to read documentation along with other peoples code which is such a core skill to being a developer. Docs once made my head hurt, literally. Now I greet them with open arms and optimism.

If you want to be a software engineer in three weeks, this isn't the course for you. However, if your goals are even remotely like mine, and you're willing to put in the time to learning properly, then this is absolutely the right place to start. I've had more growth in the last three months than the last three years running down rabbit holes.

The real struggle today, is to maintain focus because I want to build 10 different things I have in my head. I should also note, I'm not even that deep into the premium content and I feel this way.

December 16, 2016

Jon Rojas, Product Manager, Perfect Sense

I started with the free 'Practical JavaScript' course and the first thing I noticed was just how strong the structure of the course was. Gordon's teaching style is to give you the fundamentals as a foundation and build on top of that. He adds a level of complexity EXACTLY when you need it. No sooner. No later. It's by far one of the best online JavaScript resources I have come across and I've used all of them. FreeCodeCamp, Codecademy, Code School, etc etc.... you name it, I've tried it.

The Premium Membership is a no-brainer. Going through the premium content can be summed up as "forced reinforcement". The program is full of opportunities to strengthen the connections you make while learning. I love it. You will too!

October 3, 2016

Kenny Lee, Co-founder, Weblife (acquired by Proofpoint)

One of my 2016 goals was to learn JS deeply. Not just copy/paste code, tutorials, and barely make a functioning website, but to really know/understand JS as if it was my native language.

I consider myself somewhere in between a beginner and intermediate JS programmer. I graduated from Udacity (took 7 months), then proceeded to take/purchase more intermediate books and online courses. I spent too much time and resources that it's embarrassing. Before W&C, I 'sorta' knew ES5/ES6/jQuery/ReactJS. Also, along the way, I got side tracked with Grunt/Gulp/Webpack/Browserify/Bower.

This is a mistake that I've been making for the past year.

W&C Premium Content has changed all this...and it was completely unexpected. I was impressed with the free 'Practical JavaScript' course, but I already knew most of the materials. But I really liked Gordon's teaching style, so I decided to give the 'Premium Content' a try. Boy, it's worth it!!!

Here are my takeaways so far...

Let's learn how to read open source code! Line by line..yes really...LINE BY LINE. I scoffed at first b/c it was jQuery, but that's not the point. It teaches you how to really READ, INVESTIGATE, DEBUG, UNDERSTAND code that you didn't write. This is a must have skill!

Let's write code starting with tests. TDD! Ugh, I need to spend time learning a complicated test tool? NO! Gordon open sourced the easiest testing tool I've come across. You just focus on coding and testing...not learning a tool.

Let's learn forEach/map/filter/reduce functions. Yeah...I thought I knew them too. Gordon takes you through how to re-create these functions! If someone asked me if I knew what they were, I would've said 'think so...sorta'. Now, I'd say 'hell yeah! let me show you how they work under the hood!'. Oh, as I mentioned before...you learn all this by writing tests first...amazing.

Do you know how to read MDN? No? Me neither...until now! I felt that it was almost always too much info and too intimidating for me. I mostly used w3schools and StackOverflow since I didn't have the patience to read through MDN. Gordon takes you through an example on how to read MDN, and create test requirements from them as you are re-creating the reduce function.

When I started to write this review, I wasn't going to gush, but just ended up being this way. I'm very realistic about learning formats and expectations.

Could I have gotten this type of JS foundation elsewhere? Maybe...but it would take you much more time and money. It's extremely difficult to keep focused in such a crowded JS/code tools/framework/shiny toy.

Just sign up, and follow the W&C path. You'll learn JS deeply.

August 27, 2016

Anthony Ko, Co-founder, Graft Concepts (YCombinator W17)

If you found Gordon's free Practical JavaScript course to be as helpful as I did, you'll definitely want to continue with the Premium Membership. These videos are completely unlike any other programming course you will ever encounter.

Like many people, I've spent time going through the free tutorials that are out there. I've found that they either fall short on details, and just give you super beginner info, or assume you have some sort of prior knowledge and gloss over difficult concepts that are completely foreign to me. This course fills the knowledge gap and gives you both breadth and depth in JavaScript that other course fall short on.

In the first series of premium videos, Gordon investigates an app that's written with jQuery. You'll start by reading code, then break down each function to see how it works. There's lots of instruction on how to use the debugger, and you'll get exposure things like templating with Handlebars.js, and routing with Director.

I finally feel like I'm making forward progress in learning how to program. The course provides some solid base knowledge. I am finally starting to understand things that are written in the official docs for the various JavaScript frameworks. I don't have to constantly google for tutorials and cobble code together to get something to work.

There's an active Slack channel for premium members. The instructor is active in answering questions, which means you won't get a bunch of beginners giving each other bad advice. You'll have someone with experience to teach you how to learn, and a place to turn to if you end up getting stuck somewhere. Through taking the course, some students have already contributed to open source projects.

July 26, 2016

James Squillante, Developer, BBVA Compass

The membership has been such a great and motivating experience interacting with a dedicated instructor and community on a daily basis. The main thing that sets this offering apart from others is that Gordon pushes us to think on our own and truly understand code; releasing us from the dependency of tutorials.

We'll take real web apps and break down the source code to understand every detail of how it's supposed to work. This not only shows us real world examples and how to incorporate different libraries and techniques to get the job done, but also exposes us to reading quality code which enables us to create more insightful and intricate work of our own.

June 4, 2016

Brandon Plemon, Software Engineer, Nikola Motor Company

This is not just another “course”. Gordon does not have you just copying his code and at the end saying ….. tada ….. you have a web app. He actually goes into the how/why of the code. It dawned on me the other night as I was looking back on all my other courses, the instructors probably had my best interests in mind but all they did was teach the basics, walk you through building an app, and call it a day. There are discussion forums and they help a little but there's definitely something missing from this learning style (as I’m sure you're all aware of since you found this course).

I came to the conclusion that there's a disconnect from someone who's really good at something and their teaching ability. Many just assume you know certain things because, well, they knew it (even if the course says it's for complete beginners). They dumb some things down but they definitely assume a certain level (usually a pretty proficient level) for other things and it usually makes the course difficult or useless as you then have to find a different course to figure out the stuff the first course was talking about.

Gordon starts you with his free content and literally starts you from 0 and works your way up. He even pushes people not completely comfortable with Practical JavaScript to not start the premium content yet. This gives him a huge advantage because he can safely assume what your knowledge is by the time you get the Premium. The premium content is SOOOOO unique. I watched the first few lessons and I was a little confused at first. Not at the content but the way it was being taught. He goes through an open source web app and actually steps through the code in the console while explaining/questioning what is happening. I rewatched the video after understanding how he was teaching and it is crazy how effective it is.

Gordon could have easily just said hey we are gonna build this app and coded it with us through the process and called it day but he doesn’t. It honestly feels like he wants us to understand what is going on. I think it’s safe to say there are two types of instructors out there. There are instructors who are teaching you to code a certain app and there are instructors who are teaching you to program. Gordon is definitely the latter. If you have spent any money on Udemy, Treehouse, CodeMentor or any of the other myriad of available courses out there, you'll be blown away with what you get from Gordon and you would be hard pressed to find a better course.