3 lessons I’ve learned as a non-traditional software engineer

April 14, 2019

I am about 3 months into my journey as a new software engineer. I work at a place where the bar is high for what it means to craft quality software. My peers are well-educated and highly disciplined engineers with many years of experience. Those conditions alone would be enough to cause someone new to wonder things like “Am I good enough to be here?” or “Will I be able to keep up?”

To top it off, however, I have the fact that my background in software is non-traditional. My degree is in music and I am self-taught in programming. You can probably imagine the kind of impostor syndrome that someone in my position might feel when surrounded by people who are so smart and credentialed.

The self-doubt could have been paralyzing. But, somehow it didn’t last very long at all.

So, how did that happen? How did the doubt give way to the enthusiasm to learn and grow that I mostly feel today? I made a list of 31 experiences that helped me embrace being new and non-traditional rather than fearing it. I studied the list and in it noticed three patterns, which I’ve formed into lessons, that I’d like share with you.

To keep this post at nice length, I kept the actual list out but you can view it here if you’d like to read about each experience.  I cite related experiences in brackets throughout the post (e.g. [23]).  Below are the three lessons that I gleaned from pondering the list and reflecting on each experience.

Be Vulnerable

Resist the urge to hide your ignorance. It is natural to want to appear invulnerable. You don’t want to look like you don’t know what you’re doing, right? I’ve observed, however, that any effort put toward appearing invulnerable is effort that does not go toward overcoming your ignorance. It makes it much harder to learn and grow if you never let yourself feel safe.

An easy way to check that you’re in a safe place is to show some vulnerability.  If someone asks you whether you understand something, try revealing that you may have gaps in your understanding [11].  If you find that your vulnerability is met with support and encouragement, you are among great people and you are in a prime environment to learn and grow.

Thankfully, the place I work makes it pretty easy to show vulnerability [1, 10, 15, 17, 18, 19].  It makes it much easier to show vulnerability when those around you do it, too, especially those in leadership positions [15, 17, 18, 19].

Value your relationships as much as your technical skills

When you’re ramping up, technical skills are important but they are only part of the equation.  It’s easy to focus too narrowly on “what you know” and “what you can do” and neglect the benefits that come from connecting with your peers.  I’ve experienced, however, that the greatest strides in ramping up are made once you’ve established a relationship with your team.

Many of the experiences that helped me feel more comfortable as a new engineer were not related to gaining or demonstrating technical skills [4, 5, 8].  Even the experiences that had some technical qualities about them [6, 27] were helpful to me not necessarily because they involved technical achievements but more so because they involved accomplishments I made with my team.

Overcoming your ignorance is a lifelong journey, so go at a pace that makes sense for you

It is a journey but you may sometimes feel the compulsion to treat it like a race. If you’re like me, you have a “things-to-learn” list that only seems to get longer and there never seems to be enough time in a day for crossing things off of it. But that is just a perception. If you carry that perception, you will find yourself rushing.

Rush for long enough and you start to appreciate just how long the trail really is.  Rushing is tiring. Pause for a moment and realize that you have the rest of your career to cross things off that list.  You need to find a pace that is sustainable for the long haul.

The right pace will be different for each person depending on their home situation, their personal goals, and their career goals.  I have a family at home but I manage to find regular time for professional development because at this stage in my career, it is a high priority for me.

My current pace is 60 – 90 minutes every night or so after my family goes to bed.  I spend this time either getting extra practice with the tools I use at work, playing with technologies that I’m just interested in, or reading books and blogs [31].  It’s only been about 3 months, but I can already tell that making this investment is like taking steps on the long trail toward overcoming my ignorance.

I’m fortunate that my employer regularly hosts events that promote continual learning [13, 21, 22, 23, 25].  It helps me remember to travel with patience when I see that my peers of all skill levels are traveling, too.

Final Thoughts

Despite the odds described in the intro, I come to work not fearing being new but actually relishing it. Many small but meaningful experiences have helped me go from “Am I good enough to be here?” to “I can learn, grow, and contribute here”.

If you are an experienced engineer or in a leadership position, I hope reading this will encourage you to foster an environment where vulnerability, strong relationships, and lifelong learning are encouraged.  If you are at the beginning of your journey like I am, I hope you found something here that you can take back and apply to your own story. Thanks for reading!


Originally posted on blog.kalalau-cantrell.com.

Photo by Jon Flobrant on Unsplash