RWDevCon 2017 Inspiration Talk: New Tricks by James Dempsey

In this talk, James explores how he thinks about and works through the many major changes encountered along the way – like transitioning to Swift. By Andrea Lepley.

Leave a rating/review
Save for later
Share
You are currently viewing page 2 of 3 of this article. Click here to view the first page.

Learning New Tricks

What I’d like to talk about is that: can an old dog learn new tricks?

For me, as I’ve reflected back on the last 20 years, there are a couple of what I would call meta tricks.

They’re tricks that you can learn that hopefully make it easier to learn new tricks.

Learn Your Way

The first of those meta tricks I call “learn how you learn” because everybody learns in a different way and you’re certainly going to be learning new stuff in this environment forever.

Some people like books. Some people prefer watching video. Some people just jump into code and look at the documentation and start writing stuff and just do stuff by trial and error. Some people like working with other people to learn stuff. Some people prefer it alone. I’m guessing most of you enjoy tutorials.

Love What You Do, But …

Next thing I would say is love what you do, with a caveat: don’t get too attached.

We put a lot of ourselves into our work, and one thing I’ve learned over time is it’s a little bit dangerous to put way too much into your work, because things are going to change on you.

If you were at the game show last night, there were some WebObjects paraphernalia.

This was one of the technologies I cut my teeth on: doing dynamic web applications. It was always in Java when I wrote it, but we were using Foundation, so NSArrays and all that stuff. And then at a certain point, it kind of stopped being supported and it was time to move on.

I spent a lot of time, energy, effort in WebObjects, but … Keeping an eye out for when things seem to be trickling down is also a good time to start emotionally divesting a little bit, so that you’re not terribly disappointed.

Those Carbon developers were very, “it’s not just that we’re writing code. What we do is a very emotional business.” We claim to be very: “Oh, we’re engineers. We’re all logic and reason.” Then we look back at the last tech argument we had, and what percentage was logic and reason, and what percentage was like, “No. I just think this is correct”?

I worked on version one of Aperture and it was surprising to me when, years later, it was end of life, that it kind of hit me a little bit. More than I was expecting. I didn’t touch the code. I hadn’t worked on the team for years. It was this thing I worked on, and now it’s no longer a thing.

I think, for me, what I’ve found is that that is going to happen through your whole career. You’re going to work on a project that before it even sees light of day might get canceled at a company. You’re going to be working maybe at a startup where it goes along fine and then everything falls through and: “Oops. That’s not a product anymore.” Or just features that you work on maybe get cut at the last moment.

We pour a lot of ourselves into these things and that’s great. The one thing I would say is that if you pour yourself in, you can be very vulnerable to becoming angry and bitter.

I say that with little bit of humor, but it’s true. It’s much better to kind of pull back a little, to realize that the part of you that you put into that thing is very important, but also that there are things beyond your control that may cause that thing to disappear.

So, again, love what you do, but don’t get too attached.

To me, it’s this crazy balance where you’re trying to put your full heart and soul into something, but you also need to be a little bit emotionally prepared that it’ll go away. Take a little time to recognize that anything you’re working on might go away. That technology you love, that framework you love, that language you love might be a thing of the past at some point.

Passion

We often see folks say, “Do what you’re passionate about.”

Follow your passion. I think that has a good deal of merit to it, except you can’t always follow your passion, because sometimes other things happen.

Life happens. You have other considerations besides doing exactly that one thing that you’re truly passionate about. One thing I’ve come to observe over time is what might be more important is: be passionate about what you do, whatever that happens to be.

You can almost think of it like having a meta passion. If you have a passion about things like, “I like solving problems that people need solving,” then it doesn’t necessarily matter what thing you’re working on, because you have this meta passion that you’re just into solving these problems.

Or you’re into giving people a good experience, so whether you’re actually working on an app or working on a tutorial or working on a game show or what have you, you’re concerned about this thing that you’re passionate about where the exact details of what you’re doing might not matter so much.

That way, you can always be doing things in a passionate way, but if something gets pulled out from under you, like a project you’re working on or what have you that you have no control over, you can be proud of the passion you put into it, but also apply that passion to the next thing and not beat yourself up or feel really horrible.

For me, I joined the AppKit team and I was responsible for AppKit accessibility. Now, I did not join the AppKit team saying, “I’m very passionate about accessibility. That’s all that I want to work on.” It’s just that was the thing that needed to be done, so I dug in.

Solving problems and learning the accessibility APIs, how everything worked, was incredibly rewarding. I’m very proud of the work I did on accessibility and I’ve become passionate about accessibility, but it’s a case where there wasn’t a passion followed by action. It was more a case where the action and what needed to be done caused me to delve into it and become much more involved and passionate about something.