Make the Most of Home Office Video Calls

| Comments

Suddenly everybody is working from home and on video calls all the time. This has been my life for years (when I’m not on the road, that is), and because I’m also a video hobbyist, it might not come as a total surprise that I have slightly overdone my home office video seutp. I get questions about it from time to time, so I figured I’d finally put together the video I’ve been threatening to do for years.

And hey, how timely! We’re all working from home in the past month, with no clear idea for how much longer that will last. And because people at work often ask me about my setup, I figured I’d put together some tips for how to do video calls from home. It’s all in the video, but I suggest three phases of home office video setup development:

  1. Just use your laptop webcam, but face a window
  2. Get a ring light or a softbox
  3. Go completely insane

In the video, I promised a link to actual things you could order (as of the time of this writing), which I’ve given below. You might notice the jump between the cost of phase two and phase three is a lot of money, and, well, you’re right. There are varioius reasons why the middle ground is sparse here, and I may address them in a subsequent video. Just know that I’m not purposely overlooking a sensible middle ground. Video is funny this way.

PHASE ONE

  • No purchase necessary—if you have windows and can work near them

PHASE TWO

PHASE THREE (do not attempt)

Getting Fitted for a New Hoodie: DevX at Confluent

| Comments

Over the past year I’ve developed a pretty crisp vision for what Developer Relations ought to be. Organizationally speaking, it’s a team that couples a technology company to the developers who consume its product. But it’s also a world-class training team. It’s technology evangelism. It’s focused, correct, accessible documentation. It’s community. It’s relevant, professional sample code. It’s next-level online learning. It’s anything a developer needs to be successful using a technology company’s products.

And more than that, it’s personality. There is no single technology a developer can adopt that does not have alternatives, and to win in the marketplace, functionality matters, performance matters, and easily accessible learning pathways matter. But most people don’t make choices based on the figure of merit their bakeoff spreadsheet calculated. People make choices based on what kind of people they aspire to be. It’s not enough for a DevRel team to deliver on community, evangelism, and education: DevRel must also project a personality. It must be collectively the kind of person developers themselves aspire, in one way or another, to be.

It’s a liberating thing to have some clarity about the professional mission you want to accomplish. Once I had the picture in my head and realized I was pretty well equipped to carry it out, I wanted to find a company that not only shared the vision, and was not just willing to execute on it, but was downright eager to. The executive team at Confluent convinced me that they were just such a team, and I suppose I convinced them that I was the guy to lead the effort. Starting today, I am Senior Director of Developer Experience for Confluent. We’re calling it “DevX” for short, for obvious reasons of coolness.

I’ve told my non-tech friends that, apart from the logo on the hoodie, they won’t notice any difference in the new job on a personal basis. I’ll still travel a lot, speak a lot, and run a team. I’m still working with vaguely computery things. Peeking under the hood a little bit, I’m moving from one data-related Apache project to another data-related (frequently complimentary) Apache project. I am in a real sense just getting fitted for a new hoodie—but of course there is so much more in the move than first meets the eye.

It should not go without saying that I realize what a gift it is even to be able to have this conversation with myself. Plenty of people in the developed world are just trying to make a buck, and aren’t thinking about how to craft a role that provides them with the greatest possible sense of autonomy, mastery, and purpose (thereby maximizing their intrinsic motivation) with the greatest organizational-vision alignment they can manage. And while the developing world is enjoying a tremendous boost in prosperity over the last two or three decades, most of its citizens are also not thinking about how they can best follow their passion—unless that passion is clean water and a minimal education for their children. All of this job satisfaction talk is tech industry Valley-Speak. Most of the factors that makes it possible are not choices in which I exercised any agency.

But still. I’m thrilled I get to do this work, and excited to get started doing it today with Confluent. There is much ground to cover, and the world is not standing still. Let’s do this.

The Rime of the Product Manager

| Comments

After I wrote The Maven, I started thinking about what poem I would hack next. I didn’t intend to land on another Romantic–allegedly I do not even like the Romantics very much–but then the title just came to me one day. I want to say “and then the rest happened quickly,” but in fact principal photography took place over a total of four days spread over more than two years. Editing and the the composer’s work came together quite a bit more quickly than that, and only at that point could the rest be declared to be history.

