As a mentor, I give a lot of advice. I give a lot of advice that comes from a breadth of experience. But my experience is rooted in the present, to remember how I felt earlier is an exercise in empathizing with a past version of myself. And memories are a fickle thing. In fact, there are many biases that affect how you remember an event, so it’s possible that my memories aren’t even an accurate reflection of the reality that I lived.
One piece of advice I give often to newer (and more experienced) developers is to ask questions. Ask a lot of questions. Ask questions until you’re sick of asking questions, and you suspect the other person is sick of hearing them. It’s going to take a while until you feel smart, or you feel good about your knowledge, but keep pushing through and putting yourself out there until you start to feel it.
Note to senior developers reading this: Never get sick of answering questions, and always make whoever is asking feel rewarded for having asked. It’s half the fun of being a senior developer.
I always asked a lot of questions when I was starting out. I suspect it’s a big part of what led to me becoming a better programmer. I was never afraid to ask a question, and now I’m better, so it seems like good advice to give to someone who has a lot to learn.
But what I’d conveniently forgotten was that I too was afraid to ask questions. I forgot about how I would spend hours researching the question I wanted to ask so that way by the time I did ask it I would only look a little dumb rather than like a full on dunce. By the time I asked a question, I wasn’t afraid of asking anymore, because I knew there was little downside. The lucky thing for me was that I learned a lot through this process, and that exercise ended up being a big part of my growth as a developer.
It’s an incredibly vulnerable thing to ask a question and open yourself up to feeling stupid. And admittedly, a lot of people in this industry do a great job of opening themselves up for questions and not making people feel stupid for doing it. It’s one of the best things about an industry that can be less than ideal at times.
I recently realized that I haven’t felt this vulnerable in a long time. Part of this is incredibly exciting, it means that I’m putting my ego aside and focusing on what I really want, growth. The other side of it though is that while the advice I give to ask questions is sound, it rings a little hollow since I don’t feel that pain anymore when I ask a question. I try my hardest to be encouraging, to make sure no one ever feels stupid when they ask me a question, and to reward their curiosity and learning with attention and genuine effort. And if I don’t know something, we work through it together, another way to show that being vulnerable is a-ok.
But I want to remember how that vulnerability feels. There isn’t really a way for me to replicate that feeling though. No matter how wrong I am about something, no matter how hard something I want to try learning is, if it doesn’t work out or I give up, I can always fall back on doing what I’m already good at. That’s just not the same scary place that an inexperienced developer finds themselves in, they feel vulnerable because there isn’t that safety net to fall back on.
I’ve always wanted to learn how to draw. I’ve always felt bad that I can’t draw well, and had convinced myself that I just wasn’t the kind of person who can draw. But recently after some life events showed me that I can start from scratch, that I can start over, that I’m in control of what I learn and how, I decided to give it a shot. I picked up a copy of Drawing on the Right Side of the Brain a few weeks ago, and while I’m only a couple of chapters in I already see an improvement.
There are many reasons I decided to learn how to draw. I love wordplay, but words leave a lot to interpretation. I would like to make drawings and comics that express the full gamut of the feelings I’m trying to convey. I would like to draw the way I see the world. I would like to have a creative outlet that has an iteration cycle on the order of minutes or hours, not weeks or months the way software does. And the list goes on.
Even writing prose is more vulnerable than writing software. Whenever I write something, it never feels complete. Writing exposes a part of me that is subpar to the world, especially writing this post which comes from a place of inadequacy, not from authority. But a real way I can recreate the vulnerability I’m seeking to understand, the way a newer developer feels, is to draw. And most importantly, to show people my drawings. I’m going to start from a place where I know next to nothing, keep learning, and continue growing. I’m going to ask questions, so many questions, and expose my subpar self to the world.
So here’s my first public drawing. It took me nearly three hours, but I learned a lot.
• I learned how layers work, and how they can save you a lot of time so that way my next drawing doesn’t take three hours.
• I learned how the art pencil tool differs from the marker tool. More importantly, I learned how to combine the two to make things look the way I wanted them to look. I’ve always wondered why my drawings didn’t look like the drawings I see from artists, and now I realized it was because I wasn’t using the right tools…
• I learned a lot about shadows and tone. Halfway through my drawing I realized I could throw away all the work I’d been doing and combine colors to achieve the effect I was going for. It took me some experimentation, but the end result looked more true to what I had intended and was faster to achieve.
• Most importantly I learned that it’s all reversible. I’ve always approached drawing as a finesse activity, one that I was afraid of messing up, but like any creative endeavor it’s about expressing yourself. Being fearless makes expressing yourself infinitely easier.
Note to developers reading this: Software is incredibly reversible too! Don’t ever feel afraid to code something wrong, the worst thing that can happen is you delete it.
As simple as these things may sound, they never clicked in my brain. And now they do, and that’s the beauty of learning, now I see the world a little differently.
While this post is about developers, the lesson applies to everyone learning something new. So if you’re learning something new remember that while the vulnerability can feel like a curse, it can also be a blessing — it means you’re learning.
Joe Fabisevich is an indie developer creating software at Red Panda Club Inc. while writing about design, development, and building a company. Formerly an iOS developer working on societal issues @Twitter. These days I don't tweet, but I do post on Threads.
Like my writing? You can keep up with it in your favorite RSS reader, or get posts emailed in newsletter form. I promise to never spam you or send you anything other than my posts, it's just a way for you to read my writing wherever's most comfortable for you.
If you'd like to know more, wanna talk, or need some advice, feel free to sign up for office hours, I'm very friendly. 🙂