December 4-6, 2017
Vancouver, Canada

Sessions

Top 20 My wish List
JavaScriptNode.js Asynchronicity is fundamental to JS and a huge benefit for apps and APIs, but developers have had to struggle with difficult to follow logic and code that quickly becomes unmaintainable. Promises were a stepping stone, but they don't solve the problem themselves. This session will cover an intro to Promises, and then how we can use them to build better asynchronous workflows with generators and async/await.
DevOpsPerformance "With microservices every outage is like a murder mystery" is a common complaint. But it doesn't have to be! This talk gives an overview on how to monitor applications. We dive into system metrics, application logs, uptime monitoring, application metrics, and request tracing. Putting all the pieces together, so you get and keep an overview of all the moving parts in a complex system.
Ever wondered why OCTober has an 8 in the name but is the 10th month? Why some clocks from the late 19th century have two minute hands? And what's up with Easter anyhow?
This entertaining talk covers thousands of years of the history of calendars and clocks, exploring how emperors, kings, and whole nations wrestled with technical and cultural headaches that are surprisingly similar to those of the worlds of tech and development.
Java & JVM languages The standard Java JDK offers many libraries to express concurrent and parallel algorithms. But picking the right one can be difficult if you don’t know their strengths and weaknesses – let alone their existence! From primitive threads to the modern Java 9 reactive library, this talk will compare performance, programming complexity, abstraction level and context suitability of nine concurrent & parallel JDK libraries from Java 1 to 9.
AccessibilityJavaScript Long gone are the days when in order to be considered accessible, pages had to work flawlessly without scripting. Scripting has also come a long way, and developers are now even leveraging the powers of JavaScript to rewrite content in order to make it more accessible to ATs. This presentation will cover some of the issues that can arise from using JavaScript, and how scripting can be used in a way that still ensures accessibility.
HTML & CSS CSS is becoming more and more powerful and nowadays it allows a lot of possibilities. This talk compiles examples of more advanced tips and techniques to add to your CSS skills. Have you ever wanted to curve text around a floated image? Or maybe style broken images? How about using attribute selectors more effectively? Then this talk is for you.
ArchitectureJava & JVM languages Learn about the levels of concern within SOA and where to implement different frameworks within enterprise architectures. These are advanced system integration concepts with a focus on high availability using open source frameworks in a service-orientated architecture. It will cover best practice tips for implementing/architecting ESB, mediation router, and messaging in infrastructures needing large scale, high transaction capabilities.
Databases How do you mix SQL and NoSQL worlds without starting a messy revolution?

David will start from a RestX, Hibernate and Postgresql/MySQL based application and will add a complete integration of Elasticsearch, all live from the stage during his presentation.
ArchitectureJava & JVM languages Learn how to choose between two different Apache Frameworks for messaging. With the traction that Kafka has gotten in the last year and the old reliable ActiveMQ, it can be hard to know when to choose one over the other. We will walk through the strengths and weaknesses of each framework and describe how they each solve common implementation details from concurrent consumers and high availability to persistence. Choose your side wisely.
As humanity continues to industrialise and advance technologically, deposits of available minerals are being exhausted leading to concerns of global shortages of rare materials over the next 40 years. But many minerals that are rare on Earth are abundant in space, and space-based-solar is an order of magnitude more productive without night or atmosphere. Will the industrialisation of space solve our future resource and energy shortages?
Tests & quality Successful remote teams are hard, not impossible, but they are hard. Successful remote agile teams are even harder. We went outside of the box to combine our testing strategy to encompass a new idea - the creation of a regression testing team to augment feature teams. It would work in parallel, handling the testing regression cycle while the feature teams—developers and testers—do new development. Mike will show how to make this work.
Architecture You’ve mapped it out in Visio, put in place all the caching and gateways possible, flip the switch…and nothing. Your beautiful microservice architecture fell on its face! In this experience report, we’ll look at a failed microservice implementation and how we fixed it, from the ground up.
Security Biometrics is all the rage. It has been touted as the best of all possible authentication methods. Very soon, your customers and standards boards will require you to implement some sort of biometric factor for authentication. Before you head down that road, you need to know the pitfalls to avoid before becoming the next big breach in the news. Learn a few tricks to help safely secure biometrics to protect your users.
JavaScript Syntax Tree is an underlying structure of a programming language. These structures can be used for understanding, transforming, formatting, linting or minifying code. In this talk, you will learn about working with syntax trees. You will also learn how to apply this knowledge in practice with some live examples.
ArchitectureDevOps Are you ready to continuously deploy every commit to production 25 times a day? No?

