Feedback is vital for us to improve our work, and yet we often overlook how best to discuss and review our work. In this talk, you’ll gain tips on how to get better feedback for your own work, and how to give better feedback to your peers.

Begin with the End in Mind. We'll use this timeless adage to examine the hype behind functional programming patterns in javascript. In place of mathematical proofs, we'll look at the end results we can achieve with todays tools, and dive into the functional ideas that drive them in all parts of our front-end stack:
Functional Rendering: fn(component, appState) == UI
Data Management: Data flow for humans
Performance: First simple, then Fast
So leave the math textbooks at home, and get ready for a fast-paced tour of the tools and techniques you can use to get started with functional Javascript apps today.

This talk will cover reasons why you should use Ember.js, the basics, resources and a demo app to help you get excited to build your first Ember app. The Ember core team has experienced engineers who have already solved common framework headaches, large scale problems and standards compliance. Ember is ready for prime time, so we’ll also explain why Ember will work well in both small apps and in the enterprise.

Design Patterns have been a divisive topic in the programming community. Some consider them indispensable, while others find them harmful when intentionally applied.
In the game of Go, there exists a similar divide around the concept of Joseki. They've had more time to wrestle with this conflict, though, and Toshiro Kageyama has made an attempt at reconciling these factions. In his seminal book "Lessons in the Fundamentals of Go", there is a chapter titled "How to Study Joseki". We will be applying this approach to studying Design Patterns.

The human brain contains 100 billion nerve cells that each operate at a paltry 100 Hz. Clever wiring, parallel computing, some nifty algorithms, and heavy use of caching helped propel our species to the top of the food chain, fly to the moon, and build waffle makers. But it's not all sunshine and candy. Evolution installed several "bugs" in our brains, including cognitive biases and some serious impediments to acting rationally. In this meta talk, learn a little about how our minds work, and how we can exploit that knowledge to become seriously awesome engineers.

You’ve done what you need to do to create a functioning, responsive, good-looking site that works blazingly fast in your development environment. How sure are you, however, that it performs well for your users? Does it render quickly? Does it respond well to user input? Where are the bottlenecks of your site? More importantly, can you increase both the perceived and actual speed of your site? Let’s take a dive into tools for checking site speed and improving site performance. We’ll review the available tools for cross platform, multi-device front-end performance testing, find bottlenecks, simulate our users’ experiences on our site, then automate those checks using Grunt and good old-fashioned shell scripting. In the end, we’ll be able to see how our site changes have affected our site performance, and what steps we can take to increase perceived and actual site speed.

We don't know what good code looks like, and we probably never will.
And yet, we spend a lot of time arguing about code quality. This is a talk about the flaws in our collective assumptions about "good code", and how that flawed reasoning has snowballed to deleterious effect in individuals, on teams, in our community, and throughout the industry.
Exploring this theme, we'll find reinforcing loops that push out empathetic developers in favor of more callous ones. We'll see why teams actively resist diversity. We'll better understand our demand for thought-leading celebrities. We'll even learn how our "Good Code" delusion has educated businesspeople to misunderstand the nature of software.

As developers, we've all see the browser based playgrounds that are useful for demonstration, training and tutorial purposes for various programming languages and frameworks. Often times these are implemented using some fancy emulation of a programming language's interpreter using Javascript, but Jen wanted to see if there was a better way to do this generically.
In this talk, Jen will talk about the process of building an open source version of a "code sandbox" using Docker and Go called "codetainer". Think codepinic.com, but one you can host and modify for your own purposes! She'll discuss some of the benefits and 'gotchas' about using Docker in this way, and some interesting use cases for this technology. Come and play!

How should you design modern, highly scalable and agile SAAS products? This session will cover the pros and cons of monolithic architecture and microservice architecture along with XYZ scaling, inter service communication and API gateway.

We'll run through some common problems web companies face and solve them using AWS tools and design practices. In addition we'll look at how developers and ops can work together to improve their product.

MarionetteJS has proven to be a great companion to take BackboneJS & front-end applications development to the next level. It offers powerful additions to Backbone including multiple new view types with other built in utilities like template helpers and automatic event binding. Come learn how to empower your views with this talk, and see why there’s more cats.

As a new programmer, everyone tells you to build. But just as important is reading. Reading code is a powerful exercise - dissecting the source code of gems and libraries used in Rails offers the opportunity to examine patterns and design choices, while building confidence in new developers. But good code reading isn't as simple as scanning the source. The concrete guidelines outlined in this talk can maximize the benefits of your future code reading sessions and help you grow as a developer.

The hardest part of design is presenting work. We’ve seen people who’ve done amazing work get up in front of a client and lay eggs. We’ve also seen people do mediocre work and wrap clients around their little finger. Optimally, you want to do good work and present it well. We’d rather have a good designer who can present well than a great designer who can’t. Work that can’t be sold is as ineffective as the designer who can’t sell it. Presenting is a core design skill. In this session, Mike will go over the most common mistakes designers make when presenting their work, and how to avoid them.