BEGINNER AND STUDENT TECH
Introduction to Git
What's a 'commit'? What's a merge and how does it work? How do you resolve merge conflicts? These questions and more will be answered in this introduction to Git and GitHub. This session will show how these tools can be used to improve developer productivity and assist in project collaboration. Attendees will learn to work with local Git repositories, work collaboratively with others on Git projects, and contribute to open source projects on GitHub.
Requirements: No prior experience with software development or Git is required.
Slithering into Our Hearts: How Battlesnake Made us Better Developers
From a weekly quiz on Slack, to in-house tournaments, bitter rivalries, and a themed Hack Week, the annual Battlesnake AI contest has become a big part of the engineering culture at local tech company, Redbrick. Join Scott Small and Erika Burdon as they share the story of how Battlesnake slithered its way into their hearts and made them better developers. You'll also discover what it takes to build an unapologetically tough Bounty Snake. With a 42-3 record in 2017 and a 71-3 record in 2018, the Redbrick Robosnake has earned a reputation for being one of the most challenging Bounty Snakes in the contest. In this talk, Erika and Scott will share the story of their snake's conception, evolution, and influence. They’ll break down its algorithm (Minimax), heuristic, and explain the reasoning behind their design choices. Next, they’ll walk through the bug that caused them to lose early in the 2018 Championship Bracket. Finally, they'll demonstrate the custom game board server and logging tool they wrote to test their snakes.
Requirements: None (but familiarity with Battlesnake is a plus!)
Fluid Page Layouts with Flexbox
Learn how to harness the fluid power of CSS Flexbox (Flexible Box) to quickly and easily create page layouts that evolve and adapt to all screen sizes and devices. In this workshop, Laura will explore the various Flexbox properties and how you can use them to achieve things like vertical and horizontal centering, responsive grids, and aligning items of various sizes with equal spacing. By the end of the workshop, you will have created a simple, 1-page website using the concepts learned.
Requirements: Laptop with Chrome browser; Sublime Text, Atom, or code editor of your choice
Your New Studio: A Code Walkthrough of Android Studio
Android Junior Developer and QA Analyst
Follow along while Kim live-codes her way through a basic app in Android Studio. This workshop will be a more detailed explanation than a quick-start, with the opportunity to ask questions in real-time. Learn about common mistakes and how to avoid them in your own projects. Please download Android Studio well before the workshop.
Requirements: A laptop with Android Studio installed in advance! An Android phone (optional).
advanced & professional tech
Building and Running Applications on Kubernetes
This session will cover how to effectively run applications in Kubernetes, a cloud deployment platform. You'll learn how to prepare & deploy apps, manage application data, make cloud apps easily observable, and the basics of managing a cluster. This session will primarily be a lecture but will be driven by a demo, with posted resources to allow the audience to follow along or re-create later.
Requirements: To follow along with the demo, participants will require Docker, kubectl, and a working Kubernetes cluster. Google Kubernetes Engine is a simple way to create one, and offers a free trial: https://cloud.google.com/kubernetes-engine
Making a blazing fast Python server in the age of Node and Go
In this session, you will learn how to make a highly performant application using Python. We'll load test our server to see the performance difference between multiple Python web frameworks, as well as against other applications in languages such as Go and Node. We'll cover topics such as event loops, distributed systems, and how to manage performance at scale.
Requirements: Some knowledge of concurrent vs sequential processing, knowledge of how a server works
GraphQL for Fun & Profit
Take a whirlwind tour through GraphQL – learn about queries, mutations, subscriptions, resolvers, schemas, and more, by building out a simple GraphQL API service. We'll cover why GraphQL came to be, why it's becoming popular, and where existing API structures (JSON-API, SOAP, etc.) have failed. We'll look at how we can use GraphQL to make querying complex relationships or heterogeneous data sources easy. And we'll see how to connect our service to a simple application.
Requirements: A modern web browser. For take-home you'll want a recent version of nodejs.
Docker - All aboard the container ship to confident deploys!
Production deploys can be scary. Scripted deploys using your production hosts can result in avoidable downtime due to broken dependencies, network outages, and broken code. Using experiences from Telmediq, Jaimie will talk about the pitfalls of building dependencies at deploy time, and how doing it beforehand adds an extra layer of confidence that your code is production-ready.
Our Docker journey will start by cloning an already-built Python RESTful service. Using this service, we’ll identify the project requirements and test dependencies we need to successfully create a Docker image. Then we’ll create a Dockerfile that describes the image for our service, and cover a few important docker commands and how they can be used to debug and identify problems with your container. Once our image is built, we will then dive into docker-compose and adding external service dependencies, like databases and redis.
BCom to Business Systems: How I Hacked a Career in Tech Startups
This session will cover Eve's journey from BCom at UVic to her current role as Marketing Automation Specialist at Sendwithus, including some of the strategies she used to navigate her way into a full-time position. She will also discuss some of the specifics of her role, providing helpful insight to current or recently graduated students looking to land a non-programming, non-sales role with a tech startup.
Requirements: While there are no hard requirements, this session is geared towards non-technical students and will assume a basic understanding of marketing and sales terminology.
Purpose, Vision and Values -- How they help define and focus your business and hiring needs
Kano, formerly known as Kano/Apps and the 2018 VIATEC Award winner for Company of the Year, is a local game company founded by three UVic grads 10 years ago. Tim and Magda will be discussing the lifecycle of a business, from inception to expansion, and the changes along the way. Using the Kano story as a reference, they’ll talk about their own team's growth and how they use the company vision and values to help their people focus on what's important to work on and how. The way Kano functioned 10 years ago was very different to the way it works today, and the type of employee that may have rocked the first days of a startup may be very different from what an established business needs. This “lecture” will be more like a conversation between Tim and Magda, with Q & A greatly encouraged from the audience. If you’re looking to work in games or tech, want some hiring or interview tips, or are thinking about how to find the best employees for your startup, this may be the session for you!
+1 Agility: How an Agile Mindset can Help Rapidly Grow your Business Idea
In the world of modern software development, the “ability to be agile” is often seen as a fundamental component of market success, with major players like Microsoft, Apple, and Google all adopting agile methodologies across their companies. Even non-tech organizations like National Public Radio (NPR) in the US and Canada Post here at home have begun adopting agile frameworks in response to the changing paradigm of business in the 21st century. In this talk, Andrew will discuss the agile mindset behind the growth of HighTechU, a grassroots initiative of the UVic Department of Computer Science focused on helping youth build the diverse skills they need to thrive in the growing tech industry. Through its journey from conception to deployment, Andrew will highlight the important role that agile thinking had on the project's success, and how you can use those same principles to help bring your next business idea from concept to reality.
What Is it like to go through a leading accelerator program? Is it worth it?
Join Leif as he discusses taking his company through the Techstars Seattle accelerator program. Learn some of the pros and cons, discover what sort of companies are a fit, and gain insight into what to expect from a strong accelerator program. The purpose of this session is to cut through the hype and mystery so that attendees can better decide if and when an accelerator program would work for them.
product & design
The Dark Arts and Careers In Software Testing
What is software testing and how can you get involved? In this session, learn how testing is different from checking and 'test automation', and why it's important for your product from both technical and business perspectives. Tom will also discuss the skills needed and how you can build a career in software testing.
Requirements: General interest in software testing.
Iterative Game Design: Learning From Failure
Director of Skeletons || Fancy Skeleton Games
Not every idea you have is going to work out, but failed prototypes are often as important to the process as successful ones. In this talk, Max will walk through a number of failed game prototypes and use these real-world examples to explore his process for constructing prototypes, how to decide if a prototype isn't working, and how to learn from failed prototypes for future projects.
Requirements: An interest in game design, or product design in general, is recommended.
WCAG Compliant Color Schemes: Lessons from white labeling a SAAS product for fortune 1000 companies
Over the last two years, Benevity's white label strategy has matured alongside their rapid growth in clients and product offerings. Jen will share the lessons they've learned about how to craft a white label strategy that is:
* Simple to communicate
* Complex enough to satisfy brand-conscious client requirements
* WCAG 2.0 AA compliant
* Implemented in a scaleable way
Requirements: Some knowledge and/or strong curiosity about front-end design and development. If you don't think colour matters, this workshop isn't for you.
How to Build Inclusive Products in the Tech For Good Space
As tech continues to become an increasing part of everyone’s lives, it’s important for us to acknowledge that not everyone has access to the same technological tools as we do. While the common idea of “there’s an app for that" might be true, it doesn’t mean that app is the right solution. In this workshop, Aashni will explore some of the important factors you should consider while building an inclusive product, especially one in the Tech For Good space.
Requirements: Some experience thinking about designing and developing a technical project - school projects and hackathons count!