My plan for Rime was to produce a more complex film with multiple sets and multiple actors. This is a difficult undertaking for professionals, much less unschooled hacks who are trying to produce the least amateurish artifact they possibly can. I can say two things about the process: it is apparently difficult to get right, and it is one of the most enjoyable things I do.

With that, I present to you The Rime of the Product Manager:

I won’t drag you through a detailed account of what I meant to convey with the film, but I will say that my message changed from the time I originally hatched the idea to the time I finished editing. The place I landed is hopefully obvious enough. Once again, because artistic license sometimes pulls me to extremes, I should make it clear that it is not my opinion that the role of the product manager (or “product owner,” which is more precise but does not scan) is a bad thing, nor on the other hand do I think Scrum is somehow destructive.

Finally, you might just consider giving the original poem, The Rime of the Ancient Mariner, a read. You can also clone and build the Asciidoc-based screenplay, or just read the full text here:

The Rime of the Product Manager

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
A tired Product Manager
Spies a group of friends
He grabs the young one and proceeds
His great wisdom to lend

The Conference-Goer stands chagrinned
His eyes and mouth agape
The PM grabs his hand and then
His friends make their escape

The Conference-Goer took his seat:
He cannot choose but hear;
And so spoke on that tired man,
The Product Manager.

We started in a coffee shop
Upon a city street
UI mocks were drink to us
And code our only meat

We coded long, we coded hard
We coded day and night
We coded like our days would end
Unless we code aright

None among us told his peer
The features he should build
If we'd have played the manager
Our vision we'd have killed

Then one dark night, we launched the site
Our hearts besot with hope
In Graphite's thrall we watched it all
And dread caught every throat

We watched the charts all day and night
Frowning, sighing gently
Our only goal, the favor of
The Valley Cognoscienti

We got the mentions we were after
Traffic started spiking
The cluster groaned under the load
All servers running to the hilt
We dared to think we might have built
A product of our liking

We bathed in growing revenue
With metrics in our favor
Subscribers new, renewals too
Made these the days to savor

The VCs saw what we had built
And offered to us terms
That we could scarcely not accept
—so much we had to learn!

We closed an A round and we thought
Success was now in hand!
Who could but think that capital
Had ratified our plans?

With all due youthful confidence
We set ourselves to hiring
We poached, cajoled, and outbid for
The staff of our desiring

And what with shiny laptops humming
Could all these hackers do?
They built the features users wanted
Feature on feature accrued

We coded long, we coded hard
But a hacker needs to rest!
With VC funds we bought some cheer
And wine and gin and Scotch and beer
We worked and drank and worked 'til near
Our work was not our best

Now such a team could scarce avoid
A Providential chastening
No one could know that this new flow
Had been our failure hastening

Those early days of coding hard
In cafes on the cheap?
Were gone and in their place we’d built
A comp’ny growing weak

No longer was each eager coder
Focused on our users
No vision animated them
No judgment was within their ken
We looked at our new features then
We judged these features losers

We all agreed the thing we’d need
Without a doubt averred:
I’d hang up coding and become
A Product Manager

The founders’ product vision now
Came through the medium
Of story cards and backlogged scars
Of endless tedium

And I had done a hellish thing,
And it would work 'em woe:
For all had seen, I'd killed the team
That made the comp’ny grow.
You wretch! said they, the team to slay,
That made the comp’ny grow!

Day after day, day after day,
We stuck, no more did we code;
As idle as a painted team
Upon a painted repo

Product, product everywhere
And happiness did shrink
Product, product everywhere
Nor anyone to think

Subscription growth had flatlined and
Our runway shrank to nothing
Subscriber acquisition cost
So bloated we were blushing

That dream team that we'd hired then?
No longer could they trust
We'd have an exit worth their time
So left they as they must

If it were only staff I lost
Survive I just have might
Buy my partner joined the tide
And left me in my plight

