Cohere
  • Home
  • People
  • Writing

Collaboration and Communication 11

Check out our latest writing
Roses are red / This pairing is for you
Collaboration and Communication

Roses are red / This pairing is for you

It took me a long time to understand the joys of pair programming. When I took my first computer programming class in the 1990s, computers were a limited resource. The newer, better computers were used by two people together. I took a significa...

Engineering Collaboration and Communication

Lessons Learned from our First Real World Code Live Stream

Earlier this month, Betsy and I tried to live stream a pairing session and failed miserably. But! We had fun, so we spent about 30m performing a retrospective on our Debugging a Race Condition in Cypress event. To expose our ignorance (and therefo...

Collaboration and Communication

Level up by managing up: an engineer's primer

A few months back, I shared a quick lightning talk at Fog City Ruby on managing up. This article is a quick primer on one way to approach your manager about your goals, and assumes a sympathetic manager who doesn’t require advanced managing up. ...

Collaboration and Communication

Cohere 2018 Year in Review - Reflections on Financial, Mental, Physical and Relational Health

In 2017, Jennifer, Betsy, and I were burnt out. Over the past two years, we had grown an engineering team from 4 to 40 and extended a product that served hundreds of smaller lending institutions to be the first production, cloud-hosted software as...

Collaboration and Communication Management and Leadership Zine

Porcini Hunting - Find Your Guide

Porcini Hunting - Finding Your Programming Guide is a three-page micro-zine that draws a parallel between hunting for mushrooms and finding technical mentors and teachers. While this started as a test-draft for printing full-col...

Management and Leadership Collaboration and Communication Hiring and Interviewing

Engineering Managers: It's Time to Write Better Job Descriptions

Software engineers have the highest turnover rate of any industry with an average tenure of 2~3 years. Why? Because people leave managers, not companies, and as Nicole Sanchez and Danilo Campos point out, tech is full of poor managers. I’ve been o...

Collaboration and Communication

Pair programming problems are not a smell

Earlier this year, Betsy and I sat down and wrote down a few dozen types of dysfunctional behaviors we’ve experienced while pair programming, then sorted them into categories: Taking up too little space (ex: lost but not speaking up) Taking ...

Engineering Collaboration and Communication Zine

Which Auth is Which?

Ever get flustered talking about security? Wish you had a slightly clearer mental model when talking about whose who and what they can do? We've lovingly illustrated a zine that details the difference between authentication ...

Collaboration and Communication Engineering

Practical Empathy, or: How I Stopped Hating Pair Programming

I used to think I hated pairing. One of my first experiences pairing was with my least favorite co-worker. In my previous programming jobs, I’d always been the only Rails developer, or one of two, and we’d had a lot to do. Too much for us to be a...

Management and Leadership Collaboration and Communication

Introducing "Let's Pair!", A Zine Series on Effective Pair Programming Techniques

Pair programming! As polarizing a topic as the Editor Wars. People love or hate pairing, and for good reason! It’s a tough skill with benefits that aren’t always immediately clear. It can be frustrating, feel slow, and even be a source of uncomfor...

Management and Leadership Collaboration and Communication

A primer on setting up your remote employee

Last night, I was talking with a tech lead of a local company. He was struggling with supporting two of his teammates who are newer to their roles (let’s call them Alyssa and Ben). Alyssa, like nearly all her teammates, works in the local office, ...

Engineering 12

Check out our latest writing
Engineering Collaboration and Communication

Lessons Learned from our First Real World Code Live Stream

Earlier this month, Betsy and I tried to live stream a pairing session and failed miserably. But! We had fun, so we spent about 30m performing a retrospective on our Debugging a Race Condition in Cypress event. To expose our ignorance (and therefo...

Engineering

Real World Code Incident Report! How We Used the OODA Loop to Triage a Amazon RDS Cascade Failure for a Heroku-hosted Rails App

Notabli reached out to us the day after Christmas because their API was falling over. Their Friendly Engineer, Ty Rauber was working hard with their Head of Product, Jackson Latka, to bring it back up. They wanted a second pair of programmer-eyes,...

Engineering

Debugging a Race Condition in a Brittle Cypress Test Live on Stream on January 3rd, 2019

A few weeks ago, we asked the dev.to and broader programming community what programming problems they would like watch being solved on stream in a real-world context. ~40% of you wanted to see us solve a race condition and another 30% wanted to se...

Engineering

Understanding Git: Configuration of Repositories and Remotes

Recently, a dev.to community member asked if someone could explain.git/config like they are five. When I first started attempting to help, I realized that to explain .git/config, we need to start a few steps back. First, by looking at the histor...

Engineering

Implementation Strategies for Integrating External Services Into Your Application

Much of modern software relies on external services to take responsibility for some aspect of the product’s feature set. This trend will only continue as mostly-single-purpose, non-database, API-first services such as Auth0, Drip, Twilio, Nylas, a...

Engineering

You deserve a porcini hunting guide

Text from images transcribed below A friend recently learned how to forage for porcini mushrooms in the Sierras. At first, you see nothing – mushrooms are brown, and they seem invisible under the brown dirt and the brown leaf litter over the...

Engineering

Metrics, Async/Await, and Really Big Hammers

The other night my partner Chris asked me over dinner, “Betsy, how would you handle a call to a metrics library using async/await?” Chris makes developer tools at an e-commerce company. JavaScript isn’t a big part of the stack where he works, but...

Engineering Collaboration and Communication Zine

Which Auth is Which?

Ever get flustered talking about security? Wish you had a slightly clearer mental model when talking about whose who and what they can do? We've lovingly illustrated a zine that details the difference between authentication ...

Collaboration and Communication Engineering

Practical Empathy, or: How I Stopped Hating Pair Programming

I used to think I hated pairing. One of my first experiences pairing was with my least favorite co-worker. In my previous programming jobs, I’d always been the only Rails developer, or one of two, and we’d had a lot to do. Too much for us to be a...

Engineering

GraphQL and Rails - A Brief Introduction

Over the past 9 months, we’ve applied GraphQL and Rails as the API platform on client projects. Most of these projects rely on rapid iteration across both the user interface and the data model as we follow the signals for product market fit. Rails...

Engineering

Embracing Uncomfortable Refactoring

Sometimes refactoring is fun. Sometimes refactoring feels therapeutic. Usually, those kinds of refactoring are the kinds we don’t need. We know it: we always have that faint feeling that we’re having just a little too much fun to justify our sal...

Engineering

A brief adventure in ActionMailer debugging

Shortly before our winter break, I ran into the following error message while updating a mailer: (object doesn't support #inspect) Here’s the code: def notify mail( from: 'me@...', to: 'me+testing@...', subject: 'it works', ...

Hiring and Interviewing 11

Check out our latest writing
Hiring and Interviewing

Empathetic Hiring: Understanding What Candidates Want

We know the hiring market is tough right now. Compensation expectations, job mobility, recruiting costs, and opportunity costs for unfilled positions are all high. How do you attract the talent you need to your company when you’re not a household ...

Management and Leadership Collaboration and Communication Hiring and Interviewing

Engineering Managers: It's Time to Write Better Job Descriptions

Software engineers have the highest turnover rate of any industry with an average tenure of 2~3 years. Why? Because people leave managers, not companies, and as Nicole Sanchez and Danilo Campos point out, tech is full of poor managers. I’ve been o...

Hiring and Interviewing

Passion isn't terrible

I heard this phrase a lot while hallway tracking at RubyConf, and I hear it regularly talking with clients seeking help with their hiring processes: “We look for passion in candidates.” There are two questions I ask when I hear this: What...

Management and Leadership Hiring and Interviewing

Designing a Directed Conversational Interview

In Thinking Fast and Slow, Dr. Daniel Kahneman introduces the concept of a fact-based, structured interview to mitigate the numerous cognitive biases that come into play when assessing an individual’s aptitude for leadership positions. This articl...

Hiring and Interviewing Management and Leadership

Interviewer Skills Part 3/3: Timing your interview

This is Part 3 of a multi-part series covering some of the topics introduced in our RailsConf 2018 Interviewer Skills workshop. Part 1 covered how to know what would make a candidate the right addition to your team, and why single-word descriptio...

Hiring and Interviewing Management and Leadership

Interviewer Skills Part 2/??: How to create interview questions

This is Part 2 of a multi-part series covering some of the topics introduced in our RailsConf 2018 Interviewer Skills workshop. Part 1 covered how to know what would make a candidate the right addition to your team, and why single-word descriptio...

Hiring and Interviewing Management and Leadership

Interviewer Skills Part 1/??: Why set specific goals

This is Part 1 of a multi-part series covering some of the topics introduced in our RailsConf 2018 Interviewer Skills workshop. You’re hiring - yay! How would you describe what kind of person would be an ideal candidate to hire? Beyond experie...

Hiring and Interviewing Management and Leadership

Return from RailsConf + Interviewer Skills Part 0/??: Intro

We’re back from speaking at RailsConf, and what an incredible experience! The conference organizers did a fantastic job at running a smooth event despite never-relenting weather challenges. We were constantly learning from our fellow speakers, and...

Hiring and Interviewing Management and Leadership

Twenty minutes

Recently I was chatting with a friend, and the topic turned to my upcoming workshop on Interviewer Skills at RailsConf. My friend’s not in software, but is in a technical field: she’s an engineer! a real engineer! as in buildings and bridges and s...

Hiring and Interviewing Management and Leadership

Tell me about a time when...

Here’s a question I got recently: “Doesn’t it work to ask a candidate what they would do? couldn’t I present a situation to them and ask what they would do?” My first impulse was to jump into an answer about behavioral interviewing, and explain h...

Hiring and Interviewing Management and Leadership

How to interview your future manager

We often get the chance to interview our future manager, but usually it’s while being evaluated for a new job. What do you do when you find yourself getting to interview your current manager’s replacement? Know your priorities When we are consid...

Management and Leadership 17

Check out our latest writing
Management and Leadership

Organizations Can't Change, But People Can Change Organizations

Earlier this year, I watched as people involved in the software world called on major organizations to change. These organizations included the MIT Media Lab, MIT itself, and the Free Software Foundation. While details and content of these dem...

Collaboration and Communication Management and Leadership Zine

Porcini Hunting - Find Your Guide

Porcini Hunting - Finding Your Programming Guide is a three-page micro-zine that draws a parallel between hunting for mushrooms and finding technical mentors and teachers. While this started as a test-draft for printing full-col...

Management and Leadership Collaboration and Communication Hiring and Interviewing

Engineering Managers: It's Time to Write Better Job Descriptions

Software engineers have the highest turnover rate of any industry with an average tenure of 2~3 years. Why? Because people leave managers, not companies, and as Nicole Sanchez and Danilo Campos point out, tech is full of poor managers. I’ve been o...

Management and Leadership Hiring and Interviewing

Designing a Directed Conversational Interview

In Thinking Fast and Slow, Dr. Daniel Kahneman introduces the concept of a fact-based, structured interview to mitigate the numerous cognitive biases that come into play when assessing an individual’s aptitude for leadership positions. This articl...

Management and Leadership Collaboration and Communication

Introducing "Let's Pair!", A Zine Series on Effective Pair Programming Techniques

Pair programming! As polarizing a topic as the Editor Wars. People love or hate pairing, and for good reason! It’s a tough skill with benefits that aren’t always immediately clear. It can be frustrating, feel slow, and even be a source of uncomfor...

Hiring and Interviewing Management and Leadership

Interviewer Skills Part 3/3: Timing your interview

This is Part 3 of a multi-part series covering some of the topics introduced in our RailsConf 2018 Interviewer Skills workshop. Part 1 covered how to know what would make a candidate the right addition to your team, and why single-word descriptio...

Management and Leadership

Evolving process for evolving teams

Like many of you, we hold standups to sync up on what people are up to, surfacing and supporting through blockers, and getting in a little regular facetime. We’re currently on our third variation of the year for how we do our standups. Third va...

Hiring and Interviewing Management and Leadership

Interviewer Skills Part 2/??: How to create interview questions

This is Part 2 of a multi-part series covering some of the topics introduced in our RailsConf 2018 Interviewer Skills workshop. Part 1 covered how to know what would make a candidate the right addition to your team, and why single-word descriptio...

Hiring and Interviewing Management and Leadership

Interviewer Skills Part 1/??: Why set specific goals

This is Part 1 of a multi-part series covering some of the topics introduced in our RailsConf 2018 Interviewer Skills workshop. You’re hiring - yay! How would you describe what kind of person would be an ideal candidate to hire? Beyond experie...

Hiring and Interviewing Management and Leadership

Return from RailsConf + Interviewer Skills Part 0/??: Intro

We’re back from speaking at RailsConf, and what an incredible experience! The conference organizers did a fantastic job at running a smooth event despite never-relenting weather challenges. We were constantly learning from our fellow speakers, and...

Hiring and Interviewing Management and Leadership

Twenty minutes

Recently I was chatting with a friend, and the topic turned to my upcoming workshop on Interviewer Skills at RailsConf. My friend’s not in software, but is in a technical field: she’s an engineer! a real engineer! as in buildings and bridges and s...

Hiring and Interviewing Management and Leadership

Tell me about a time when...

Here’s a question I got recently: “Doesn’t it work to ask a candidate what they would do? couldn’t I present a situation to them and ask what they would do?” My first impulse was to jump into an answer about behavioral interviewing, and explain h...

Hiring and Interviewing Management and Leadership

How to interview your future manager

We often get the chance to interview our future manager, but usually it’s while being evaluated for a new job. What do you do when you find yourself getting to interview your current manager’s replacement? Know your priorities When we are consid...

Management and Leadership Collaboration and Communication

A primer on setting up your remote employee

Last night, I was talking with a tech lead of a local company. He was struggling with supporting two of his teammates who are newer to their roles (let’s call them Alyssa and Ben). Alyssa, like nearly all her teammates, works in the local office, ...

Management and Leadership

Designing Your Apprenticeship Program for Outcomes

Want to learn more about apprenticeship? Read our previous article introducing software apprenticeship. There are many reasons to invest in an apprenticeship program. You can use them to: Bring more domain expertise to your team Level up yo...

Management and Leadership

Understanding, Owning and Leveraging Your Privilege In Tech

Despite millions of dollars in investment by companies such as Google and Facebook the needle of diversity in Silicon Valley has barely shifted. Ellen Pao’s recent article in the New York Times evaluating if anything has changed concludes there’s ...

Management and Leadership

An Introduction to Software Apprenticeship

Software apprenticeship programs are a powerful tool in a technology organization’s growth strategy. They provide an opportunity for existing talent to develop the skills critical for effective senior leadership as well as expand the pool of peopl...

Podcast 30

Check out our latest writing
Discovering Managing with Ashish Dixit
Podcast

Discovering Managing with Ashish Dixit

The last episode of Season 4 is a hero’s journey story! Ashish Dixit (@tundal45 on Twitter) shares how he found himself managing a team of volunteers (and realized this was happening through failure), how he approached this experience, and what h...

Ask And Offer Culture with KWu
Podcast

Ask And Offer Culture with KWu

Ever heard these sentiments in your workplace? “That was so unprofessional!” “Why are they being so rude? They’re always so pushy.” “Don’t they care about..?” “Why won’t they just tell me if they can’t meet that deadline?” “I’m so over...

Technical Leading with Edwin Mak
Podcast

Technical Leading with Edwin Mak

How do you give technical feedback and direction without inflicting unwanted help? or change direction without introducing bad feelings? In Episode 27, Edwin Mak (@edwinthinks on Twitter) shares how to be an effective tech lead. We talk about...

Unexpected Onboarding with Ale Paredes
Podcast

Unexpected Onboarding with Ale Paredes

In Episode 26, Ale Paredes (@ale7714 on Twitter / ale7714 on LinkedIn / Latinas In Tech NYC) shares her team’s experience as they find themselves not just unexpectedly remote during a pandemic, but also unexpectedly onboarding while unexpectedly r...

Communicating Ideas with Sergio Rabiela
Podcast

Communicating Ideas with Sergio Rabiela

How do you communicate high-level or complex ideas to your team? How do you know if your ideas are getting across? When is repeating yourself too repetitive? In Episode 25, Sergio Rabiela (@spacechurro on Twitter) shares advice on communicating...

Burnout with Aneika and Anjuan Simmons
Podcast

Burnout with Aneika and Anjuan Simmons

What is burnout? What does it look like in an individual, versus a team? What can you do to counter burnout? What do you do if your new team is already suffering from burnout, before you’ve had a chance to build relationships with anyone? In E...

Startup Hiring with Jennifer Kim
Podcast

Startup Hiring with Jennifer Kim

How do you win candidates when bigger companies can offer more money? What changes can you make to your interviews to get your candidates excited about your company? In Episode 23, Jennifer Kim (@jenistyping on Twitter) shares her expertise around...

Going Remote with Damien Burke
Podcast

Going Remote with Damien Burke

In Episode 22, Damien Burke (https://www.talariasoftware.com/) shares his experience taking a team from fully in-office to fully remote. Transcript JENNIFER: Welcome to Storytime with Managers, a podcast by Cohere. Hi, I’m Jennifer Tu and I’m...

Ally and Manager with Cris Concepcion
Podcast

Ally and Manager with Cris Concepcion

What does it mean to be an ally? what does it have to do with managing up? and how do you recover when you make a mistake as an ally? Episode 21 is the first of Season 4, and Cris Concepcion (crisconcepcion on LinkedIn) shares how managers can be...

Podcast

3 Minutes Between Seasons (yes, Seasons! plural!!)

This is a quick 3 minute update of what happens next to Storytime With Managers.

Changing Minds with Cecy Correa
Podcast

Changing Minds with Cecy Correa

In Episode 20, Cecy Correa (@cecycorrea on Twitter) draws on her training in marketing to share how to influence teams. Episode References: The Psychology of Fake News (And What Tech Can Do About It): https://www.youtube.com/watch?v=2cVfYMxqZ...

Podcast

Mentoring Mentors with Tara Ellis

In Episode 19, Tara Ellis (@maverick_mind on Twitter) shares how to support new mentors. How do you help a new mentor be set up for success? what should you expect from a new mentor, anyway? All this, and more, in this episode! Transcript JE...

Changing Tech, Changing Teams with Kelsey Hightower
Podcast

Changing Tech, Changing Teams with Kelsey Hightower

Kelsey Hightower (@kelseyhightower on Twitter) is a technical leader in the open source community who contributes to projects like Kubernetes, Terraform, and more. In Episode 18, Kelsey shares secrets to driving technical changes in teams, and how...

One on Ones with Nicole Sanchez
Podcast

One on Ones with Nicole Sanchez

Nicole Sanchez (@nmsanchez on Twitter) is CEO of Vaya Consulting and co-creator of the new 1-1 organizer app Digamo. In Episode 17, Nicole shares detailed advice on 1-1s: what they are, how they help us, what we can learn from them. References:...

Speaking Up with Danielle Leong
Podcast

Speaking Up with Danielle Leong

In Episode 16, Danielle Leong (@tsunamino on Twitter) shares how to speak up to set culture as a manager, how to create safe teams, how to recognize teammates for the work they do, and more. Transcript JENNIFER: Welcome to Storytime with Manag...

Ethical People Management with Danilo Campos
Podcast

Ethical People Management with Danilo Campos

In Episode 15, Danilo Campos (@_danilo on Twitter, co-creator of the new 1-1 organizer app Digamo) shares detailed advice for how to be an ethical people manager. We dig into a handful of edge cases and examples for how to do this. Transcript ...

Enabling Change with Anthony Holloway
Podcast

Enabling Change with Anthony Holloway

Storytime With Managers is a collection of twenty minute conversations where Jennifer Tu finds answers to questions of interest to both established and budding leaders in technology fields. In Episode 14, Anthony Holloway (@techdirtywithme on Twi...

Assessing for Growith with Mannah Kallon
Podcast

Assessing for Growith with Mannah Kallon

Welcome to Episode 13, the first episode in Season 3! Storytime With Managers is a collection of twenty minute conversations where Jennifer Tu finds answers to questions of interest to both established and budding leaders in technology fields. Be...

Temporary Teams with Miranda Wang
Podcast

Temporary Teams with Miranda Wang

Storytime With Managers is a collection of twenty minute conversations where Jennifer Tu finds answers to questions of interest to both established and budding leaders in technology fields. Miranda Wang (@ch0xi on Twitter or mirandawang94 at gmai...

From Engineering To Product And Back Again with Denise Yu
Podcast

From Engineering To Product And Back Again with Denise Yu

In Episode 11, Denise Yu (@deniseyu21 on Twitter or check out her website http://www.deniseyu.io/) shares specific actions engineers can take to grow their effectiveness. A small sample of the ideas Denise shared: Schedule time to learn from peo...

Giving Feedback with Ambreen Hasan
Podcast

Giving Feedback with Ambreen Hasan

Episode 10 covers how to give feedback, what to think about as you're giving feedback, and how to help others get better at giving feedback. All this expertise comes to you from Ambreen Hasan (@ambreenhasan on Twitter or ambreenh on Instagram)....

Managing Managers, Remotely with Juan Pablo Buriticá
Podcast

Managing Managers, Remotely with Juan Pablo Buriticá

Episode 9 is a whopping twenty-six minutes because there was so much I wanted to keep asking my guest, Juan Pablo Buriticá (@buritica on Twitter). Juan Pablo Buriticá has been leading engineering organizations for the past decade. Prior to his ...

In Front Of A Crowd with Damien Burke
Podcast

In Front Of A Crowd with Damien Burke

Storytime With Managers is a collection of twenty minute conversations where Jennifer Tu finds answers to questions of interest for both established and budding leaders in technology fields. If you haven't experienced this already, someday you wi...

Enabling Joy with Adarsh Pandit
Podcast

Enabling Joy with Adarsh Pandit

Storytime With Managers is a collection of twenty minute conversations where Jennifer Tu finds answers to questions of interest for both established and budding leaders in technology fields. I thought today’s episode would be about leading when y...

Stroopwafels and Trust with Annyce Davis
Podcast

Stroopwafels and Trust with Annyce Davis

Episode 6 covers building trust across differences with Annyce Davis (@brwngrldev on Twitter or annycedavis on LinkedIn). Annyce is a software developer and leader focused on Android and mobile development. She shares her mobile expertise throug...

Jobhunting As A Manager with Eddie Kay
Podcast

Jobhunting As A Manager with Eddie Kay

In Episode 5, Eddie Kay (@ichthyos) shares his recent experience jobhunting as a manager. If you’ve never jobhunted as a manager, this episode is for you! Eddie shares answers to questions like “how do you schedule interviews on a manager’s sche...

Podcast

Coaching Towards Autonomy And Dreams with Bavani Kehoe

In Episode 4, Bavani Kehoe (@jenbavani) shares how she coaches her reports towards autonomy and guides them in following their dreams – all while working part-time. We talk about situational leadership model, how to make office hours effective, a...

Finding Your First Team with Raquel Vélez
Podcast

Finding Your First Team with Raquel Vélez

Episode 3 follows Raquel Vélez (@rockbot on Twitter) in her management journey as she moved from lone-manager-at-tiny-startup to discovering her “first team” of engineering manager peers. Prior to management, Raquel was a JavaScript developer who...

Accepting Feedback with Emily Nakashima
Podcast

Accepting Feedback with Emily Nakashima

Episode 2 covers the topic of accepting feedback with Emily Nakashima (@eanakashima on Twitter). Emily manages the engineering and design teams at a small developer tools startup called Honeycomb.io. Before Honeycomb, Emily worked at a string of...

Managing Up with Marco Rogers
Podcast

Managing Up with Marco Rogers

Episode 1 covers the topic of “managing up” with Marco Rogers (@polotek on Twitter). Marco was previously an engineering manager and director at companies like Yammer, Clover Health, and Lever, and is now happily writing code for Mode Analytics. ...

Zine 2

Check out our latest writing
Collaboration and Communication Management and Leadership Zine

Porcini Hunting - Find Your Guide

Porcini Hunting - Finding Your Programming Guide is a three-page micro-zine that draws a parallel between hunting for mushrooms and finding technical mentors and teachers. While this started as a test-draft for printing full-col...

Engineering Collaboration and Communication Zine

Which Auth is Which?

Ever get flustered talking about security? Wish you had a slightly clearer mental model when talking about whose who and what they can do? We've lovingly illustrated a zine that details the difference between authentication ...

Cohere

A democratically governed worker-cooperative.
Rooted in Oakland, CA, Lisjan Ohlone land.