You know the Golden Child Engineer, the favourite of the Director of Engineering? He’s that guy (and it’s basically always a guy) who’s the company Teacher’s Pet? The software developer who gets promotion after promotion?
You’re not that guy. With one fun exception, I haven’t been either. And I’ve...
A few months ago, a CTO at a conference asked me, “how do you encourage a blogging culture at your company?” I’m a reasonable fellow to ask. Not only have I written a huge amount for AppFolio’s engineering blog and encouraged other AppFolio engineers to do so, I also did something similar at OnLive with even more success. By “more success” I don’t mean the blog was more popular (it wasn’t,) but that about half the posts were written by engineers other than me, which is the hard part. Writing a lot is all well and good. Getting other people to write a lot is an accomplishment.
The hard part isn’t getting a few posts started. The hard part is blogging with any regularity. And it is hard. But there are some things you can do to make it easier.
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...
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.
An ambitious young programmer asked me recently, “how do I balance learning
new specialties with producing good results?” It’s a great question, and a
hard balancing act.
It took me too many years to learn this. I hope the rest of you learn it much
faster than I did.
A Tale I Will Thee Tell
If you find a project that your management considers highly productive that
uses a new-to-you technology, then you can learn and be
productive. That’s a best-case scenario, but it happens semi-often.
Watch for it, just in case.
As you’d expect, those opportunities are often reserved for the programmers
who play the politics game best — if you do well, many of those will
mysteriously open up to you.
But let’s say you can’t get that, not yet.
Your Goal: Be Like Old Google
Next best is to have a perceived-as-high-value activity that doesn’t take all
of your time. This is much, much easier than it sounds. If you can do that,
you can declare your own old-Google-style
20% time, especially if you don’t declare it out loud. The keys to being
perceived as highly productive are, roughly:
1) Be sure to ask your managers, and occasionally their managers, what the
company values. Patrick
McKenzie’s article talks about doing this during your interview — and
yes, do that, but don’t stop doing it once you work there.
Also, ask business-critical groups (e.g. Sales, Marketing) and politically
powerful groups (e.g. Product, Finance) what they get from Engineering. You
ask because they remember the stuff they value and forget the stuff they
don’t. So their answers will not be a good match for what Engineering
thinks that Engineering gives them. Their answer tells you what you
want to be working on. Those are projects they consider valuable and
noteworthy. If you do a good job on projects like that, they will remember you
personally. At least, they will if you do steps 3 and 4 correctly.
There’s a lot to developing software on a team that universities don’t
traditionally teach you. If you’re already strong at theory and
skills and you know you also need lots of practice, what else should
you be doing to prepare?
Developing on a team requires a lot of people skills. Junior software...
Subscribe to get free ebook chapters and an emailed coding class now, plus videos and articles a few times a month.
Why this specific newsletter? You want to be an expert. Expertise comes from learning the fundamentals, deeply. And that comes from the best kind of practice.
I write with that in mind. I won't waste your time.
(Yes, I also sell things. They're good, but I'm fine if you don't buy them.)