When should you call yourself a senior developer?

  • Possible Duplicate:
    Whats the difference between Entry Level/Jr/Sr developers?

    I'm curious what senior developer means because apparently the definition doesn't mean what I thought it would. I keep seeing these teens at 22-23 years old who call themselves senior X developer or senior Y developer. To me, a senior must have 10 years or so experience in programming to call himself 'senior'. I've seen a lot of these teens here (hence the question). Am I wrong? Why?

    It's possible. I'm 21, and I've been programming for about 15 years. (I don't call myself a senior dev, though)

    @Kev I'm 28 now, and I was programming at age 6. BASIC on Tandy/TRS hardware. At age 21 I had 15 years of BASIC experience (from TI-BASIC to QBASIC to QuickBasic to Visual BASIC), 10 years of C experience, and 5+ years with a half dozen other languages and assembly variants. I had mentored other programmers, and taught classes on the subject in and out of school. Was I a "Senior Programmer" then?

    While I agree that at 22-23 you should not be a senior devloper, they are not teens. They are adults. Thinking of them as teens is a bad habit. It encourages them to not grow-up and it encourages the older person to treat them like they are less than a real adult.

    @Sparr: No. You were not.

    Teens are defined as those people with an age range [13, 20) years old. So, the 22-23 y/o people you are dealing with are not teens. They likely have been programming for a decade already.

    @Josh K ok then, what was I missing? Age?

    @Sparr: Accountability. Count years of experience as those spent coding for money.

    @Josh K: or participating into free-software. After all the people who started VLC (the video player) were students who did it for free (and I am sure I could find other examples). But I do like the accountability argument.

    @Josh K So someone with 2 years of paid experience is more senior than someone with 20 years of unpaid experience? I don't think that holds in any industry, whether you're a software developer, a millwright, a pilot, an actor, or a dentist.

    @Sparr: You're claiming years of experience at ages that *do not matter*. If you're dentist told you he had been practicing dentistry for 20 years and was 30 years old what would you say? I think being a paid pilot for say 5 years is more comparable to being a hobbiest for 20.

    @Josh K and you think a paid pilot of 5 years would be "Senior" to a hobby pilot of 20 years (with 4x as many flight hours logged)?

    @Sparr: A commercial pilot with X years of experience is a known quantity. He has flown a logged number of hours, in specific conditions, with a co-pilot, all recorded and verifiable. The hobby pilot of 20 years has none of that, therefor he is an *unknown quality*. Sure he could be great, but he could also think that the best way to land is nose first.

    @Josh K A hobby pilot of 20 years has flown [at least] a logged number of hours, in specific conditions, recorded and verifiable. He has to do that to keep his license.

    @Sparr: I'm sure that they are nowhere near as many hours as a commercial pilot.

    @Josh K Then you have broken the analogy. We are talking about people with less paid experience vs people with more unpaid experience.

    @Sparr: If you want to think that programming at the ages of 8-14 count as six years of experience you are more then welcome. I don't share your view and find it's usage to be a misrepresentation of your experience.

    @Josh K I wish that half the "software developers" I meet with 6 years of professional experience on their resume had even half the experience I had at age 14. I fear you are being unfair, but I *hope* you have simply had the great fortune to only ever meet good programmers.

    @Sparr: You could be a genius, I have no real way of knowing. If someone came to me and claimed 21 years of experience when they were 28 I would thank them for their time and show them the door.

    @Sparr: As someone who ostensibly started "programming" around the age of 6, I'm with Josh K on this. I may have learned a hell of a lot by the time I was 15, none of that remotely compares to the programming I did when I entered industry. It's not as though I didn't write some apps, but I really don't feel that it counts to anywhere near the same degree.

    I'm 17 and have been programming since I was 11. I think you can't compare one who've been programming in its spare time for x years against one who programs in a company of some kind for say x/2 years. They probably do different things and work in different ways (I'm not sure because I'm still at school). Having started programming in the childhood is certainly a good starting point, but not enough.

    @qes Can you quantify the difference? Plenty of hobbyist programmers are doing enterprise-level planning, collaboration, quality assurance, etc. Today's 15 year old could be a top-10 code contributor to a project like Firefox or OpenOffice, but apparently that experience isn't worth much.

    @Sparr: time spent coding has nothing to do with it. When you are mature and secure enough in your trade to take responsibility for an entire development effort, then you are a senior developer.

    Hey moderators ... shouldn't all this junk be in a chat room somewhere?

    @pap taking responsibility for an entire development effort seems like a lead or architect trait, unrelated to rank or title as a programmer.

    @Sparr developer != programmer

    @pap I stand corrected. Still, taking responsibility for an entire development effort seems like a lead or architect trait, unrelated to rank or title as a developer. That is, "senior developer" means you're better at all aspects of the "developer" job than a "junior developer". It is wholly separate from "lead developer" or "development manager" or "software architect", which encompass distinctly different skillsets and job responsibilities.

    @JoshK Your a moderator of this community. Please be responsible and avoid starting/encouraging an argument over the comments. IMHO, that is not good for the community.

  • Darknight

    Darknight Correct answer

    10 years ago

    You can call yourself a Senior when:

    • You can handle the entire software development life cycle, end to end
    • You lead others, or others look to you for guidance.
    • You can self manage your projects

    Software development is a curious creature unlike other fields.

    Sometimes, a fresh punk out of college can run circles around veterans who have 20+ years of "experience". Programming is a bizarre world where code is king.

    Some achieve the above in 2 years or less, others take 10 years.

    I would add you have had at least one project fail under your leadership...

    +1 agreed. "Senior" is not a measurement of time with hands on keyboard. It's when you are mature and secure enough the successfully take responsibility for an entire development initiative.

    I would disagree with the second bullet point. The ability to lead others does not define "senior". It defines the "lead" portion of a title. I know senior developers who I'd rather push off a cliff than follow them over it. I love your other 2 definitions though. +1

    I'm not even graduated and I work as a senior developer at a multinational company (secret: I started freelancing since my 4th semester, then I started a small company)

    @Joel - I would argue that you wouldn't want to push them off. Part of being a strong dev is thinking not just of the end user but the next developer.

    @the fresh punk thing though - You can be a gifted coder, a brilliant inventor of algorithms, and still run into trouble simply because it's trouble you haven't run into before. I'm still cockier than I ought to be but even I figured that one out.

    @Erik Reppen: It was just a turn of phrase to point out that there are many senior developers who have no real leadership qualities and are still capable.

    I would also add, after 10,000 hours of real programming (not just sitting in front of a computer).

    some take less than 2, others take 10 -- many won't _ever_ (I met quite a few of them...)

    I know people than can do all the above but have an absolute disregard for software quality.

    Personally, mines contractually my Job Title. Yes, I have numerous years of experience and I have Juniors that actually report in to me, but as for the title, I became one by default with the job I took.

    Where is the quote from?

    Does the first bullet point include getting feedback from stackoverflow?

    @Aryeh Leib Taurog The could be something that Steve Jobs said: A small team of A+ players can run circles around a giant team of B and C players.

    one more point... One should be consider sr if he worked with 5+ projects. or worked at 5+ companies.

    "Programming is a bizarre world where code is king". This statement by DarkNight was the punch-line. Awesome!

    I find the reasons to be very generalised. All 3 bullet points carry entirely different requirements depending on the scenario. For example running a huge app with 150 features written in Symfony with Doctrine yadda yadda, vs a small app written in simple procedural etc? In each case handling the entire software end to end, helping others, and managing my own project have *very* different skill level and knowledge requirements! One I need to know so much to be senior, yaml/config, auto wiring, an ORM, what controllers and the model is, etc, the other just basic PHP

    @53E3916A I'd be careful about connecting a line between being seen as an "Expert" in a field (ie. the 10k hours idea) and being a "Senior" which in my opinion really just reflects your ability to handle the development cycle independently.. like point 1 states

    @mattnz What about if you have had at least one project succeed under your leadership?

License under CC-BY-SA with attribution

Content dated before 6/26/2020 9:53 AM