Part of what I love about Artsy is its engineering culture, and part of that culture includes being aware of your career and taking the next steps to become a better engineer.
The push to develop my career is something I’ve never felt as strongly as I do here. I’m lucky enough to work where we have an open source compensation framework to help guide me on next steps, and my mentors proactively make sure I have every opportunity to improve myself.
The thing is, it’s been a really long time since I’ve had any sort of longterm plan about my career. I’ve just been sort of floating along, gravitating towards things I enjoy. When I moved to New York, I suddenly had much better access to resources to help me plan and direct my career. At first, I was kind of unsure what to do.
Back in the summer, I talked with dB about what I’d like to do next and I heard from him what he’d like to see from me. I’m really excited about what’s coming next! And scared! I’m supposed to be scared, right?
Backtracking a bit, you might have noticed a shift about a year ago in my writing: I got less angry. A lot less angry. The anger was, to some degree, a symptom of my depression, and finding a good psychiatrist last October probably helped a lot. But I also realized that by being angry, I was pushing away those around me with my toxic attitude.
I wanted to change, but it was hard. It took time.
Things improved again when I moved to New York in February. Online, I’ve become more focused about what I say – and more deliberate about saying it. Think before you tweet, as my mom raised me.
There’s so much anger out there, and rightly so in a lot of cases (there are definitely things worth getting angry about). But I wasn’t getting angry about anything noble, I was getting angry about the Apple Watch. It just didn’t seem productive, and it wasn’t fulfilling.
So I decided to change.
My goals were a bit loftier than “don’t be so angry.” I wanted to become the kind of engineer that today I look up to, so I took a lot of time to think: what makes a good software developer?
My friend Jason, who got me into iOS development, once said “if you’re not in this to change the world, leave.” A bit dramatic, sure, but I took it to heart.
So basically I want to make the world a better place. How do I do that? Well, I have two strategies:
- Work to improve the parts of the world I have influence over.
- Work to expand my sphere of influence.
It’s basically a distilled version of this idea from Astrophysicist-and-all-around-badass Neil deGrasse Tyson:
For me, I am driven by two main philosophies: know more today about the world than I knew yesterday and lessen the suffering of others. You’d be surprised how far that gets you.
– Neil deGrasse Tyson
Isn’t that just, like, the most perfect definition of an engineer? Learn everyday, and help others.
Learn and help.
I wish someone at school would’ve told me it could be that simple.
So I’ve been thinking. And I’ve been writing. And after reflecting on what individuals can do to improve larger communities (specifically online and specifically in open source), I feel close to an idea of what my ideal online community looks like.
But ideas are worthless without great implementations, right? Well here’s the really cool part: I work with a few people who have a lot of experience building online communities, and I benefit a lot from their mentorship.
In particular, I’ve been working with Orta on the Moya contributor guidelines, a sort of idealistic vision of open source where we don’t just have a Code of Conduct for handling when things go wrong – we also have a documented guide for making sure things go well. It’s a work in progress, but it’s a step toward better open source.
I mean, you could argue that all that matters in software engineering is the quality of your code. I mean, I guess. But how do you get there? Open source code relies on a community, and I’d argue that fostering a good community leads to productive coding.
One of the underrated features of PHP is its openness to terrible programmers— GonzoHacker (@GonzoHacker) November 20, 2015
In contrast to communities like Ruby that are hostile to terrible programmers while remaining inclusive toward terrible people— GonzoHacker (@GonzoHacker) November 20, 2015
As I wrote recently, being inclusive in open source isn’t just something you should do because you have a heart, it’s something you should do if you want a successful community. The quality of a project’s code can come from the quality of its culture.
So that’s my career goal: make the world a better place by making the Internet a nicer place to contribute to open source. And I can do that at Artsy.
Say I have an idea to improve a software community. Here’s what I’ll do:
- Try the idea out on the Artsy mobile team.
- If it works, try it out on the entire engineering team.
- If it’s proven to work on the engineering team, try it out on the whole company.
- And then, the world!
All while discussing it with team members and team leads. Getting an idea out into the world is difficult, but I’m working on getting better at it.
Software development is fun and rewarding, but lately I’m even more excited to spend time planning and building online communities. Does that make sense for a career as a software engineer?
The great news is I work at a place that values these attributes of software engineering. Here are a few examples of the “next steps” ahead of me in Artsy’s individual contributor ladder:
- Sought out by other team members for technical guidance.
- Recognized as a prolific contributor to core and side projects.
- Multiplies the effectiveness of others by facilitating cross-team work.
- Has made an obvious positive impact on the entire company’s technical trajectory.
- Inspires engineers and is seen as a role model and mentor to every technical member of the team.
- Leads the conversations internally about the direction of major areas of the technology.
- Identifies technology strategic growth opportunities that enable Artsy to grow as a business.
There are other, more technical things like “own a large scale and impact service” – but even that responsibility involves collaborating. Maybe with colleagues, maybe with other OSS contributors. The mobile team, the engineering team, the company, and the entire open source world are just progressively larger communities, and I want to be thoughtful about how to build each one.
That’s what I want to do next with my career: become a community builder.
So that’s what I’m turning my job at Artsy into.