There was nothing left to build
The vision we had started
I could only turn and leave
A founder, broken-hearted

And now I fly from show to show
Spreading far my story
To coders young who've yet to learn
What made my heart so hoary

It doesn't matter what your scale
Nor where you got your funding
If devs don't love their users then
Your futures will be plunging

The vision that you started with
To set the world aright?
Must be spread to everyone
Who gives your product life

The sub-creators of the world
Must love the things they make
If you would lead, then you're the one
To spark their hearts awake

They can't be bought with snacks or drink
And process least of all
Can bring the flush of health into
A coder once he fall

And now I fly from show to show
Telling wide my story
To coders young who may yet learn
Where lies their future glory

The old PM, whose eye is bright,
Whose blog with age is stale,
Is gone; and now the Conference-Goer
Departs the conference vale.

He leaves like one who has been stunned,
And is of sense forlorn:
A sadder, wiser hacker then
He rose the morrow morn.

Stopping by the Training Room on a Snowy Morning

| Comments

With apologies, as usual, to the original author:

What class this is I think I know
The slides are on my laptop though
I did not look at them last night
I can’t be sure I know their flow

My Facebook friends must think it queer
That I am gone nine months a year
My eyes betray I did not sleep
But for this class? Affected cheer!

A student jolts himself awake
To ask if there is some mistake
The only other sound’s the hum
Of laptop fans before the break

These slides are lovely, dark and deep
But I have classes left to teach
And miles to earn before I sleep
And miles to earn before I sleep

Journey Zone 2015: PolarZone

| Comments

The 2015 JavaZone was the same amazing event it always is: world-class speakers, JavaZone’s ground-breaking continuous food concept, and an expo floor that’s actually fun to walk around. Like any great conference, it’s a place to learn and reconnect with friends—some whom I only get to see once a year.

JourneyZone—the long weekend away someplace in Norway that JavaZone provides for its speakers after the conference—is always memorable, but this year was truly a once-in-a-lifetime experience. In commemoration, I present to you Polar Zone 2015:

I Wandered Lonely as a Cloud App

| Comments

I wandered lonely as a cloud app
Late of Heroku purchases
When all at once I saw a crowd,
A host of microservices
Beyond the build, beneath the stats
My code in chunks and bits thereat

Continuous was the app deployed
In all its many-splendored parts
They spread in Dockerfiles alloyed
With CoreOS hosts’ very hearts
Ten thousand saw I when I looked
At Kubernetes’ dashboard hooks

The Mesos cluster’s web display
Showed every resource fully used
Yet the goal at start of day
Was just an app for scraping news
I gazed—and gazed—but little thought
That wealth to me this stack had brought

Now oft, when at my screen I stare,
Commenting on Hacker News,
My only company, despair
And the bill from EC2,
Then filled my heart with sorrow is—
The sorrow of the services.

Inspired by Paul Biggar’s fictional dialog on the same topic. See also the Wordsworth original of which I frankly am not too fond, but for which I am grateful on the occasion of my own fooling about.

DISCLAIMER: since I have friends who work with some of the named technologies, I should make it clear that I am not down on any of them. As I have said elsewhere (shameless plug!), distributed systems are bad in just about every way and should be avoided when possible. Fortunately—since I make my living in distributed systems—sometimes they are the only way to do the awesome thing you want to do.

Goodbye, GitHub; Hello, DataStax

| Comments

I’ve had a great time at GitHub over the past year and a half. I’ve traveled to plenty of interesting places, taught thousands of developers how to do a better job working together, and learned quite a bit myself from GitHub’s unique approach to organizational structure. It’s a tautology to say that the experience has changed me, but I think time will reveal that it has changed me in important ways. Hopefully I can write about some of this in the future.

GitHub is a great place to work, but the landscape of one’s career is constantly shifting, and staying on top of one’s own calling requires constant adaptation and re-evaluation. Managing a career is like climbing a mountain, except it’s a mountain whose elevation constantly shifts in response to your own footsteps. My current path has led me, as of today, to leave GitHub for an exciting new opportunity.

