Joel Cochran


Joel Cochran is currently serving as a Technical Evangelist on the Microsoft Civic Technology Services team. Joel was born in Virginia, grew up in Iowa, and graduated from James Madison University in Harrisonburg, VA. After serving in the United States Army, he moved to Florida where he fell backwards into a job at a software company. Before long he was a software developer on the IBM AS/400 platform. After moving back to Virginia a few years later, he worked for a micro-ISV writing software for local governments. This period led him through a wide range of technologies such as RPG, DB2, Java, Perl, PHP, MySQL, Linux, and more. In 2003, Joel discovered C#, .NET, and SQL Server, and has been dedicated to the Microsoft stack ever since. Over the years he has ranged through a variety of web, desktop, and database development tools and environments. An accomplished writer and speaker, Joel loves to teach and was a 6-time Microsoft MVP prior to joining the company. He lives in Harrisonburg, VA, with his family, and is an avid pool player.

Understanding Azure Data Factory

Saturday, February 25th, 2017 at 1:30 pm

Whether it is enterprise, government, or science and research, big data and analytics projects require processing large volumes of data. Data ingestion, movement, and transformation operations consume significant time and resources. This is exacerbated by the fact that in today’s rapidly shifting ecosystem, data comes from a wide variety of sources: structured and unstructured, logs, streaming data, and more. Azure Data Factory (ADF) is an Azure service that allows you to create pipelines for automatically ingesting, moving, and processing large volumes of data. In this session, you will learn the basics of ADF, how to create and schedule pipelines, process data from various sources, and how to create custom activities with C#.

The Road to the White House Goes Through the Cloud

Saturday, February 25th, 2017 at 10:00 am

Today’s Presidential campaigns have the technical sophistication of a modern enterprise, the constrained environment of a startup, and a relentless time frame. Political rhetoric may get air time, but data wins elections. Political operatives use data analytics to target communications, identify supporters, garner donations, organize field staff, drive voter turnout, and predict outcomes. In this session, Microsoft’s Campaign Technology Services team will discuss: its role in the 2016 U.S. Presidential campaigns; the Iowa Caucuses and the party conventions; our customers’ adoption of Machine Learning, various Azure data platform tools, and the broad implementation of Power BI visualizations.

“this” isn’t what you think it is: JavaScript for object oriented programmers – II

Saturday, March 21st, 2015 at 11:30 am

NOTE: Part II of DOUBLE LENGTH SESSION

JavaScript is not just for DOM manipulation: with its growing presence in browsers, on servers, and now the desktop with Windows 8, JavaScript is fast becoming the ubiquitous programming language. Regardless of your background, odds are pretty good that JavaScript will be part of your future. JavaScript has a unique feature set that can make it challenging for object oriented programmers. In this introductory session we’ll discuss some of JavaScript’s pitfalls and strengths. We’ll take a look at strategies for developing JavaScript namespaces, classes, and objects from an object oriented perspective.

“this” isn’t what you think it is: JavaScript for object oriented programmers – I

Saturday, March 21st, 2015 at 10:00 am

NOTE: Part I of DOUBLE LENGTH SESSION

JavaScript is not just for DOM manipulation: with its growing presence in browsers, on servers, and now the desktop with Windows 8, JavaScript is fast becoming the ubiquitous programming language. Regardless of your background, odds are pretty good that JavaScript will be part of your future. JavaScript has a unique feature set that can make it challenging for object oriented programmers. In this introductory session we’ll discuss some of JavaScript’s pitfalls and strengths. We’ll take a look at strategies for developing JavaScript namespaces, classes, and objects from an object oriented perspective.

The Fundamentals of Unit Testing

Friday, March 20th, 2015 at 8:30 am

By now you have heard of unit tests. Perhaps you have read an article about them or watched a video. Maybe you have even tried to write a few yourself, but the whole unit testing “thing” has not quite hit home yet. Maybe you have been put off by the Testinistas or your company thinks unit tests are just a bunch of extra code. No matter where you are on this spectrum, if you are not writing unit tests as part of your daily coding, then this talk is for you. In this introduction, we will discuss the value of unit tests. You will learn some practical techniques you can use to start to make unit testing part of your daily routine. After our introduction, we will look at more advanced topics such as mocking and Test Driven Development (TDD). We’ll finish our discussion by looking at Microsoft Fakes and discussing how to test legacy software.

