To start off my blog here at IDG, I thought I'd talk about something that has been a truism for my entire career. It's not even specific to being a software developer; it's applicable to anyone regardless of their career. I've been aware of it throughout my career, primarily because when others don't use it, they end up being difficult to collaborate with and it can lead to a stressful work environment.
It's simple: Listen to advice, and keep learning.
I've been a software developer for 20 years. It's hard to imagine that I've been in the same industry for that long. I remember my father-in-law telling me that he still felt like the person he was when he was 25, and then he'd in the mirror and says, "Who is that old guy?"
The more I age, the more I can relate to that statement (and I've learned to have a sense of humor about gray hair). I still think of myself of that guy in his mid-20s, fresh out of graduate school, ready and willing to do what it takes to get the first job. Still, I also cringe in horror when I think of all the code I've written in the past, knowing that I could do it better now. It's a sign that I'm still learning and improving. At least I hope my code skills have been elevated after 20 years!
I have no intentions of leaving this career. I love what I do. There's so much that software can do for people, and there so much to learn about. It's challenging, disheartening, and rewarding, usually with all three getting mixed together at the same time to varying degrees.
I sometimes meet people who complain about their job and what they're doing. They find it boring or dull, or the environment they work in is toxic to their mental state. I feel fortunate that, in general, I've been able to avoid negative situations, though I've had my share of unfortunate experiences along the road. But I wouldn't trade it for anything else. It's something that I hope to continue to do for the next 20 years.
In all that time, there's been one incident that stuck out in my head. It happened 6 months into my first job. My manager and I were traveling to another office to help users with the program I was writing. When we got back to the hotel after the first day being onsite, he sat me down and told me, in a friendly and laid-back way, that I was hard to work with. I could be short with my interactions with other co-workers. My persona was stern and uninviting. I wasn't always willing to listen to those who knew more than me and learn from them.
That was one of my first lessons that being successful in my career isn't just about picking up new skills and programming tricks; I have to interact with others, listen to what they're saying, and think carefully about how I was phrasing my responses.
I still remember that conversation 20 years later, because even now that's still a work in progress for me. But if he had never taken the short amount of time that he did to help me out with a small part of my personality that could affect my career, I may still have those faults. I'm thankful that he provided that advice.
It's a lesson that I have to remind myself about to this day. Just because I've been writing code for 20 years doesn't mean I know everything. If anything, I'm reminded every day of what I don't know and how much there is to learn. In a way, though, I believe it's better to admit your limitations and faults so you know what you can grow in. Scott Hanselman talks about this in his article, "I'm a phony. Are you?":
When I see programmers with blog titles like "I'm a freaking ninja" or "bad ass world's greatest programmer" I honestly wonder if they are delusional or psychotic.… I use insecurity as a motivator to achieve and continue teaching.
It's OK to not have the answer to everything. But if you're not opening to listening to what others are saying or the knowledge they can bring to the table, it can be damaging to yourself and others. Be open to advice.
Next time, I'll talk about the fundamentals of coding. Until then, happy coding!
This article is published as part of the IDG Contributor Network. Want to Join?