I’m going to tell two stories about the Ruby community. One happened this past May (2018), and another happened in 2007. Both are about the Ruby community. Both are about what we did and what we stand to lose. Both are about trolls and how we handle them.
One story is small, recent and has a happy ending. One story is old, ugly and cost us something we can never replace. If you want more of the first kind of story, please sit and listen to both stories. The second one is important and uncomfortable, and I hope I never have to start saying, “please listen to the last two ugly stories.” One is plenty.
I have a moral later, and you can skip that if you like. But I have the two stories, and I hope you will not skip those.
Spring, When a Young Man’s Fancy Turns to Impersonating Ruby Core Members
Not long ago, we suddenly got a new Ruby Core member. We were all quite surprised.
Folks are asking on Reddit, Is Rails Worth Pursuing Anymore? Here’s my answer:
Rails still has some unusual characteristics: it’s easy and very low-boilerplate to get a web app up and running. The browser security is unmatched, as far as what the framework does for you automatically. Rails’ use of metaprogramming allows less code for certain things than any other language/framework combo in existence.
In other words, Rails will teach you some important things about frameworks that you can’t (currently) learn anywhere else.
In a business sense, it’s also by far the best early-prototyping framework for an app that will serve HTML to humans but needs to be secure. That’s why you see so much focus on mid-to-senior-level positions: it’s new startups and startup-like efforts within larger companies. Rails is still unmatched in that specific space.
Do you care about that space? Eh, maybe. That’s up to you, isn’t it? But the jobs will be there for a long time to come.
Rands recently wrote a post called “Your Culture is Rotting”. The short version is that he thinks if people are nervous about HR, it’s a sign of a culture problem. I partially agree – but I think being nervous about HR is perfectly normal and should be expected. It’s the degree of nervousness. Here’s what I wrote on his post:
It’s interesting to see you interpret “human resources” as “resources for humans.” I don’t generally see that phrase interpreted that way. It’s normally “humans as resources” — the same as “people are our most valuable resource.”
That interpretation is dehumanizing to the “resources” (employees) in question. But managers often refer to their people as “resources”, so that’s normal.
HR is a policing-type role. They should be very hands-off when things are healthy and all is going well. In a healthy culture battling an infection (bad employees or bad employee behavior,) they’re hands-on to remove the infection efficiently. In a toxic culture, they become enforcers of that toxicity. As you say, seeing them isn’t good news. HR is like a police car on the highway. “Oh shit, am I speeding? Is my registration expired? Am I going slightly faster than other cars nearby?” It’s low-level anxiety, not the guilt of specific wrongdoing.
Relatedly, one person’s “gravitate toward informed decision-makers” is another person’s “listen to the most influential managers and enforce their whims.” It’s hard to tease those two things apart. And as you say, HR is generally massively under-resourced, making it impossible.
A company can have a popular and capable dictator/manager that employees feel okay about (commonly a founder, CTO or Director of Engineering.) But that system is fragile and leads to cliques. As a random employee, you always wonder if you’re still in the good graces of the guy who quietly decides who’s in and who’s out.
(I worry about that, and my last few jobs have loved me. I’ve even been the guy who decides. The anxiety never goes away.)
I agree that when people are nervous about HR it’s because the company’s values aren’t perfectly aligned with their own values. Here’s a dreadful secret: if you’re an employee rather than a sole owner of the company, a company’s values are never perfectly aligned with your values. There is always a difference, it’s just a question of how big a difference.
The worry is that if there’s a conflict between you and the company, HR is supposed to side with the company. Which is true. Enlightened companies will try to make sure that “side with the company” follows good principles. But employees perceiving that conflict aren’t wrong.
Here’s the basic conflict: a company that says “being ethical is good business” is still, in the final analysis, driven by business, and ethics is just the method to do that. If there seems to be a genuine conflict where ethics is not good business, pretty much any company understands: they are in business, not religion, and business will trump ethics.
(“But being ethical is good business! People will find out if you’re unethical!” Okay, now what does the company do when it appears that there is no consequence of that kind for being unethical? If you justify ethics in terms of business, sometimes there will be conflicts.)
So: HR gets treated as an extension of the business, rather than how you would treat your therapist, pastor, lawyer or other professional who has specific legal protections and requirements to be “on your side” in particular ways.
That’s because that’s exactly what they are. I’d be in favor of a serious HR profession analogous to the medical or legal profession, the clergy or therapists. But right now we have no such thing, and no legal or professional protections like those professions have.
Have a horrible revelation, from an appreciator of less sugar with my caffeine.
You can buy a brick of caffeine in pure powdered form for about $30. That’s for 500g — about a pound. Several years’ supply, easily. Weightlifters use it, so it’s going to be readily available for a long time. I got mine off Amazon.
If you do, please mix it with something that already has some bitterness inherent in it: coffee, tea, pomegranate or blueberry juice. Caffeine is bitter and will be really foul if mixed with an all-sweet juice like apple or orange…
But it works great with black tea, sugar and a bit of milk. You can add a lot of caffeine, say 300-400mg, to a decent-sized mug of that tea and barely taste the bitterness.
And if you do that, also buy a cheap digital scale. You’ll get used to eyeballing it, but at first you probably want to measure.
(Note: the links above aren’t carefully-vetted. They’re also not affiliate links. They’re just examples of where/how you might buy the things I mention.)
Now if I could just find a good link to agonistic vs antagonistic caffeine usage, a la Sebastian Marshall…
“I’m noticing that the topic of empathy is starting to be discussed more and more and developer circles. In retrospect, it’s strange that it has taken so long to come to the fore.”
Early tech companies were attempts to make something possible that hadn’t previous been possible. Think of Microsoft, Intel, Palm…
Turns out we’ve mostly mined out that vein — most stuff that people want to be possible, that computers can easily do, is now possible.
So we’ve switched from the problem “how do we make this possible for the very patient?” to “how do we make it convenient for a bunch of people, mostly non-programmers?”
That’s a big change in what problem we solve. That’s also a lot of the reason for the rise of Rails. Rails doesn’t help that much with making totally-new things possible, but it helps a huge amount in seeing what people like and don’t via prototyping. A Rapid Prototyping environment is a terrible way to hug the edges of what’s just barely possible on your hardware, but it’s a great way to explore the space of now-possible things and see which ones are useful, convenient or marketable.
“Make it possible” is a goal where empathy is probably useless or even counterproductive. You are looking for things people think of as impossible as your target. You don’t (yet) care if what you’re doing is useful or desirable — thinking in those terms will probably get in your way. The question is “what can we do, even though we don’t know why we care yet?”
But “make it useful to humans” is a goal that is nothing but empathy.
Our industry went through huge changes after “Microsoft” or even “Google” stopped being the next who-you-want-to-be. Now it’s companies like SnapChat, Facebook, etc. Programmers are still collectively sneering at social media companies being worth huge valuations. But making things useful is going to be a much, much bigger deal than making them possible, in the end.
“The next Microsoft” still hasn’t been fully replaced by “the next Facebook” in our heads, at least outside of the VC ecosystem. We still sneer at things that facilitate human interaction instead of new tricks in physics or abstraction. That change is going to take awhile.
This isn’t really my blog post — it’s Brian Brushwood’s. But as his blog slowly, visibly decays, it makes me want to keep a copy somewhere I’m sure I can find it. So, here it is:
Lately a lot of young magicians have been asking me for advice, which has caused me to remember one of the most valuable correspondences of my life: one of the most mind-blowing letters I ever received, chock-full of insights that to this very day guide my career and philosophy in both creating and performing magic.
This is a pretty long post, but with Teller’s permission, I’d like to share with you the secrets he gave me 14 years ago to starting a successful career in magic.