Tell me more ×
The Workplace Stack Exchange is a question and answer site for members of the workforce navigating the professional setting. It's 100% free, no registration required.

I would consider myself an intermediate programmer. I don't think I'm ever really going to get better than that. I've read code from what I consider to be good programmers and worked under these people as well and I don't think I have it in me to be that good. I'm not saying that one day things might click, I just don't think they will (I've been programming for 12 years now and things still haven't clicked!). And the glass isn't half full, I'm just trying to be realistic!

In spite of this, I would still love to move up the ranks in the workplace and one day take on more senior roles. Could I realistically ever move into a senior developer role, or is this an unfair expectation. Are other paths more suitable for me. Some other paths I've thought about include:

  • Team leader (Is this even different from senior developer?)
  • Management
  • Project manager

The problem is I do love programming so don't really want to leave it altogether which is where I fear project/management lines might take me.

Are there other skills I could develop and work on that might help offset my lack of senior programming skills. Perhaps skills such as communication, motivational, inter-personal, organizational, passion, etc.?

Or as I fear, is being a great programmer the be all and end all of being a senior developer?

EDIT: For an intermediate programmer I guess it could vary dependant on the company's or individual's perception of these levels. But I guess I'm not thinking of it in terms of how long you have been at a company but rather the skills/attributes that would be required to make that step (whatever it may be) to the next level.

share|improve this question
1  
Would you clarify what you mean by intermediate programmer and senior developer? In some places, you are considered to be a senior staff after 12 years on the job. – scaaahu Jun 11 '12 at 4:08
If after 12 years you feel stuff has not clicked then I would think about changing what you do. You also seem to think a title is important. – Ramhound Jun 11 '12 at 11:36
years != senior, years == years. 12 years of doing something the same way as the first year still is only 1 year of experience. - read about the Peter Principle – Jarrod Roberson Jun 11 '12 at 15:28
why did you get into software development to begin with? – Jarrod Roberson Jun 11 '12 at 15:31

3 Answers

up vote 9 down vote accepted

This is what I have seen expected of a senior developer anywhere that I have worked:

  1. Is more involved in intial design and overall architecture
  2. Is expected to mentor junior devlopers
  3. Is given the hard problems that others would not have the knowledge to solve.
  4. Is the person who can be relied on to deliver the product within the deadline
  5. Is expected to have specific business domain knowledge

I suspect it is number 3 that concerns you when you talk about not being sure if you can be a senior developer. However, the hard problems to solve vary widely from employer to employer. So if you don't expect to be on the cutting edge of the field, your understanding as the experienced intermediate developer may certainly be enough. But you can start looking at studying some of your technical stack more in depth to help you here. And solving the hard problems is sometimes about willingness to try something you didn't know how to solve before you started, knowing how to research and understand new possibilities is critical.

If it is the architecture/design part that you thing is beyond your capabilities, then start studying that specifically. Start participating in the discussion in your own workplace and making suggestions and learning from how they are received. If you aren't thinking currently about design and architecture, the only way to learn is to start to think about it, start to do designs and learn from your mistakes. Again the expectation for this in a senior developer varies between companies. Those with architects would expect less of this than those where the seniors make all of the archtecture decisions

The other three are easily within the reach of a capable intermediate developer. So if you aren't doing them now, start to do them and let people know that you are. A lot of good developers never make the cut to the next level becasue they don't toot their own horn to management.

share|improve this answer
Thanks for the tips. I am working on all these things currently but will keep at it. – dreza Jun 11 '12 at 21:16
Thanks for that list of duties! – AustynM Jun 12 '12 at 19:27
Thanks for this list for senior programmer. No 1 and 3 are my weakest links. The other 3 are easy and strengths. – dreza Jun 15 '12 at 21:24

Development is about delivering the right PRODUCT.

While great coding skills can help with the process, it has much less to do with whether or not the product makes the user smile. That comes from proper understanding of the requirements and domain logic plus a genuine desire to make the user's life better.

In fact, I'd go so far as to say that in the grand scheme of product development, coding skill comes in middle of the pack at best and that putting overly heavy emphasis on it would be akin to putting the cart before the horse.

share|improve this answer
Cheers, yes, that's my thoughts so in saying that a senior developer could be someone who could get the best from the team, or is that more management? – dreza Jun 11 '12 at 21:19

Some other paths I've thought about include:

  • Team leader (Is this even different from senior developer?)
  • Management
  • Project manager
  • Team Leader implies leadership. Leadership implies confidence. Confidence implies advanced expert skill. This is the only option that requires any practical technical knowledge. 12 years of work and your personal admissions about lack of competence with advanced topics doesn't really put you in a position for this track.

  • Management has nothing to do with programming or software development. It is a people/social and organization skill set. 12 years of writing software doesn't qualify you for this.

  • Project Management has nothing to do with programming of software development either, it is a more organizational focused specialization of generic management.

Only the first of these is a natural progression in your career track, and you are at least 2 - 3 steps away from that where you are now.

If I were you I would really ask myself WHY I got into software development to begin with. If it wasn't for a passion of creating software, it was probably the wrong reason.

To put it into perspective; Would you have chased a career as a musician for 12 years with mediocre skills and the same lack of progress?

share|improve this answer
Yes, because I love programming which I think I mentioned in my question. – dreza Jun 11 '12 at 21:18

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.