A Student's Mindset


Empathy his is the first of four posts I’m doing to discuss what I think is the most important lesson of my first year as a software developer: the student’s mindset. The topics I’m covering:

  • Empathy
  • Self-forgiveness
  • Humility
  • Learning – always learning.

I start with empathy because I think it might be the most critical. Without it, you’ll find it exceedingly hard to forgive yourself and own up to your mistakes. I’ve seen that empathy for yourself and others, more than natural talent, more than luck, has been the most critical asset for pushing me forward in my journey to become a better developer and human.

For Your Coworkers

There’s no shortage of tremendous teachers in web dev. We’re fortunate to have the most talented folks in our field publishing honest, helpful, and articulate content regularly.

It can come as quite a shock when the learning resources you get on the job don’t quite align with the tutorials, videos, and articles you’ve come to rely on. It’s important to recognize that not all of your coworkers – maybe even few – feel an obligation to teach and share their knowledge with new devs.

It’s important to acknowledge that these coworkers didn’t become software developers to teach, they did it to write software. It’s not their fault if they’re not interested in becoming instructors, and it’s certainly not your fault for needing quality training. So what is there to do? Consider those that will come after you, your future coworkers.

For Developers Following You

I think the big opportunity lurking here is to also empathize with future new-hires. Use your unique position to create content that you wish existed when you started. This has the added benefit of solidifying the material in your own mind, as well as giving yourself a helpful resource to reference.

Shawn Wang, one of my favorite content creators, has a famous saying that I follow like a Buddhist mantra:

“Learn in public.”

After you’ve become entirely familiar with your surroundings, you’ll begin to lose perspective on what it was like to be truly missed. This sort of empathy for future new-comers is essential for open-source projects as well.

As you become familiarized with a new tool or library, you’ll soon forget the hurdles you overcame to work fluently with the tool. It’s critical that you document your experiences; not only for yourself but also for those waiting patiently to come after you.

For Your Users

This is likely self-explanatory. However, I think it’s a critical miss-step for many new devs. There’s no better way to improve your product and solve real, significant problems than to communicate with your users. It’s incredibly easy to lose the forest for the trees when you’re deep in a newly assigned issue.

It’s critical that you come up for air every once in a while to make sure that you’re doing the work that has the potential to improve the lives of your users most. Often times, those issues are invisible to the user. However, by integrating empathy for users, and open dialog into your everyday work, you’ll be rewarded with opportunities for low-effort, high-reward fixes that can make a huge impact.

This behavior helps to define a developer that build products with accessibility and inclusion at their core. This perspective is becoming more and more valuable every day. It’s imperative that those of us with the ability to include the often overlooked, and omitted users do so. To neglect this responsibility is to miss a critical opportunity to grow as a developer and as an individual.