tags:

views:

313

answers:

7

I have been programming for almost 12 years (i.e. employed as a programmer) and am used to C++ / VC++ / Windows programming. However, after moving to a project that uses C# and .NET, I find that I am no longer the 'senior' guy. In fact, a lot of the younger folks just out of school who doesn't know anything about C++ knows about Spring, dependency injection, etc and things in general that I never used in the C++ world doing native programming. Yes, the C# syntax is very similar to C++ but things like events and delegates are new. How did you folks handle this?

+15  A: 

Being a senior developer means you have to be constantly learning. Stop learning, and you are either dead or a manager.

I'm constantly following web sites that talk about new technologies, reading manuals and white papers, and doing side projects.

Paul Tomblin
+1 for "dead or a manager"
zvolkov
evolution vs maintenance, 1-0
Nick D
dead or a *beginning* manager (software managers need to learn too)
azheglov
A: 

Keep learning! Understand that knowledge in software engineering DOES go stale; you might have been the best COBOL programmer back in the day, but that doesn't mean a lot nowadays. Part of the process of being a software developer is learning about the new technologies and keeping up with the advances in the field.

McWafflestix
+6  A: 

You learn by doing. Stop thinking of yourself as 'senior' and start thinking of yourself as a 'team member' and you just might learn something from those younger guys.

Matt Grande
+1  A: 

We have something similar now since I'm the only guy to know the .NET latest. The chef just asked me to present updates in .NET 3.5 since .NET 1.1 to him and the senior developer at some meeting so that they all could start using them. Very simple and no question or backthought raised as to who the senior is.

As senior developer he has other skills like knowing the project in and out, watching out the smooth operation etc. while accepting the input from me as well. We live and work together famously.

User
What's a chef doing as a senior developer? You must work in the hospitality industry.
Rob Elliott
No, our chef is a chef but is also developing actively. The formal chief developer is the other guy. Actually, we are a small and united team where the formal role names do not really matter.
User
@ocdecio: Yes, chef = boss.
User
+8  A: 

Don't beat yourself up to badly over this.

The young pups may know the syntax and libraries of this new stuff better than you, but if you are (were) a programmer of any caliber, then you should have tons of "tips and techniques" that lead to code efficiencies and other benefits that these pups simply do not know.

Experience CAN count if it's based on learning best practices, avoiding errors, finding and fixing problems quickly (NOTHING beats someone who can figure out an obscure problem quickly), and so on.

Still - the best programmers are also frequently the "life long" learners of the bunch. If you aren't still reading programming books "just for fun", then get started.

Cheers,

-Richard

Huntrods
+1  A: 

I would suggest, as Paul mentioned, side projects. Nobody has really mentioned this specifically, but you could try doing a side project to learn another programming language.

Not only will this diversify your abilities, but it will also expand your perspective on languages you currently use, and may use in the future. Even at work, you may find yourself learning new things from the nooblets. I see it as keeping an open mind to new things, whether it be a new language, new design aspect, or a new coding strategy, etc.

brack
+3  A: 

Bottom line is that software development is a career that requires life long learning.

  • Read books, magazines, journals, blogs, articles, etc.
  • Go to user groups. Meet other people that may know more that you or know things in other areas. Participate!
  • Write articles or give presentations. Nothing solidifies your own understanding of a subject more than having to explain it to someone else.
Colin Mackay
I wouldn't say that it *requires* it, that's only if you want to be a *good* developer :) I've seen plenty of devs that are middle aged and clearly creating the same crappy code they were created when they started the career.
TM
You are, unfortunately, quite correct. I too have seen so many devs who have been developing software but have never moved on. A friend of mine recently told me a colleague of his, after 15 years of C++ then C#, only just discovered what inheritance was a few weeks ago. That said, I would hope that the OP wants to be a good developer.
Colin Mackay