Mature man showing the way to a younger one

For many years I put a lot of effort in helping people become (better) software developers. I am especially proud of all the people I helped to get there even if they didn’t study computer science at school or in college. Recently I had a discussion with a person I am accompanying on this journey and I got this question: what can I do besides our work together to maximize my journey?

I usually don’t get into situation where I lose all my words, but this time it was hard for me to articulate an answer on the spot. I kept thinking about it and I realized at a certain point how important role models are on such a journey! So this article is intended for all (junior) software developers that ask themselves similar questions! In the end of this article I would like to also share who MY role models were/are. Maybe some of you might get some inspiration from it!

What Is a Role Model?

A role model is an individual who is looked up to and revered by someone else. A role model is someone who other individuals aspire to be like, either in the present or in the future. A role model may be someone who you know and interact with on a regular basis, or may be someone who you’ve never met. Especially nowadays having role models that you actually never meet is very easy due to social media. And in fact this is mostly my case too.

However, there is one thing you should be aware of when it comes to your role models. If you started to learn programming later in your live (for instance I started when I was around 30 years old) and unless you are e genius, you’ll probably never get to be “as good as your role model”. That’s a trap you can easily fall into and demotivate yourself. Your focus should be on constantly becoming a better version of yourself and not becoming as good as X or Y.

What Can You Get From a Role Model?

First of all technical expertise. But that’s not all. Chances are that people you will choose as your role model are some of the folks already involved in developer communities. They write blogs, produce podcasts, talk at conferences, are active on social media, create videos or they might be heavily involved in some open source software you use. Bottom line is: you’ll probably choose a role model that already has some visibility.

This gives you some great perspectives, because you’ll start to analyze their behavior and learn a lot from it. One key areas that I am always attentive is work ethic, how they treat other people, how they talk and present their knowledge, how they react at criticism. And now comes the challenge: as your goal is to probably be inspired by your role model, start to mimic their behavior! All the points that I just mentioned or some other aspects that are key to your core values. At a certain point you will find out that being successful in the technology space is not all about technical knowledge.

A Word About The Technical Aspects

Following your roles models wherever they are is crucial! Read, listen, watch whatever they produce, even if you think that it’s too technical for you and even if you don’t understand most of what they’re saying. It really doesn’t matter at the early stages of your career. What does matter is you coming in contact with a lot of new concepts, ideas and tips. Then set some goals to research, try out whatever you get from your role models until you understand those concepts, ideas and tips.

Try to be like a sponge! Absorb as many concepts and ideas, even if you don’t know what to do with them from the get-go. This attitude combined with a growth mindset will yield some important results further down the line of your career. You just need to be patient and keep doing it. You’ll make small, but important steps and when you’ll look back after a year or two you’ll realize that you actually learned more than you have imagined.

Role Models That Helped Me Grow

Relying on role models is how I move forward in my software engineering career for already 10 years. Role models can change based on where you are exactly on your journey. That’s why I want to mention them in some kind of chronological order.

Bob Tabor is the first person I came in contact with on my programming journey. The very first C# course I took was called “C# for absolute beginners” and it was available at that time in the Microsoft Virtual Academy library. I really enjoyed the way he was able to explain a lot of concepts in a language that a total rookie would understand. His passion for teaching others how to code was astonishing. He inspired me to create a passion for teaching others once I felt I knew enough stuff to teach others.

Mark Russinovich was and still is a role model for me. I found his conference talks fascinating and I said to myself right from the start “if I’ll ever talk at conferences, I want to do it like him”. I’m obviously far behind in this regard, but the way I usually plan my talks and try to deliver them is definitely inspired by him. Also, in my early days in the technology area, Mark talked a whole lot about Docker when Docker was not cool or mainstream. At that point I mostly didn’t understand anything from what he was talking about. But I kept taking a lot of notes and researching a lot, trying to understand. Then, suddenly when Docker started to gain traction I realized that I actually knew more about it than most of my colleagues, even if they were way more senior then me. Last but not least, he even wrote and published a bunch of novels. As a philosophy graduate with some passion for writing, this was a great inspiration. I started a bunch of novels, but never finished one. Maybe there’s still time for that!

My next role model was (and still is) Scott Hanselman. There are a lot of things I could say about him. He also inspired me a lot as a conference speaker and with his passion to teach and empower others. Till this day I don’t understand how it’s physically possible for him to be involved in so many initiatives and produce so much content. And, yes, it was his drive to create content that inspired me to create the Codewrinkles YouTube channel back in 2018.

One of the most recent additions to my role models list is David Fowler. I think it was only around 2020 when I discovered him on (at that time) Twitter and I immediately started to learn a lot from him. The guy is a genius and almost everything he posts is an opportunity for me to dig deeper, to research and learn a lot of new things.

There are two more role models I have that I actually even met a few times: Konrad Kokosa and Michael Staib. For those of you who might not know, Konrad wrote a book titled “Pro .NET Memory Management”, which in my opinion should be like a Bible for any .NET developer. But besides that, I was always amazed by his efforts to always do some things outside the box, like creating his own card game, creating highly technical courses, trying out business ideas. He inspired me to also try some out of the box stuff, but never got too far. I guess, there’s still time for me.

Michael Staib, on the other hand is the main guy behind the Hot Chocolate GraphQL library for .NET. I admire him a lot for the way he managed to create a sustainable OSS that’s used by a ton of people and companies. His passion was always an inspiration for me to get more involved in OSS as a contributor. I had a few minor contribution in different small places, but my involvement so far was way below what I would like it to be. I guess, there’s still time for me even here.

The Bottom Line

You have probably noticed that in most cases when I talked about my role models I ended with “I guess, there’s still time for me.” While I was writing this article, I was not aware about it. But now that I see it, I think that’s a great way to conclude an article about role models. Role models can be an inspiration for you to always become a better version of yourself. You’ll probably not get as high as your role models, but if you put in some consistent effort, you’ll surely become better every day.

P.S: If you enjoyed this article, you might also want to check my YouTube channel for a lot more and visual .NET content. I also run a newsletter that’s different to any other newsletter as it focuses more on things that will help you become a better engineer, not just a better coder. You might want to subscribe to it as well!

How useful was this post?

Click on a star to rate it!

Average rating 5 / 5. Vote count: 5

No votes so far! Be the first to rate this post.

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

By Dan Patrascu

I solve business problems through quality code, smart architecture, clever design and cloud sorcery. Over more than 8 years I've worked and led projects of all shapes and sizes: from regular monoliths to complex microservices and everything in between. I'm also running the Codewrinkles channel and a newsletter.