We all know it's not quite that easy. You can't take an existing house-of-cards monolith and just start treating it like a unicorn, as much as everyone would like to.

This session focuses on practical ways developers can make inroads towards a better DevOps story for existing software. From architecture, process, deployment pipelines, and even culture.
Cloud ComputingSecurity Health data is some of the most private information your app can collect. You have a duty to your users to keep that data private, secure and encrypted. You also need to adhere to strict laws protecting that privacy, including HIPAA in the USA, the Data Protection Directive in the EU and PIPEDA/PHIPA in Canada.

You'll learn about Protected Health Information (PHI) and how to protect it on Amazon Web Services.
JavaScriptNode.js Bots and conversational apps give you the opportunity to bring your apps to your users right where they are. Users can interact with you via various messaging services, including text messages. This mean that not only they don't need to install another app, but they can access the information and services they want directly, without navigating a UI. This session will show you how to get a bot up and running quickly using Bot Framework.
Machine learning Do you have data you need to analyze to find patterns or make predictions? Sure you can learn R and Python and create your own neural networks, but let’s face it, we coders are basically lazy. We don’t want to write more code than necessary! In this session I will show you how to use Azure Machine Learning Studio, a drag and drop tool you can use to execute machine learning experiments and deploy trained models as web services
JavaScriptSecurity In modern web environment, there is plenty of XSS protection mechanisms. Web browsers (Chrome, Internet Explorer, Edge) are providing client-side filtering for XSS to defend their users. What are the limitations of each? Frameworks are also adding proactive mechanisms. Can we rely on them?
There will be no 0-day bypass for web browser bypass.
AccessibilityHTML & CSS I will demonstrate what the top 5 accessibility barriers are for screen reader users. We will interact with problematic code with a screen reader to get a good idea of what the issues are. We will discuss simple rewrites to improve accessibility. We will compare improved and old code behaviour. We will go through problematic alternate text, poorly labelled forms, lack of headings, badly formed data tables, and keyboard navigation.
ArchitecturePHP In some ways, clean code - like beauty - is in the eye of the beholder. Clean code qualifies as being efficient, well structured and even elegant in its simplicity. Learning how to write clean code takes practice, criticism, and more practice. There are many things that contribute to clean code. Learn some (personal) insights how to write good, clean code to increase the overall quality of your code base.
PHPTests & quality This prototype works, but it’s not pretty, and now it’s in production. That legacy application really needs some TLC. Where do we start? To create long lived apps, it’s imperative to focus on good practices. The solution is to improve the whole SDLC; from planning, better coding and testing, to automation, peer review and more. We’ll take a quick look into each of these areas, and how we can make actionable changes today.
HTML & CSS In this session, you'll learn the correct way to write the HTML for a form to make sure it is accessible, understandable, and shows up correctly in the browser. You'll learn how to validate form data and provide useful error messages. You'll see some tricks for using CSS to make your forms look great on the screen. And you'll find out what you need to do to make sure your forms work correctly and are easy to use on mobile devices.
HTML & CSSJavaScript Are you looking to build a cutting edge responsive web app? Instead of using heavy frameworks that take time to learn, maintain and replace, #UseThePlatform and leverage new web platform primitives to build a better web!
You’ll learn how the Polymer library is fundamentally different than other frameworks. How Comcast is building its next generation single page apps for millions of customers using the latest browser APIs.
MobileTests & quality Mobile app testing tools come in different flavors. Some are aimed at non-programmers, and code-oriented tools with test scripts in a high-level language. Creating automated tests is the first step in reducing total testing time and increasing release velocity. With the move to Continuous Integration, automating the tests, so that they are executed automatically based on project activities can increase velocity and reduce errors.
ArchitectureDevOps You've toiled hard on your code, tested it locally, and you're confident it's ready to go. But for some teams, it can take months or even years before you see it in production! With a great deployment pipeline and some clever architecture, there's a better way.

