Tuesday, June 30, 2015

Letter to the young developer

Well, it's 2015. I've now been a software developer for, oh my, 25 years! I've learned a lot over the years.. C, C++, Assembly, Delphi, HTML, JavaScript, VB, .NET technologies... All of these and more were learned from the university of Hard Knocks, where I've been a constant student.

I've often wished that, in my younger years, I would have had a mentor to teach me the intangible things I've had to learn the hard way. Yes, keeping up with the latest in languages, tools and technologies is vital, but there are other things a young developer needs to know. I'd like to provide a few of those things now. This is a list of things that I hope you, young padawan, will take, learn and grow with.

1. Learning never stops. EVER.

Whether you're fresh out of college or you're a 20 year veteran of the programming arts, this same rule applies. Always keep learning. Never stop. I mean it. NEVER stop! There was a couple of times in my career that I felt quite comfortable with the technologies I was using. At one point, I was a Delphi developer, writing Client/Server applications using the standard tools that Borland offered. I eschewed all things Microsoft, as at the time all they really had was Visual Basic 4-6 for RAD (Rapid Application Development, the latest technology at the time). This was in 1996-2000. In just a couple of short years after that, Delphi popularity started to diminish, with everyone switching to VB.NET and, later, C#.NET. I was resistant to change, not wanting to learn yet another technology. I was almost left behind, and had I not seen the light when I did, my career would have been effectively over. Delphi is still around today, but only barely, and everyone is trying to move over to .NET.

Now, the move is to Web and Mobile Development. Are you keeping up? The languages are changing, the technologies are changing... keep learning, or get left behind!


2. No matter how smart or clever you are, you can always learn something new from someone.

This is a message that usually applies to the ones fresh out of college. You've got all this new learning in your head, you've got a knack for the art of programming, and you can't wait to show your co-workers how good you really are. Keep this in mind, however: Chances are, your co-workers have been through several episodes of trial by fire. They have experience in ways you have yet to see. Don't take this as an affront to you or your skills - instead, take advantage of their experience and learn from it. In other words, refer back to rule one above.


3. You're going to make mistakes.

This one should be obvious, but we developers have a hard time admitting to our mistakes. It's important for us to be the smartest person in the room, and we'll do almost anything to keep that image. The simple fact is, you're going to fail at some point. You should accept and understand that, because your boss and your co-workers sure do. They know it's going to happen, and they're going to see how you handle your mistakes. Are you the type to try to hide the mistake, or perhaps blame it on someone else? Don't do this! Own up to your mistake and learn from it. Show everyone how you've learned, and don't make the mistake again. This shows more than any cool bit of code you could write.


4. Enjoy your life!

This is a tough one for some people. It was for me, and it may be for you. Many developers are introverts. I happen to be the exact opposite of that, but when I get in front of a computer and start typing, I tend to not come up for air. Everything else goes away and I become one with my code. This is good, in that your focus makes you a better programmer. Just remember that have family and friends who also want to be with you. Sticking to your computer 24/7 may make you a great programmer, but there's more to life than computers. I'm hoping you'll realize this sooner than later. I didn't, and it cost me dearly. I would spare you from this. Live your life, both in and out of the cyber world!


5. Finally, one word: Diversify!


In your learning, don't forget to expand your horizons. Love Windows? Try the Mac. Try Linux. Love Oracle? Give Microsoft SQL Server a go. Android? try iPhone. The point is, the more you know, the more valuable you are. This bit of advice is slightly different from rule 1. Keep learning is always key, but be open-minded about what you learn. This rule will make you a better programmer in ways you may not see now. Trust me on this!


6. Ok, one more - teach others

So you've learned a new bit of technology. Do yourself and your colleagues a favor and share your knowledge. Start a podcast, write in a blog. Keep your own website. Give talks at your local users group. Doing these things helps in so many ways. Your name gets out there, and that's a good thing. When you have to teach something, it drives you to know more about the subject you're teaching, and that's a good thing. Your colleagues learn new things, and that's a good thing for everyone. Don't keep your knowledge to yourself!


Ok, that's about it for now. I hope these 5 (ok, 6) rules will help you. I know it would have helped me way back when. Try them out, and soon you'll see what I mean.

Good luck!