Hello! What's your background and what do you do?
I am currently wrapping up the most amazing job I’ve ever had as CTO at Artsy, a fine arts marketplace and most read online publication.
I’ve always been, and continue to be, a practicing Engineer that leads people.
I started as an entrepreneur in the 90s with some early successes as a developer, writing and selling shareware. I had a breakthrough search engine product that allowed me to be a cofounder in a subsequently failed startup in the A.I. space. I ended up at Microsoft, worked for a Kleiner Perkins startup, ran an enterprise software Engineering team and joined Artsy 8 years ago as Head of Engineering. My role has evolved from “doing whatever it takes” to being part of the C-suite, owning the technical direction of the entire business.
How was your transition from software development to management like?
When I started in the 90s I didn’t quite understand that software development vs. people management was a choice. I wrote software, marketed it, sold and supported it. Following some commercial success I was able to hire people to help me with some of the aspects of the business. I did whatever it took.
At Microsoft I stepped back into an IC role and learned “real” software engineering. I had an accidental success with an internal product and was offered a Development Lead role and a team, putting me on the management track.
I’ve given the “which track would you like to be on” spiel to hundreds of people, promoted endless software developers to managers, but have never experienced this transition myself in that way. The evolution of my own role from developer to manager has always been an entrepreneurial one, and I’ve never quite stopped writing code.
What does your day-to-day work look like, and what motivates you to do it every day?
I keep a log of everything I do and share it in a public Slack channel at work. Looking back at it for the past few months my day-to-day has been focusing mostly on hiring, onboarding and enabling new team members. I spent most of my days performing all the functions of a hiring manager, including sorting through resumes, doing informationals, interviewing, evaluating candidates, making offers, rejecting people and closing new hires. More specifically, I was focused on a VP of Engineering hire that recently joined the company to take over my responsibilities.
Today I run weekly Director, Manager and Lead-level staff meetings in which I provide company updates downstream and collect information to pass on upstream to the Executive team. Speaking of the latter, I sit on all leadership team meetings and discuss company strategy and state of affairs and help business owners understand technology in order to make good decisions. These humans own P&Ls (eg. our Marketplace business) or functions (eg. Finance). I look at what they do, listen to what they have to say, and form opinions about how technology can enable them to achieve their goals, then try to articulate it in those forums. Then I repeat myself ad nauseum in various communication channels and steer work across Product, Design, Data and Engineering, especially in those staff meetings and in writing to the entire team.
I like this type of work because of the impact it has. I get to see and feel everything that’s going on at the company, then understand and make strategic decisions around actual technology that makes or breaks it.
Oh, and occasionally I would groom an open-source project or put my hands into some complicated code because it’s fun and because it helps maintain my technical credibility.
What are the biggest challenges you've faced so far? What did you do to overcome them?
The most challenging aspect of my job is the endless need for optimism. Startups are emotionally difficult roller-coasters and require real backbone. Everything we do is an experiment, a liftoff from zero to one or a push. Nothing happens as you expect and the pace is breakneck. Looking back any six months I could not have predicted the current state of affairs. It’s mostly good, though!
I often feel that there’s an expectation from line managers and ICs that executive leadership at a company has all the answers. The truth is that we have no idea, just like everybody else.
To overcome this I try to keep expectations reasonable, underpromise and overdeliver.
What has been the biggest surprise so far? Something you didn't expect?
When I transitioned from developer to manager I was surprised by the level of trust people immediately put in me. It felt like a huge responsibility, sometimes a burden. I didn’t feel qualified and definitely developed an imposter syndrome.
With that came a surprising amount of work required to continue earning trust, and it was much harder and more mentally exhausting than I initially had thought. The reward came when I finally saw how we were able to accomplish a lot more as a team, than what I could have ever done alone. It felt great!
What's the best advice you've received about being a manager?
Always work yourself out of your job. Another way of saying that is to leverage your team and immediately start giving away your legos and taking your own manager’s.
Sometimes this is called “delegating”, but that term implies you are assigning work to a lower ranking employee and I don’t believe in that kind of hierarchy. Your manager generally has broader scope work, therefore you want to take work away from your own manager in order to grow your own breadth and depth, while helping your direct reports find similar opportunities in the work you are already doing.
What do you tell developers who are considering making the switch or new to the role?
Having a team means working for them, not the other way around.
I always ask developers what their motivations for becoming a manager are, and try to talk them out of it if they feel it’s just a necessary step to grow their career. Successful management can surely be very rewarding, financially and otherwise, but it’s a very difficult job that has tremendous mental overhead with more failures than one can see. Success of your team belongs to the individuals on the team, and team failure is entirely yours. Management is a service that enables individual contributors to do their best work, and you need to truly enjoy and feel rewarded when others succeed.
Final call to action! Where can we go to learn more about you?
I regularly write about technology on code.dblock.org and occasionally tweet things at @dblockdotorg. You can also follow my @artdblockdotorg IG or come run with me.