In this session, I'll walk through the realities of a no-touch deployment pipeline that you can trust all the way to production.
Architecture Design Thinking encourages a user-centric approach to creating products. Developers often get too attached to a solution-centric approach to product design and have the mindset of "build it and they will come" (if it's a good product). Combining Design Thinking methodologies and the Lean approach for startups allows a developer/entrepreneur to have a strong grasp on market demand and user problems before jumping to development.
AccessibilityHTML & CSS Developers often have to make decisions that will affect the usability of the finished site: choosing appropriate input types, maximizing performance, and including accessibility features. Learn to think like a user and uncover usability problems that might not be apparent at first glance. Hear some tips to make your site more usable and accessible. User experience isn't just for designers to think about.
PHPSecurity Security is an enormous topic, and it’s really complicated. If you’re not careful, you’ll find yourself vulnerable to any number of attacks which you don’t want to be on the receiving end of. This talk will give you a taster of the vast amount there is to know about security in modern web apps, such as writing secure PHP web apps and securing a Linux server.
PHP In this session let me introduce you to Disco, a PSR-11 compatible, annotation-based Dependency Injection container. Disco does not use an external configuration file but uses a standard PHP class with some meta data attached to configure your services. I will guide you through the journey of setting up Disco for a new project as well as highlighting its main features. Join me for a fun little ride to "DI done right" land!
CareerManagement How many fantastic SW developers have you met that came from a non-traditional background? Did they all have a CS degree? Should a CS degree be a prerequisite for all SW engineering roles? With the rise of coding bootcamps & self-taught programmers around the world, it is time to start giving a chance to engineers with diverse backgrounds. Chloe Condon - Theater/TV/Movie actress turned Software Developer tells her story.
ArchitectureJava & JVM languages While Streams and Optional interactions have been well discussed for the past few years, many people forget what drives all these new Functional capabilities – Functional Interfaces.
In this talk, default Functional Interfaces will be explained along with how they can be customized, covering some of the most promising new open-source libraries which expand Functional programming in Java beyond its current limits.
Security Are you worried that your REST API may be the next victim of an attack by ruthless hackers? Don't fret. Utilizing the same standards implemented by OAuth 2.0 and OpenID Connect, you can secure your REST API. JSON Object Signing and Encryption (JOSE) is the core of a truly secure standards-based REST API. Let me show you how to ensure the data sent too and received from your API is as safe and secure as is reasonably possible.
Java & JVM languagesTests & quality Java EE has never been easier to test. In this session, you will learn how to perform integration testing using Arquillian and Arquillian Cube (docker integration). Unlike unit testing, integration testing enables you to test large segments of the application in the application container with minimal effort. You’ll see how you can test MDBs in addition to other EJBs and together with client-side JavaScript.
JavaScriptNode.js JavaScript is growing up and browser vendors are on board! But many developers are stuck in the year 2000. This session will show attendees some of the more compelling and practical changes in ES6/2015. We'll talk about new variable declaration types and scopes, default function args, object deconstruction, template strings, "classes", and more. This will be a quick tour, but with practical examples that every developer should have.
Java & JVM languages Modularity has finally come to Java with project Jigsaw. With it comes new syntax, new ways to structure your code and an escape from Jar Hell. But Java modularity will disrupt your code base and you’ll need effective migration strategies - or else end up in Module Purgatory. This talk will present the new syntax, demonstrate how to build modular apps and offer ways to migrate your code base.
.NETPerformance The .NET Garbage Collector (GC) is really cool. It helps providing our applications with virtually unlimited memory, so we can focus on writing code instead of manually freeing up memory. But how does .NET manage that memory? What are hidden allocations? Are strings evil? We will go over the base concepts of .NET memory management and explore how .NET helps us and how we can help .NET.
JavaScript In this talk we will look at the implementation of a simple Angular Material Tab component and explore how Angular handles conditionally displaying elements with structural directives such as ngIf.
Ruby So you've got that big pile of (hopefully) useful code. There are plenty of reasons to extracts some parts to gems, but do you know how to do it? In this talk, I will show you step by step how I extracted a gem from a production application and how I published it.
ArchitectureJava & JVM languages Creating objects in Java using `new` keyword was a no brainer before IoC / DI questioned the approach! Managing dependencies is another topic that we think we have sorted out with Maven central. Yet it's far from perfect! It might be time to challenge that approach too. What if we move from hardcoded artifacts to artifact discovery based on well defined contracts? Can that be done today? What are the issues? How we get there one day?
JavaScriptPerformance More and more websites are moving from server-side rendering to single page applications, making the role of front-end performance optimization increasingly important. This presentation will start with explaining browser rendering, going onto a list of items to watch out for in order to write a fast SPA and ending with a demo on how to debug a slow webpage.
PHP This talk is a 40 min live coding session targeted to PHP developers who wish to use Symfony quickly. While coding a small demo application from scratch, I'll explain the most important concepts of Symfony 4 such as Symfony Flex, autoconfiguration, HTTP request handling, URLs routing, Doctrine and Twig integrations and the famous debugging tools. If you're already familiar with Symfony or just a beginner, this talk is right for you!
Machine learning Data Science and machine learning is a hot topic. In this session you will learn why data science is a big deal, and the steps involved in the data science process. I can’t take you from zero to hero in 45 minutes, but at the end of this session you will have a clear sense of the next steps you should take to become a data scientist.
In his book describing the GTD time management system, David Allen promotes the "Art of Stress-Free Productivity". After too many New Year's Resolutions and too much procrastination, it is time for implementation. You will realise it is not just another collection of self-motivation techniques, but an actionable set of rules to regain control over your life and your to-do list again. This is an intro that's hoping to get you hooked!
ArchitectureRuby I had always known that Ruby's metaprogramming tools were amazingly powerful, but I had never had a project where lots of fancy tricks wouldn't just make things harder to understand.

Recently I got the chance to work on a large complex project where I could use the magic of Ruby to help make things much more manageable.

This talk shows how Ruby's unique power and elegance turned a potential code nightmare into something like poetry.
JavaScript Being a developer of a third-party script means not only that you battle browser discrepancies and bugs, but also non-conforming code that exists on the page. We have spent countless hours debugging issues, only to learn that the culprit was an overwritten method or property that behaves differently than its original native. I will share with you the tools and methods we use to identify and workaround these party crashers.
Databases Wanna transform your documents on the fly before indexing them into elasticsearch? Node ingest is built for you.

The talk will also cover the reindex api, which can be used in combination with ingest pipelines to modify data while reindexing.

Last but not least, I'll tell you how to write your own Ingest processor in Java as a plugin! Our own processor will convert postal addresses from/to geo points.
Java & JVM languages Java EE 8 was released in July of 2017. Java EE 8 includes many exciting new features, HTTP/2 support, security enhancements, JSON-P, JSON-B, CDI 2, and Bean Validation 2. This session will provide an overview of all of the new features along with code samples and the current status of container support.
Databases Apache Kafka is a message broker that offers not only massive scalability and fault tolerance, but also unique guarantees around message ordering and delivery: relaying billing information, detecting security-related events, storing information at high-throughput. Kafka simplifies it all and gives developers a chance to rethink the data flows between components, moving information interchange into the center of their architectures.
PHP You've heard of Zend's new framework, Expressive, and you've heard it's the new hotness. In this talk, I will introduce the concepts of Expressive, how to bootstrap a simple application with the framework using best practices, and finally how to integrate a third party tool like Doctrine ORM.
Career What do you do when you've reached a senior level and want to grow further? The only real answer to this question has long been that of joining the management track. Many technical resources, however, don’t want to be a person manager. Instead, they leave, becoming technical nomads. The Guru Track gives senior resources a way to continue growing and gathering the three career R’s: respect, responsibility and remuneration.
Tests & quality As engineers, we build pretty cool apps. Once users start using our cool apps… well, we run into the fun process of discovering errors. Keeping track of these issues can get messy, getting alerted is stressful, and measuring it can provide you with an overwhelming amount of information. So, how do we combine all these things to make our cool apps work even better than before? In this talk, we’ll dive into logging, errors, and metrics.
Management TaskWarrior is a free, open source, command-line tool for managing task lists. We will explore:
- Getting started with a simple workflow
- Setting up useful reports
- Managing multiple projects
- Integrating with github, JIRA, and Trello (and more!)
- Putting your task-list in your shell prompt
- Writing your own TaskWarrior extensions
ArchitectureJava & JVM languages Everyone is talking about microservices these days! To help you make the right decisions, this talk will first focus on explaining complexity - the problem microservices claim to solve. It then concentrates on modular architecture and how it compares to microservices! Live demo shows how to modularize exiting JEE Glassfish EJB/JSF style application through SpringBoot and OSGi to reach a distributed system with a portal as front-end.
Mobile Mobile app monitoring has moved beyond crash detection – that is table stakes. Now developers monitor user sessions, performance, installation and deletions. Learn about tools that enable mobile app monitoring, from free and open source to commercial, and see how adding these SDKs to your mobile app project provide mobile app intelligence, beyond why the app has crashed, to business answers like what users are do in the app, how often, and more.
Ruby Everyone who's worked in tech has had a day when something unexpected goes wrong. Sometimes these problems are obvious and easy to fix. Other times though they take some work to track down and even more work to verify you actually fixed the bug. In this talk we'll use Stackdriver to find and fix some subtle errors in an example app. You'll leave the tools you need to use Stackdriver on your own projects.
Cloud ComputingDatabases MySQL Replication is a widely used but little understood way of ensuring you have multiple copies of your database information. This session start with simple master/salve replication, walk through the row-based versus statement-based options, and build up to a highly available cluster using MySQL Group Replication. Find ways to tune your setting for peak efficiency while protecting your data.
DatabasesSecurity You’ve mapped it out in Visio, put in place all the caching and gateways possible, flip the switch…and nothing. Your beautiful microservice architecture fell on its face! In this experience report, we will look at a failed microservice implementation and how we fixed it, from the ground up.
Dev Environment.NET Everybody is consuming or producing NuGet packages these days. It’s easy, right? We’ll look beyond what everyone is doing. How can we use the NuGet client API to fetch data from NuGet? Can we build an application plugin system based on NuGet? What hidden gems are there in the NuGet server API? Can we create a full copy of NuGet.org?
Architecture.NET Nothing gets DBAs more riled up than a developer infatuated with an Object-Relational Mapper. ORMs work great at mapping from relational to objects, but can be a crutch. If you want to make your DBA (and your users happy), you’ll want to use your ORM intelligently. In this session, we will look at application patterns, ORM features and more to discover the right way of using your ORM.
Cloud ComputingDevOps We will walk through containerizing services through building Docker images, using Docker Compose to configure the application services, and Codefresh to automatically run tests, and spin up test environments.
JavaScriptRuby Fundamentally changing an app's architecture can be a tremendous success or a catastrophic failure. We recently survived switching our large Rails app to a single-page architecture and came away with useful lessons for handling large architectural changes successfully. This presentation discusses the problems we uncovered, the decisions we made, and the road we took to a better user experience, cleaner code, and a more efficient team.
Tests & quality Do you work with legacy code? Are there scary areas no one wants to touch, or dependencies no one fully understands? Is there low, spotty, or unknown automated test coverage? Is it tempting to wish for “subject matter experts”? If any of this sounds familiar, join me to hear my lessons on legacy code risk mitigation strategies such as code stewardship, team shadowing, knowledge management, test coverage analysis, and culture change.
No matter whether you develop in PHP, Javascript, Ruby, Python or even HTML5, knowing how to write Regular Expressions is an essential skill for any developer.
While many consider regexes to be black magic, used appropriately they're an awesome power-tool in your tool-belt.
This talk will show you how to build effective regular expressions, introduce you to some of the more advanced features and teach you some useful tips and tricks.
Cloud ComputingRuby AWS is the perfect platform to run a Rails App at scale. In this talk, you'll learn how to host and deploy your app using Elastic Beanstalk with the following features and technologies: SSL termination at the ELB load balancer (including a free SSL certificate), caching using Redis on Elasticache, and a database running on RDS.
.NET In today's world, security is of utmost importance. Breaches round the world have shown the sheer amount of data that is at risk every day.

Spencer will demonstrate authentication strategies for your systems, from tokens to OAuth to ASP.NET Identity. We will also discuss common security flaws such as XSS and CSRF and how ASP.NET Core addresses these.

Join us and learn how to avoid being the next story on Have I Been Pwned!
.NETSecurity Security best practices are often generic and language agnostic. This makes the life of a developer much harder than it should be. In this talk, a survey of the most common vulnerabilities in .NET context will be presented. Different vulnerability classes will be explored including XSS, injections and application misconfigurations. This will be done through live demos using open-source vulnerability finding tools specialized for .NET.
Cloud Computing.NET AWS has Lambda, Azure has Azure Functions, Web Jobs, and App Service. Whether you want to script pay-by-the-drink web endpoints or build more traditional micro services, come join us for this code-focused look at architecting, coding, and deploying serverless resources in C# and .NET Core.
ArchitecturePHP Design patterns are conceptual solutions to solve common redundant problems in software engineering. However, learning them is not easy as litterature or tutorials on the Internet often introduce them with theorical examples. This talk gives you a slightly different approach by introducing design patterns with practical code samples to solve real world problems. The talk focuses on the Factory Method, Decorator and Composite patterns.
DocumentationManagement When facing a big, complex and critical problem, there is a way to mitigate risk and get enough knowledge with limited resources: spikes! Following some guidelines, you’ll improve your ability to make better decisions and move forward. You will learn:
- What is a spike
- When to make one
- How to set its scope
- How to prioritize
- How to document progress
- Its definition of done
Performance Varnish is an open source, high performance http accelerator that sits in front of a web stack and caches pages. It is highly configurable and can be used for static or dynamic content equally. It can improve the performance of your website without requiring any code changes. If you haven’t heard of Varnish, or have heard of it, but haven’t used it, This talk is for you! This talk will guide you through configuring Varnish for the first time.
Ruby Natural Language Processing is an interesting but complicated field of
computing. The way humans use language is nuanced and deeply context
sensitive. This talk will give an introduction to the field of NLP using
Ruby. It will cover the history and unique challenges of this field and
then give a demonstration of tools that exist that make NLP available to
everyone.
CareerManagement When bits and bytes convert into a source of income and remote working becomes part of one’s life; there is little choice but to jump head first into freedom by taking on the road leaving everything behind.

This is a cautionary tale on the remote working movement and work-life balance as we know it — as told by a digital nomad who gave up the posh lifestyle and the trendy appartment for a 1972 Volkswagen bus and a pair of wet socks.
PHP So you think you know PHP?

We all compare and test data on every other line in our code - input validation, if-statements, a switch or determining what to display and how. So, of course we are all experts on how to do this…. Or are we?

No matter whether you are a beginner or an expert, come and join in the fun, test your knowledge and learn about defensive programming and the quirks of a loose type programming language along the way.
Management Throughout their career, developers and managers face many projects which appear to be impossible to deliver on time, within budget or within other constraints.

In this presentation, you will discover the secret steps that need to be taken in order to successfully bring back on track any projects. Most important of all, you will find out how to stay cool, keep a healthy mindset and to break through tough situations like a superhero.
Databases PostgreSQL is well known being an object-relational database management system. In its core, PostgreSQL is schema-aware dealing with fixed database tables and column types. However, recent versions of PostgreSQL made it possible to deal with schema-free data. Learn which new features PostgreSQL supports and how to use those features in your PHP application.
HTML & CSS Public APIs have been waning in popularity these last few years; now most companies are phasing them out. Yet, data is POWER. And come to think of it, the entire data available online IS available to you with enough will and effort. In this presentation I will show how to scrape the internet; practically any site using JSoup, OkHttp and Threads.

I will also cover anti-scraping strategies we face and how to circumvent them.
JavaScriptNode.js For all the power and flexibility JavaScript offers, maintaining even a medium sized JavaScript project can be a nightmare. In addition, IDEs offer limited support during development as it's hard to determine object types. TypeScript, a superset of JavaScript, brings strong typing, robust module management, and enhanced tooling while emitting cross-platform JavaScript. And, if you know JavaScript, you can get up and running in 45 minutes.
.NET Ever wondered how Entity Framework and NHibernate translate even the most complicated of LINQ queries to SQL? The answer is simple – expression trees.

In this session, Spencer will unravel the mysteries of expression trees. Attendees will learn what expression trees are, how to create them, and how some of our favorite libraries use them to perform routine tasks.
JavaScriptPerformance Using native browser APIs including server-timing, user-timing, and service workers (and some browser hacks) you can dynamically adjust the content you serve to each user based on their real-time conditions. There is no improvement without measurement - and the most valuable measurement is real-user measurement (RUM). To provide the best possible experience to each user, it is necessary to collect actionable RUM data throughout the entire stack.
ArchitectureJavaScript Developing cutting edge experiences for IoT is challenging. With hundreds of new IoT products added every year, developers need a better way to build front-ends for constantly evolving backends and products, but how? At Comcast we’re working on solving this problem with Web Components. Come learn more about what web components, why they are great for micro services, and critical for mobile development.
.NET Have you heard the buzz? .NET Core 1.1 is released, and .NET Core 2.0 is on the horizon. Want to get started and don't know where to look? Or played with some old betas and want to get restarted? Come journey with us through the fundamental principles of .NET Core, look at how these evolved during the development of .NET Core, and see how you can get started today building and deploying .NET Core products.
Tests & quality Obtaining test data is certainly not the most glamorous part of the software development lifecycle. However, it can take a lot more time and cause a lot more headaches than it needs to if you don't plan for it. I will share a list of 10 questions about test data that are useful to ask when starting a new project - usually just a bit of planning can be a big help in helping you avoid wasting time or missing test coverage later on.
Databases Only 2% of developers have formal training in structured query language, relational theory, or even simple sets. Yet, they use a database to store data and wonder why their queries are so slow. This session covers what really happened when you submit a query, why you can not visually tell a poor query from a good one, how to skip the 'N+1" problems, and more. Do not be a slave to slow queries! Learn to become a minor database deity!
PHP Despite PHP's reputation of being old and antiquated, it has slowly but surely modernized over the years and many frameworks have followed as well. My, and thousands of developers' around the world, current framework of choice is Laravel.

This talk will go through some of the main features of Laravel as well as some of the more hidden gems that it contains, as well as show how Laravel helps write clean, modern, testable, quality code.
Databases Convert your entire database structure into a graph using reverse engineering on the database (foreign keys, indexes, etc). Why? The process opens up a whole world of possibilities from automating API exposure, Faceted Search, CRUD panel automation as well. It takes away at least 1/2 of the workload off compared to traditional back-ends. I will walk you through the process AND show the benefits. Potential unveiling of a framework called Backrub!
Cloud ComputingPerformance A story about building modern software and the empowerment of software developers with the use of Zombies.

This talk is a description of how to scale a game in the first few months as demand for the game increases. It outlines how to tackle tough issues and when to automate around processes.

Scaling is not all about automation; and there is focus on all the soft skills needed to truly meet users demands on systems.

Vancouver 2017 sponsored by