A Gentle Introduction to Unit Testing

Sunday, June 22nd, 2014 at 2:00 pm

By now you’ve heard of unit tests. Perhaps you’ve read an article about them or watched a video. Maybe you’ve even tried to write a few yourself, but the whole unit testing “thing” hasn’t quite hit home yet. Maybe you’ve been put off by the Testinistas or your company thinks unit tests are just a bunch of extra code. No matter where you are on this spectrum, if you aren’t writing unit tests as part of your daily coding, then this talk is for you. In this gentle introduction, we will discuss the value of unit tests. You will learn some practical techniques you can use to start to make unit testing part of your daily routine.

“this” isn’t what you think it is: JavaScript for object oriented programmers – II

Saturday, June 21st, 2014 at 4:30 pm

NOTE: Part II of DOUBLE LENGTH SESSION

JavaScript is not just for DOM manipulation: with its growing presence in browsers, on servers, and now the desktop with Windows 8, JavaScript is fast becoming the ubiquitous programming language. Regardless of your background, odds are pretty good that JavaScript will be part of your future. JavaScript has a unique feature set that can make it challenging for object oriented programmers. In this introductory session we’ll discuss some of JavaScript’s pitfalls and strengths. We’ll take a look at strategies for developing JavaScript namespaces, classes, and objects from an object oriented perspective.

“this” isn’t what you think it is: JavaScript for object oriented programmers – I

Saturday, June 21st, 2014 at 3:00 pm

NOTE: Part I of DOUBLE LENGTH SESSION

JavaScript is not just for DOM manipulation: with its growing presence in browsers, on servers, and now the desktop with Windows 8, JavaScript is fast becoming the ubiquitous programming language. Regardless of your background, odds are pretty good that JavaScript will be part of your future. JavaScript has a unique feature set that can make it challenging for object oriented programmers. In this introductory session we’ll discuss some of JavaScript’s pitfalls and strengths. We’ll take a look at strategies for developing JavaScript namespaces, classes, and objects from an object oriented perspective.

Intro to TypeScript

Saturday, November 23rd, 2013 at 3:00 pm

TypeScript is Microsoft’s entry into the JavaScript pre-compiler space. As a javaScript superset, TypeScript compiles to JavaScript and introduces concepts such as strong typing, classes, modules, constructors, namespaces and more to JavaScript development. In this session we will discuss the use cases for TypeScript and investigate the tooling around it as we dig into the fundamentals of this new language.

Using KnockoutJS with ASP.NET MVC

Saturday, November 23rd, 2013 at 8:30 am

KnockoutJS is a framework for implementing MVVM architecture in client side JavaScript. Purely JavaScipt, it leverages HTML5 features to provide robust data binding and UI support. In this session we’ll discuss the basics of the Knockout framework. We’ll specifically examine it from the perspective of an ASP.NET MVC application. We’ll cover different strategies for integrating data, creating Knockout ViewModels from ASP.NET MVC ViewModels, and how to leverage MVC4 WebAPI with Knockout. We’ll investigate different application architecture strategies from traditional controller driven views to Single Page Applications.

Intro to TypeScript

Saturday, May 11th, 2013 at 3:00 pm

TypeScript is Microsoft’s entry into the JavaScript pre-compiler space. As a javaScript superset, TypeScript compiles to JavaScript and introduces concepts such as strong typing, classes, modules, constructors, namespaces and more to JavaScript development. In this session we will discuss the use cases for TypeScript and investigate the tooling around it as we dig into the fundamentals of this new language.

“this” isn’t what you think it is: JavaScript for Object oriented programmers

Saturday, November 17th, 2012 at 8:30 am

JavaScript is not just for DOM manipulation: with its growing presence in browsers, on servers, and now the desktop with Windows 8, JavaScript is fast becoming the ubiquitous programming language. Regardless of your background, odds are pretty good that JavaScript will be part of your future. JavaScript has a unique feature set that can make it challenging for object oriented programmers. In this introductory session we’ll discuss some of JavaScript’s pitfalls and strengths. We’ll take a look at strategies for developing JavaScript namespaces, classes, and objects from an object oriented perspective. We’ll also discuss some of the more popular JavaScript libraries that you’ll definitely want to have in your toolbox.