My notes from conference sessions I have attended.
June 23, 2018
Grand Rapids, MI
with Douglas Crockford
Konmari
When decluttering, gather your things.
For each thing, hold it and ask yourself, “does this spark joy?”
If not, say “Thank you for your service”, and discard it.
in JavaScript
var
< let
< const
'
< "
null
< undefined
in general
tabs < spaces
NULL < an immutable, empty object
If our code never has side-effects and is 100% functionally pure, we will not only eliminate disk and network access, but also user interaction and any value provided by the software whatsoever.
The Universe is mutating. Use purity when you can.
DEC64
A better number type that is “intended to be the only number type in the next generation of application programming languages”, and does not encounter the issues we currently have when working with floating point numbers.
Having a word in a language that no programmer can use as a name is a restriction based on the constraints of the 1950’s.
Instead, the language tools should be smart enough to understand whether the word is being used as a name or a keyword. This would enable freer naming in code while also allowing language developers to implement new language features without fear of breaking existing code.
I don’t have an answer to that. I’m sorry.
(In response to a question he either didn’t have anything to say about, didn’t know about, or didn’t want to spend time on.)
Code font used in presentation (and in his editor): Programma.
Correct pronunciation of JSON: zhah-SOHN.
Web Assembly is less open than JavaScript, and in terms of performance, tunes the part of the system that does not need to be tuned.
He has eliminated the use of the this
keyword from his JavaScript because of its unreliability. (Me too)
On attempts to make js more Object-Oriented:
“People who use classes in JavaScript will go to their graves never knowing how miserable they were.” ~ Douglas Crockford, just now at #BeerCityCode
— Fazzaro (@jonfazzaro) June 23, 2018
with Ronda Bergman
Not just because diversity–diversity in teams leads to their being more robust, better solutions to problems, and lower turnover.
Speaking of turnover, replacing an employee costs up to 213% of their base salary.
So, greater diversity on a team leads to more profit.
Companies that are not diverse typically don’t have a sexism problem. Not explicitly, at least. The problem is that women tend not to even apply for their jobs because of the way the company presents them, and itself.
Aggressive, dominant wording
Rockstar/Ninja/Guru
Bro-culture (foosball tournament listed as a perk)
Gender-specific words (“our guys”, “craftsman”)
Gender-neutral words
Promote real perks (work-life balance, paternity leave)
Get rid of “culture fit” interviews. Think instead in terms of a “culture add”.
Track your applicants through the hiring funnel. Where are the non-white-male folks falling off?
NPM’s job postings and culture broadcasting are good examples of all this in action.
with Brianna Marshall and Kelsey Perdue
An optimal team is a group of happy people who are responsible for an amazing product.
Optimal teams have four characteristics emphasized.
Asset-focus
They spend time strengthening their strengths (over remediating their weaknesses).
Psychological Safety
If they are afraid to fail, they won’t try anything new.
More emphasis on communication than productivity
Rely on trust and respect, rather than on specific practices
See Google’s Project Aristotle
Diversity
In age, race, ethnicity, etc. BUT ALSO across work style, first language, socioeconomic background, etc. (see Loden’s Wheel)
There are three levels of diversity.
Inclusivity
Diversity in the team/org is not simply tolerated, it is actively encouraged and promoted.
A person is covering when they are hiding an aspect of their personal lives (religion, sexual orientation, disability, hobby, etc.) from their coworkers. This tends to decrease the person’s sense of opportunity from and commitment to the team’s work.
Bring your whole selves to work, to the team. This doesn’t mean interfering in the work of the team by espousing your radical political opinions so much as it means stop spending energy/cycles on concealing them and keeping them from influencing your choices. They may be valuable in terms of your unique creative contribution.
How well your organization relates and works effectively across cultures. Analogous to Emotional Intelligence.
You may have a conversation with people who feel that “we’re fine” with the as-is diversity (or lack thereof) in the company. And they may be right–you’re fine. But consider the opportunity cost: how much better/happier/more competitive could you be with more?
with Aisha Blake
Giving feedback using the oft-recommended shit sandwich (compliment, criticism, compliment) format just dilutes/discounts the message. ~ @AishaBlake #beercitycode
— Fazzaro (@jonfazzaro) June 23, 2018
Further reading
Crucial Conversations
Radical Candor
with Olivia Liddell
The word mentor comes from the Odyssey, in which Mentor was a character.
In his old age Mentor was a friend of Odysseus who placed Mentor and Odysseus’ foster-brother Eumaeus in charge of his son Telemachus, and of Odysseus’ palace, when Odysseus left for the Trojan War.
What did you struggle with at the start of your career?
What would you do differently if you had to do it again?
Let the mentee drive things in a mentoring relationship, whether formal or informal. ~ @oliravi #beercitycode
— Fazzaro (@jonfazzaro) June 23, 2018
Mentor/mentee self-select one another
The relationship is casual, not measured
To begin, seek out and connect
Don’t force it
Be approachable
Hold an internal speed-networking event to foster informal mentorships.
Established/assigned “on-paper”
Goals are set, tracked, and measured
(That sure sounds like User Story, Acceptance Criteria, and Architecture)
Two ears, one mouth.
Active listening
Paraphrasing
Asking clarifying questions
Be mindful of body language and presence
Consider the other person’s perspective
Be specific and direct
Make suggestions and explain the “why”
to clarify the words you use when you speak.
What are you afraid of as a mentor?
with Charlie Sweet
What is the opposite of “fragile”? Not robust/durable–those things only resist damage when stressed.
If something is the opposite of “fragile”, it gets stronger under stress. Antifragile.
Eustress, the good kind of stress.
Moderate, not extreme.
Periodic, not chronic.
Like good exercise.
The restaurant industry is volatile. It’s a difficult business to run. Restaurants are closing (and new ones are opening) all the time. The upshot: there’s always somewhere to go to lunch.
The banking industry is not volatile. It’s highly regulated, and has the appearance of stability. The upshot: when something goes wrong, it goes very wrong, and the effects ripple through the whole economy.
Martin Luther King, Jr.’s 1963 “I have a dream” speech was improvised. He was faltering in delivering his prepared remarks, but when Mahalia Jackson prompted him from the crowd to “Tell them about the dream, Martin!”, the words that everyone remembers came flooding in.
Netflix’s Chaos Monkey, of course.
A Procrustean bed is an arbitrary standard to which exact conformity is forced. Named for Procrustes, the bandit from Greek mythology who stretched or amputated the limbs of travelers to make them conform to the length of his bed.
Most of the groups we call “teams” are probably better described as “working groups”. @mkeCharlie #antifragile #beercitycode
— Fazzaro (@jonfazzaro) June 23, 2018
A working group is a collection of independent individuals applying effort to the same work.
A team is an interdependent, interactive group who’s value is greater than the sum of its parts.
If you want to build an actual team
DON’T use the 5U method of building a team: “Okay, you, you, you, you, and you! You’re a team.”
DO define who is on the team and who is not on the team explicitly. Set clear expectations and drawing clear boundaries, these constraints free both parties to do better work and collaborate more effectively.
Psychological Safety is the most important prerequisite to a great team.
For identifying whether your team is psychologically safe.
(Maybe we should use these in a retrospective?)
BTW: A knowledge worker is a person who knows how to do their job better than their manager does.
a way of describing something by saying what it is not, especially denying that any finite concept of attribute can be identified with or used of God or ultimate reality.
So, what can we STOP doing that will make our team more Antifragile?
And what can we START doing?
Further reading
Antifragile
The Wisdom of Teams
Performance note. Charlie frequently turned off the slides while talking. This was an excellent use of negative space during his talk. It removed the subtle distraction of an irrelevant slide when he was speaking about something that he did not necessarily have a visual for. It was super-effective.
with Michael Stahnke
When deciding on a candidate, ask: “If you only got to hire one person this year, would this person be it?”
Make a Scorecard for the job.
Diversity and inclusion begin at the hiring pipeline, in the wording of the job description. ~ Michael Stahnke #BeerCityCode
— Fazzaro (@jonfazzaro) June 23, 2018
Make sure that the interview panel isn’t ALL WHITE DUDES. Observe how the candidate treats/relates to the interviewers who are female/non-white/etc.
Scrap the “culture” interview–that’s how you find a friend, not fill a job.
Interview questions
“Tell me about a time you pushed back on management.”
“Tell me about something you did that you are really proud of.”
After the interview, with you fellow interviewers:
Put your evaluation of the candidate in writing. This is good for two reasons:
Applicant tracking
Jobscore
Greenhouse
Further reading
Who
with PJ Hagerty
Our developer communities are too siloed. We should not have Python, .NET, or JavaScript meetups–we should have Tech meetups. Developer meetups.
Cross-pollination over specialization. Seeking diversity in teams, not the next Rockstar Ninja Guru Wizard.
DevRel (Developer Relations). A team that coordinates cross-functional communication between developers and other non-technical teams. Either internal or consultative. See DevRelate.