Looking for our zines? –> https://wecohere.com/zines
Empathetic Hiring: Understanding What Candidates Want
Here's how to attract talent to your company without resorting to gimmickry.
The hiring market is tough right now. Compensation expectations, job mobility, recruiting costs, and opportunity costs for unfilled positions are all high.Roses are red / This pairing is for you
How do I love pairing? Let me count the ways. Probably not to the very depth and breadth and height my soul may reach, but hey pairing is still pretty cool.Lessons Learned from our First Real World Code Live Stream
and made a plan for how we can do better.
Earlier this month, Betsy and I tried to live stream a pairing session and failed miserably. But! We had fun, so we had a retroReal 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, and I was bored. Isn't that what everyone uses the Holidays for? Triaging production issues for fun? Here's how we diagnosed and resolved the downtime by using the OODA loop!
Level up by managing up: an engineer's primer
How do you get started managing up?
One tool you need to level up and grow your career is managing up. Managing up is scary, but investing in this skill now will pay off as you build a collaborative environment with your manager.Cohere 2018 Year in Review - Reflections on Financial, Mental, Physical and Relational Health
worker cooperative. Our goals were to build a healthy environment where we could pursue our goals together. We learned a lot.
In Q4 2017, Cohere formed as a three-personDebugging a Race Condition in a Brittle Cypress Test Live on Stream on January 3rd, 2019
We asked what programming problems you would like watch be solved on stream in a real-world context. ~40% of you wanted to see us solve a race condition and another 30% wanted to see us solve a brittle JavaScript feature test.Understanding Git: Configuration of Repositories and Remotes
Recently, a dev.to community member asked for someone to explain what's going on in their .git/config when they have GitHub and Heroku remotes.Engineering Managers: It's Time to Write Better Job Descriptions
Here's how to communicate the this in the form of a good job description.
Part of what makes a poor manager is a lack of investment into the day-to-day activities of management and an over-emphasis on the day-to-day activities of a practitioner. One of these day-to-day management activities is understanding and describing the work that is being done, why it's being done, and how it's being done.Implementation Strategies for Integrating External Services Into Your Application
Learn how to integrate them in a manner that's appropriate for your context.
Modern software relies on external services to take responsibility for some aspect of the product's feature set.You deserve a porcini hunting guide
Learning to spot the mushrooms is a lot like learning how to refactor code in a legacy context.
A friend recently learned how to forage for porcini mushrooms in the Sierras.Passion isn't terrible
What does counterproductive passion look like?
Many companies seek passion in their candidates. But this can be counterproductive to the company's goals if that passion isn't aligned with the company's interests.Pair programming problems are not a smell
We wrote down a few dozen dysfunctional pairing behaviors and sorted them into categories. It looked a lot like a code smell recipe book.Giving Back
we're slashing our workshop prices for NPOs for the month starting on Giving Tuesday.
We've always known the hard-working nonprofits and community organizations that needed our refactoring workshop could rarely afford it. As a thank-you to all those orgs for all the work they do,Metrics, Async/Await, and Really Big Hammers
But what happens when we run into the wrong kind of nail?
Async/await is a _really shiny_ hammer.Designing a Directed Conversational Interview
Learn how to design a directed conversational interview for the early stages of your hiring process.
This article shows how to take interviewing techniques from the field of user research and cognition and meld them into a directed conversation interview, suitable for evaluating candidates against a skill ladder.Practical Empathy, or: How I Stopped Hating Pair Programming
People love or hate pair programming, and for good reason! It's a tough skill!
Pairing works better for me nowadays because I realized that pairing is a programming skill. Just like for loops, code review, or domain modelling. And like any other skill, it can be taught and learned.Introducing "Let's Pair!", A Zine Series on Effective Pair Programming Techniques
People love or hate pair programming, and for good reason! It's a tough skill!
While some see “Privilege” as a four letter word, as a leader it's critical to understand how team members' backgrounds impact them.GraphQL and Rails - A Brief Introduction
Here are a few tips to help you learn to use GraphQL and Rails effectively together.
While the marketing will tell you the concepts behind GraphQL are simple, a full GraphQL implementation is quite complex.Interviewer Skills Part 3/3: Timing your interview
The candidate has gone off on a wild tangent and you're not learning anything useful. What do you do? should you bring them back to the topic you want to cover? if so, how?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.Interviewer Skills Part 2/??: How to create interview questions
You know what attributes will make someone the right addition to your team, and have specific enough descriptions that there can be no room for ambiguity. How do you translate these into interview questions?Interviewer Skills Part 1/??: Why set specific goals
How do you know if someone will be the right addition to your team? What happens if you both agree it's important to hire "no jerks" or people who are "smart and learn fast", but have different ideas about exactly that might mean?Return from RailsConf + Interviewer Skills Part 0/??: Intro
We have a list of WIP topics. What do you most hope to learn? Let us know.
You asked us for it in the halls of RailsConf and on Twitter. This article is the first in a multi-part series going over some of the topics introduced in our Interviewer Skills workshop.Twenty minutes
Recently I was chatting with a friend who works as an engineer -- a real engineer, as in buildings and bridges and structures. I was curious what a technical, regulated industry's interview process might look like. What might I learn from her interview practice that could teach me about being a better interviewer in the software industry?Tell me about a time when...
What can you ask yourself to know the right question to ask?
When as an interviewer must you ask about specific experiences, and when can you ask what a candidate would do in a hypothetical situation?Embracing Uncomfortable Refactoring
Sometimes refactoring is fun. Sometimes refactoring feels therapeutic. Usually, those kinds of refactoring are the kinds we don't need.How to interview your future manager
What you need out of your manager may be different than what your colleagues, your friends, or your peers need -- and that's ok! What can you do to discover if the candidate interviewing to become your manager is the right person for the job?A primer on setting up your remote employee
...you know what iambic pentameter is hella hard.
How about we jump straight to talking about what to do if you have a lonely remote developer who's not succeeding on your in-office team.
A brief adventure in ActionMailer debugging
Remember what `ActionMailer::Base.mail` is expected to return.
Are you making changes involving ActionMailer and hitting `(object doesn't support #inspect)`?Designing Your Apprenticeship Program for Outcomes
Learn how to align your apprenticeship program with your organization's desired outcomes.
Are you trying to build an apprenticeship program? Building cross-organizational buy-in can bolster your program's success.Understanding, Owning and Leveraging Your Privilege In Tech
Learn how to own, understand and leverage your privilege.
While some see “Privilege” as a four letter word, as a leader it's critical to understand how team members' backgrounds impact them.