Reading Material


How to run 1:1 meetings that work for 2

A comprehensive how-to in scheduling, planning, executing, and following up with productive 1:1s with your direct reports.

Senior Engineers Reduce Risk

This is a really great article about what a senior engineer is and how they add value to companies of different sizes. It also covers culture and interviewing.


No Longer An Inspiration

My good friend Gina Maini’s comments on the current state of women in the hacking community trended #1 on Hacker News and inspired me to write my first post Why We Hack.

Ship Small Diffs

Why continuous deployment is important, how continuous integration affects your deployment process, and why it’s important to help your reviewers with small changes.

Five Factor Testing

Five reasons why testing is important. Good tests can:

  1. Verify the code is working correctly
  2. Prevent future regressions
  3. Document the code’s behavior
  4. Provide design guidance
  5. Support refactoring


Presentational and Container Components

A great React design pattern which separates presentational view-only React components and stateful Redux connectors. This affords reusability of React components, easy testing, and clear separation of concerns for simple maintainence.

React + Redux Architecture : Separation of Concerns

Take an intermediary dive into arctitecting your client applications with React and Redux by applying separation of concerns. Both tools are unidirectional and promote immutability, configuring them correctly will create resiliant applications.

Five Things Every Developer Should Know About Software Architecture

  1. Software architecture isn’t about big design up front
  2. Every software team needs to consider software architecture
  3. The software architecture role is about coding, coaching and collaboration
  4. You don’t need to use UML
  5. A good software architecture enables agility

Redux for Transactional Apps

At minute 36, Netflix engineer Jeff Shi talks about designing SPAs where the application and business data is maintained in Redux, so that the rest of the application is a lightweight UI reacting to state changes.

Don’t Rewrite, React!

At React-Europe 2015, Ryan Florence describes an easy bottom-up approach to refactoring large applications with React. Very handy when you’re staring down a large refactor and want to approach it with as little risk as possible.


Jank Free

This site is a collection of articles, presentations, and tutorials which outline UX and technical issues with perceived performance, and how to address them.


Function Declarations vs. Function Expressions

A good write up about variable and function hoisting, functional expressions and declarations, and the benefits of named functions.


The Specificity Graph

Harry Robert’s CSS Specificity Graph for managing the ordering of CSS rules to better compliment the cascade.

Side Effects In CSS

Highlighting pitfalls in CSS, identifying side effects in CSS and how to minimize them, along with reasons for architecting CSS.

Extending In Sass Without Creating A Mess

@extend in Sass is often misrepresented and underappreciated. Smashing Magazine answers the questions “what is @extend?” and “how do I use it efficiently?”

Classy CSS: a Programmatic Approach to Sass Stylesheets

Most people don’t realize or acknowledge that CSS requires programmatic approaches with tools like Sass. Variables, DRY code, functional CSS. Make sure you check out links in the article including Atomic OOBEMITSCSS.