How to Become a Lifelong Learner

Lifelong learners recognize that learning just doesn’t happen in school or at work—it’s an ongoing process that can happen anytime, anywhere. In this video, learn what it means to be a lifelong learner as a software developer.

React vs. Angular vs. Vue

You’ve heard of React and Angular… and there’s this new thing called Vue? But you don’t have time to learn all three. So, how do you choose?

Treehouse Dev Team Show

Hype Driven Development

In this episode, Treehouse Teacher, James Churchill, talks to Craig Dennis about Hype Driven Development.

Imposter Syndrome

Kenneth Love talks about his Imposter Syndrome moment.


Reactive Programming with RxJS

Recorded on 09/16/2016 as part of the 2016 UtahJS Conference

RxJS, the Reactive Extensions for JavaScript, is a set of libraries that give us powerful tools for managing concurrency in our applications. Using RxJS, we use Observables to represent asynchronous data streams and then query those streams using one or more of the many available operators. In this talk, we’ll create some simple examples to explore what Observables are and how to use them. Along the way, we’ll compare and contrast Observables to the other familiar tools in our JavaScript developer’s toolbox: event listeners, callbacks, and promises. We’ll also look at an Angular 2 example, which favors using Observables over promises.

Can Anyone Learn to Program?

Recorded on 03/29/2017 as part of the March Donut.js Meeting

Are there innate abilities that make some people better suited to become programmers? Or can anyone learn to program? Does talent alone create success or can dedication and hard work make up for an initial lack of talent? This talk will examine the fixed and growth mindsets and what they can teach us about ourselves and how our industry can grow and nurture great developers.

Getting Started with ASP.NET Core in Visual Studio 2017

Recorded on 03/08/2017 as part of the Visual Studio 2017 Launch and 20th Anniversary Event

ASP.NET Core is an open-source ( and cross-platform framework for building modern web apps using .NET. It is a significant redesign of ASP.NET that is built from the ground up to provide an optimized development framework for apps that are either deployed to the cloud or run on-premises. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac, and Linux.

In this module, we’ll create a simple app using both the .NET Core command-line interface (CLI) and the latest tooling available in Visual Studio 2017. Along the way, we’ll also take a look at some of the key new concepts and features that are part of ASP.NET Core and how they compare to the ASP.NET that you know and love.

Exploring and Migrating to TypeScript

Recorded on 03/08/2017 as part of the Visual Studio 2017 Launch and 20th Anniversary Event

TypeScript is a statically typed superset of JavaScript that compiles to plain JavaScript. It can help you be more productive and write higher quality code. That’s all great, but migrating an existing JavaScript project to TypeScript can seem like a daunting proposition.

Luckily, benefitting from TypeScript doesn’t require you to migrate your entire project to TypeScript. You can benefit from TypeScript by making incremental changes to your project.

In this module, you’ll learn the basics of the TypeScript language and how to incrementally migrate a project to TypeScript. You’ll also see how Visual Studio 2017 leverages the TypeScript Language Service to provide a rich JavaScript development experience including features such as symbol-based navigation, statement completion, and code refactoring. And you’ll see how to use JSDoc comments and TypeScript Declaration (d.ts) files to refine the TypeScript Language Service’s understanding of your code.

Demystifying TypeScript Decorators

Recorded on 06/19/2016 as part of the 2016 NodePDX Conference

TypeScript decorators, based on the ES2016 decorator proposal and introduced as part of TypeScript 1.5, provide developers with a way to modify a JavaScript class, property, method, or method parameter using a convenient declarative syntax. We’ll start this session by creating our own decorator, to see firsthand how they work. Then, we’ll take a look at how decorators can be used in a variety of settings.