I’ll be joining DataStax as their Director for Technical Enablement. I’ve known the folks at DataStax for years, and even did some contract work for them back when I was on my own. When they offered me an interesting position doing what I love, I jumped at the chance. It doesn’t hurt that they’re a classy bunch of people who seem to have figured out how to combine a startup’s pragmatism and adaptability with the structures and attitudes of a mature business.

Starting a week from today, I’ll be focused on helping DataStax channel partners be better at delivering Cassandra-based solutions to their customers. Apache Cassandra and DataStax Enterprise are complex products that solve difficult problems, and people need help getting that job done. I’ll be doing a lot of the same sorts of things I’ve been doing of the past few years—conference talks, classes, workshops, and videos—but focused on the indirect sales channel instead of the end user. This is a whole new world for me, and I’m really excited to jump into it. I will do my best to keep you posted here with what I learn.

Speaking at DJUG Next Week

| Comments

There’s nothing quite like a home game, so I must say I’m happy to be speaking at DJUG next week on Wednesday, October 10, 2012. The topic will be GitHub Power Tools, including such amazing topics as:

  • Pull Requests
  • Issue Tracking
  • Project Sites
  • Custom domain names
  • Team and organization access controls
  • Wikis
  • OPTIONAL BONUS: Integration with third-party services

It’s like the fun never ends! I’d love to see all my Denver friends there, and join you for drinks afterward.

DJUG meets at the offices of FullContact at 1621 18th Street Suite 40 Denver, CO 80202. Food starts at 5:30pm, and my talk at 6:00pm.

SurvivorZone Documentary

| Comments

I mentioned in my last post that JourneyZone had a few surprises this year—which surprises should perhaps not be all that surprising, given that we were riding mountain bikes in the same part of Norway that served as the location for the Hoth scenes in The Empire Strikes Back. (Thanks to Brendan McAdams for that link.)

Whether we should have seen it coming or not, we had a great time. In fact, JourneyZone wasn’t merely JourneyZone. Witness SurvivorZone 2012:

JavaZone 2012

| Comments

JavaZone 2012 is in the books now. I don’t mind saying I love that show and the city it’s in. Oslo might be an expensive place to visit, but it makes up for it by being beautiful and generally easy to get around.

This was my third JavaZone, but my first as a GitHubber. I actually submitted my proposals to the show before even beginning to consider going to work for GitHub, so there was no Git to be found in my talks as originally planned. Happily, the schedule had some holes open up at the last minute, so I was able to give three talks: a brand new lightning talk on Git internals, my talk on software architecture and form entitled Then Our Buildings Shape Us, and an improvised Advanced Git talk containing some new material I have recently been testing out. The response to the latter on Twitter was especially enthusiastic, with more than a few people saying it was their favorite talk of the show. Thank you, Norway! Honestly, I love you too.

This beer was actually in Flåm, not Myrdal

Next was JourneyZone, rechristened “SurvivorZone” for its 2012 instance. JourneyZone is a three-day weekend trip to some exotic destination in Norway that the conference offers to its speakers. This year, JourneyZone started with a 22-mile mountain bike ride across the mountains of western Norway. This is typical summer fare for active Norwegians (and does not seem at all odd to this active Coloradan), but we just happened to get caught in a nasty bit of weather on Friday afternoon. Five hours of cycling through 35-mph winds and freezing rain will take the fight out of you. Let’s just say I have never tasted beer as good as the beer I had in Myrdal that night, and leave it at that.

Outside our hotel in Aurland

After thawing out and resting up, we took a train to Flåm to rest for the day and tour one of Norway’s largest microbreweries. If Flåm were trying not to be beautiful, it would count as the most spectacular failure known to the sons of men.

When we returned home on Sunday night, I hosted the second annual GitHub Oslo Drinkup. Oslo developers came to talk about what they were doing with Git and with technology in general, joined by not a few JavaZone speakers and staff—Git fans all.

2012 The Octocat makes its appearance in Oslo

Thanks to GitHub for the opportunity to evangelize our technology in places like this, to javaBin and the JavaZone organizers for putting on such a great show. God willing, I will see you next September.