Friday, November 10th
Fireside Room • Welcome & Dinner
Fireside Room • Proton and Neutron Coin Design Overview • Kimberly Wolting
7:00 PM (two tracks)
BoatHouse Living Room • Deploying with Docker • Justin Kulesza
Docker is a containerization platform that allows applications to be built, run, and deployed alongside each other in the same hosting environment. Applications use the same operating system kernel for system calls, but are isolated from each other using technologies such as control groups, namespaces, and union mount filesystems. This allows applications to run in a uniform, predictable fashion, without the overhead traditionally associated with multiple virtual machines.
Learn how Docker can be leveraged to make deployment environments more accessible to development teams and allow zero-downtime deploys with easy rollback, better monitoring, scalability, and log aggregation. We will take a look at how Docker was used to overhaul the development and deployment of the Atomic website, as well as a few other internal projects such as PunchIt.
BoatHouse Bar • Design Thinking and Atomic Project Leadership • Jason Porritt
IDEO defines Design Thinking as three lenses through which to view design: Desirability (human), Viability (business), and Feasibility (technical). Atomic’s project leadership roles (Design, Delivery, Development) roughly align with these dimensions and have a place in the design conversation. Let’s discuss that alignment, its impact on Atomic’s design practices, and tools for working together effectively.
7:45 PM (two tracks)
BoatHouse Living Room • Electron in the Real World • Matt Behrens
When we set out to build a desktop application for FAAC, we had several choices—but I did a little legwork and ended up recommending Electron. In this talk, I'll explain what Electron is (and isn't), and talk about the lessons we've learned along the way working on an Electron/React/Redux/TypeScript app that speaks TCP, UDP, and files to FAAC's driving simulators and associated products.
BoatHouse Bar • Mythbusters - Testing Edition • Phil Kirkham
What are some of the common myths about testing? Are they true or false? Have your perceptions challenged and maybe find some areas that you might not have thought as testing.
8:30 PM (single track)
BoatHouse Living Room • Lightning Talks
GraphQL Retrospective • Andy Peterson
GraphQL is awesome. My team has been using it for about a year, and there are a lot of cool patterns in our application that are a result of using GraphQL. I want to share a few interesting features that GraphQL has to offer, including client-side specification and typed requests. I'm not going to get into the specific implementation of the GraphQL, but instead, give a high-level overview of some of the problems my team solved using GraphQL.
Investing Basics and the New 401k • John Fisher
I’ll cover investing basics and information that I wish were given to me when I started my career in the early 2000s. I’ll also review the recent AO 401k changes and provide some practical examples for how an individual can construct a simple, diversified portfolio in our 401k. Topics covered: compound interest, asset types (equities, bonds), mutual funds, risk, safe withdrawal rates in retirement, low-cost indexed investing vs. active investing, and portfolio examples using our own 401k options. Intended audience: anyone who doesn’t want to have to eat cat food in retirement.
Property-Based Testing • Chris Farber
Gain some hands-on experience with property-based testing! I'll start with a brief overview of what property-based testing is and why it's useful, then provide some sample programming environments and problems to get you on your way.
Escaping the Cult of Certainty: What We Know When We Don't Know Anything • Mike Swieton
This is a talk for anyone who doesn't know everything. This might not be a talk for Drew.
The computer's world is one of certainty: Every boolean is true or false, every function is invoked or not, and every datum is a specific value. However, humans live in an uncertain world. The critical difference between experienced and new developers lay in how they reconcile those two worlds.
When we read unfamiliar code, we want to have the same certainty about the code that the computer has. But, our brains are dirty analog meat-sacks that will never possess such certainty. We must be content living with a probability distribution of possible realities, bereft of absolute truth and full only of what might be.
What do we know when we don't know anything for sure? This talk is about walking into the greatest developer's unknown: everyone else's code.
Through heuristics, static analysis techniques, a bit of order theory, and a healthy load of assumptions we'll discuss techniques for finding meaning in code, no matter how unfamiliar.
Transportation by Controlled Explosions • Jason Porritt
A super-fast introduction to the fundamentals of the gasoline internal combustion engine.
Venture Capital Investing 101 • Carl Erickson
I've learned a lot from angel investing, Atomic spec dev, and my roles at Grand Angels and Tappan Hill. My goal with this talk is to provide a broad overview of the most important ideas in venture investing by tracing a deal through its entire life cycle.
Saturday, November 11th
7:30 - 8:30 AM
Terrace Grill • Breakfast
9:00 AM (single track)
Fireside Room • Be the Best Atomic Team Member • Micah Alles
While I’m not very good at public speaking, I think I’m good at being a team member. At least, that’s what people used to tell me, back when I was on maker teams. It may be that they simply didn’t want to hurt my feelings. Either way, I’m going to stand in front of you all and recount some of the traits that, I think, made everyone on my teams: really gel, click, and have a grand time working together. This will be fun, I swear!
9:45 AM (single track)
Fireside Room • Mike's Four Pillars of Self-Management • Michael Marsiglia
I told my wife that I was going to give a presentation on self-management, and she laughed at me. It turns out that I still need a lot of growth when it comes to self-management in my household.
Self-managing people not only have the initiative and ability to act with autonomy, but they're also willing to take responsibility for outcomes.
The holy grail for any company is to have truly self-managing people. Self-managing people enable an organization to share responsibilities and thrive. They create a fulfilling and sustainable environment for themselves and other Atoms, and increased value for our clients.
Enhancing your ability to self-manage is a win-win. Smart people want to have influence and control of their work. Your clients, teammates, and managers want help that doesn't require micromanagement. Mastering the self-management skill set will give you more autonomy, responsibility, and control.
This all sounds great, but what are the concrete things that we can do to improve?
During this talk I'll present Mike's Four Pillars of Self-management. The pillars are: care, awareness, thoughtfulness, and confidence to act. They're a powerful set of attributes, that when correctly combined, will unlock opportunities and your true potential.
10:45 AM (single track)
Fireside Room • Leading Delivery: What You Should Know • Brittany Hunter
What is delivery? Why is it important? What does it have to do with you?
Come to this talk and you’ll find out. It’s happening during the single-track portion of AtomicCon so really, you have no choice.
Delivery is not just a fancy name for project management. Delivery definitely involves typical project management activities and practices. However, Atomic’s delivery mindset goes beyond managing communication channels and tracking and reporting on project progress.
In this talk, we’ll unbundle what it means to have a delivery mindset. We’ll go over the basics of Atomic project management, but we’ll also talk about how to customize tools for different projects and customer types, and we’ll see how delivery is actually a collaborative process for co-creating the best possible project outcome for our customers.
11:30 AM (single track)
Fireside Room • World Building as a Service • Jaime Lightfoot
We like to think of computer science as morally neutral, when in reality it just reflects our values. Consequently, the technology that we create results in a world that looks the way it does seemingly by coincidence, rather than by design. But even unconscious design is still design. As software continues to spread into our society at all levels, from standing in for human interactions (Alexa, etc.) to decision making at business and governmental levels, the values we are encoding in our work become all the the more important.
This talk aims to discuss the ways in which our software is shaping our world, and how developers and designers can think and talk about our work in context with people’s lives, past the surface-level interactions that we anticipate as consultants.
TBD • Company Photo
Terrace Grill • Lunch
Terrace Grill • Addressing the Diversity Gap • Mary DeYoung
It’s no secret that the landscape of the technology and software industry is fairly homogenous. What does seem illusive however, is how to change that. This is because there is no silver bullet. People have different opinions. However, there are very real things each of us can do at an individual, office and company level to equip ourselves to impact the diversity gap in more informed and empathetic ways. In this workshop, we will: define diversity, explore where we are at in our individual journeys towards being allies and steps we can take to keep progressing on that journey.
2:00 PM (workshops: two tracks)
BoatHouse Living Room • The Next Paradigm Shift in Web App Development • Drew Colthorp
I think another paradigm shift is out there waiting for us to embrace it. TypeScript, GraphQL, and React all have features that help build more decoupled systems with a much tighter feedback loop than how most Atomic projects have been built over the past several years.
This workshop will introduce the differentiating features of this stack by taking a tour of the Atomic SPA starter-kit. In this workshop we’ll demonstrate:
- How pure React components enable building interactive style guides for visual “unit testing” of components in all browsers.
- How TypeScript’s type system provides rich feedback on the interaction between disparate parts of a system, including across the client/server divide.
- How the GraphQL toolchain simplifies app development by allowing you to build declarative systems in which state and data transferral are handled efficiently for you automatically.
Fireside Room • Enter the Design Studio • Jonah Bailey
In this highly collaborative series of exercises, participants will engage with the design process in a classic studio style creating quick prototypes of products several times around specific themes. In the process, all participants will be able to engage in:
- divergent and convergent thinking
- rapid prototyping
- human centered design process
- team sketching
- stealing and incorporating the ideas of others
Fireside Room • Yoga for Computer Nerds • Rachael McQuater
Let's do something about all that hunching over your keyboard! We'll do some light beginner yoga to warm up, and then I'll share some of the best stretches and poses that I've picked up for opening up cramped shoulders, tight hamstrings, and other things that happen when you spend all day working at a desk.
Bring a mat if you have one; otherwise, we'll have some available. Please note, I'm just a person who likes to share things I've learned, not a certified instructor- listen to your body, and don't do things that hurt it.