Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The issue of seniority always bugs me. If a 26 year old guy who writes "good enough" code can be a Senior, which I see very often, what's left?

Personally I wouldn't feel right with a title including "senior" until I've got at least 10y experience, generated millions in revenue and lead a team of >10. And I'd still prefer not having a title. Unless the only way to increase a salary is by taking the title, which seems to be the problem.



...what's left?

Where do I begin?

- Drilling down multiple levels for greater understanding. Being the "anti-poser" by knowing what's really going on under the hood. Sharing this insight with others. Amazing what a difference maker this often is.

- Subject matter expertise. Can you stay two steps ahead of your customers by getting behind their eyes and seeing what they need before they do?

- Continuous improvement. (I know, a B.S. term if there ever was one, but it's true...): "Good enough" is never good enough any more. Get better or someone will eventually eat your lunch.

- Communication skills. We all suck at them so much that this is often a bigger speedbump than technical shortcomings. We have much to learn from ants.

- Vision. Another nebulous term, but one that often makes a difference between arithmetric and geometric growth.

- Determining priorities. (Are we really working on the best thing?)

I can go on and on, but you kinda get the idea.


I think he was referring to the "title-itis". Titles make absolutely no sense and they seem to be used as a currency by employers and as resume trophies by programmers themselves.

To many times have I seen mediocre programmers negotiating themselves into a BIG title simple because the employer didn't want to give that person a pay rise (titles are free you see). Once they get the title, they sit on sit for a few months and then they fuck off to work for another company. This way they keep their title AND get a pay rise and all while being mediocre.


I'm sorry, as pan69 pointed out, I meant what's left for career progression (without going into management). When a truly senior developer comes along he will be stuck at the same level as the "good enough" (in a bad sense) guy, maybe even at the same pay.


I knew this was an edw519 post when the second point immediately talked about customers. :)

Thank you, this is a good set of points.


Titles were more about pay bands then skill.

I know several hundred Vice Presidents at JP Morgan Chase.

And really, if your business card tells me that you're a Programmer/Analyst 3, then you're either doing something wrong, or you're a robot, and you probably work between Programmer/Analysts 2 and 4.


Cracks me up when people cling to titles. Even funnier when I see software developer 3 on a business card!


I was given a title once, and I think it was a 3 (this was... a heck of a long time ago). But... I wasn't told what the 3 meant - is 3 the bottom? The middle? The top? Is "level 1" where people start? Or is it like golf, where a lower number is better? I asked, and ... got the weirdest look, as if I was an idiot for not having some insider knowledge about "corporate titles". I wasn't there very long. And I never actually got an answer...


I always thought that those number titles were based on a scale from 1 to 5? Usually when I see 3 I think the implication is that you're a "mid-level" engineer. I understand the point that these numbers can be arbitrary and not well defined, but I think the idea that this is a "mid-level" engineer would be well understood (I believe this sort of numeric distinction isn't unique to just software engineers). Did you truly not get that or were you just asking the question to illicit a quizzical response?


I get that it's a scale. But... is "1" the "highest" or "lowest"? 17 years in to this indsutry, I still don't know. I've not worked at enough places that had a numbering system like that (IIRC just that one place for a short time).


An entry level engineer is a 1, afaict.


Thanks! :)


Oh... I think you got answered, at least the question that mattered. It sounds like you took the correct action based on the answer, as well.


In my new startup our software engineering titles go up to 11.

http://www.youtube.com/watch?v=EbVKWCpNFhY


On the other hand how I can differentiate myself without using "senior" from others developers of my age, who took this job as a result of additional course during their college time and who as result produce quite ad-hoc code without any interest in technology and what lies below job they do?

That's the only reason I am using senior in title. Because I do not agree that all 20-something devs bring same value to the team.


In many large corporations including the one where I work, the wages, salaries, and benefits brackets are all determined by your title. The only way to get out of those brackets is to get promoted to a 'better' title. I'm don't care for titles.

When I was first starting out, I was the first hire under the "Director of Software Engineering". He was the only one in his department for over 3 years. The company had only a handful of people. Shortly thereafter I found just how bad the situation was. After 3 years for what was essentially an enterprise data entry application there was not one production line of code written, but he had a great title! I had a painful experience working there, but I'm better because of it.


That's a very good point, John Allspaw from Etsy has a great post on that topic: http://www.kitchensoap.com/2012/10/25/on-being-a-senior-engi...


I was given the senior title in what was essentially my first programming job. I found out later, the boss actually thought I had more than a decade of experience.

I've never cared much for titles though. They seem pretty meaningless to me.


Here is a great article on what it means to be a Senior engineer: http://www.kitchensoap.com/2012/10/25/on-being-a-senior-engi...

The long answer is maturity. Then the author goes to explain what maturity brings to the discipline of software engineering.


tmarthal, you appear to be hellbanned.


Which is unfortunate because tmarthal's link is quite good:

> Here is a great article on what it means to be a Senior engineer: http://www.kitchensoap.com/2012/10/25/on-being-a-senior-engi...

> The long answer is maturity. Then the author goes to explain what maturity brings to the discipline of software engineering.


I posted that link at the same time as someone else, with a post date like 5 minutes after them. I also didn't clear off the referral parameters (I got the original article in an email blast about tech news, with two utm_ parameters). So maybe it looked like a referral link or a possible duplicate of someone else's. shrug

Either way, that article really made me re-consider the 'Senior' in front of my title. Very well written.


What's left in most companies is usually some title including "Principal" or "Staff". So Senior clearly isn't the end of the ladder.


The issue of seniority always bugs me. If a 26 year old guy who writes "good enough" code can be a Senior, which I see very often, what's left?

Some ideas, possibly an answer: http://michaelochurch.wordpress.com/2012/01/26/the-trajector...

What companies tend to call "Senior" is usually around 1.4-1.6 in terms of responsibility. That said, most companies don't give you 1.4-level work until you're 1.7-1.8 in ability.

"Senior" is a title inflation at this point. I wouldn't join a startup (or any company for less than 0.9 times what I can make in finance) for less than a VP-level title, even though I'd be perfectly happy to code full-time and have no reports.


Also, if you go by the google ratings, which are similar, you get:

    Intern
    Software Engineer
    Senior Software Engineer
    Staff Engineer
    Senior Staff Engineer
    Principal Engineer
    Distinguished Engineer
    Fellow
All of a sudden, "senior" doesn't feel very far up the totem pole.


The Google rankings are misleading because many managers stay on the engineering ladder. (For example, Amit Singhal, who runs all of Search, invented the Google ranking algorithm, and is an ACM Fellow, was a "Distinguished Engineer" when I joined.) Staff through Principal are really management ranks - it's very hard to get to Staff without managing people or being a tech lead on a large project. Distinguished/Fellow is weird - it's split between people who have several hundred people reporting up to them, and engineers who have nobody reporting to them but are allowed to do whatever they want.

I heard one of my PMs say that "Senior SWE" at Google is roughly equivalent to "Director" at Oracle (which also suffers from massive title inflation). He was, I think, the youngest Director at Oracle before he came to Google (he got that title when he was 27).


I was under the impression that to be staff+ you had to be a leader (technical direction) but not a manager (performance reviews, people stuff). How accurate is that?


That's true, but usually being a technical leader of a large project implies managing the people on it, if only because it's good for people to have managers that actually know what their day-to-day accomplishments are. I do know of exceptions. There are a few people who get to staff and even beyond without managing people, but I've heard it's very hard and usually involves TLing a project of the scope of Google Instant (and then you frequently get made a manager afterwards, unless you really strenuously object).

TLing is a completely different skillset from engineering anyway - it's much more interrupt-driven, people-focused, and basically involves being a mentor, teacher, and shit umbrella. When I've TLed projects, I usually find myself spending about 30% of my time coding and 70% communicating with other departments, debugging obscure bugs, managing up, and making sure all the critical parts are covered. Coworkers that are staff+ and TL larger projects usually find it's 0% coding and 100% dealing with politics & coordination.


Not quite as bad as finance where you're a VP like 5-6 years in.


Yeah, I never got the 'VP' title, it seems counter-intuitive.

It looks, as in the government, the VP is merely there if something happens to the President, instead of being an important position with a well defined set of tasks.

Director looks a better title


"VP" is so prevalent at banks because bank depositors and customers feel important when they get to talk to a "vice president."


In traditional companies, VP is higher than Director.

In banks, it's different. VP is a middling level and not necessarily managerial, while Managing Director is usually the highest.

I think the idea is that VP is equivalent to VP in a regular company, while MD is comparable to a C-level title, but because banks can't have as many C*O's as they have Managing Directors, they use a different title. Whether the rest of the world agrees with the banks on this title-equivalence is open for debate.


Or "Partner" in law.


Is "partner" an example of title inflation? Law firms do have a lot of "partners" (anywhere from 20% to 50% of lawyers at a large firm), but I think it's more a matter of law firms just having naturally flat structures. Each partner operates pretty autonomously in terms of bringing in business, managing associates, running cases, etc. Levels of organization above "partners" are more facilitative and strategic (where to open new offices, etc) than operational.


Partner actually has a practical meaning: co-owner of the partnership.

So it's more like 'stockholder', in that it's a title of objective value: this person owns a portion of the firm.

I sometimes suspect that software engineers should operate more like lawyers, in that firms don't generally hire lawyers internally.


Not really but some firms have tried. There are equity and non equity partners at some firms, for example. If you eant more detail than you will ever use use google Adam Smith, Esq.


Eh you don't get made partner after just sticking around for a few years, partners are participants in the firm's capital who usually need to buy themselves in. Partners in law firms can not be compared to roles in other companies where employees are just that, employees.


Interesting, compare Amazon:

SDE intern SDE Sr. SDE Principal Engineer Sr. Pr. Eng. Distinguished Engineer (VP level, ex: Peter Vosshall)


If I ever develop an HR system/title hierarchy (and I don't see this as likely) titles will be more ornate at the bottom. At the top: Programmer.


I remember a talk by collegues ten years ago when they suggested we have to have "grand vizier" or "padishah" titles.


I remember hearing that this is basically the way it works in management. The higher you go the more general your position becomes.

CEO

President

Vice President of ___

Director of ____ _____

Coordinator of ____ and _____


I always figure that if I found another startup, I'll print up 2 sets of business cards. One will have the title "Founder & CEO" for people who are impressed by that stuff. The other will have the title "Disruptive Influence" for everyone who's cool.


My business cards, even back to my first industry job in Palo Alto, have always had nothing listed for a position. On the "smaller title is import important" measure, I win!


"Fellow" sort of gives you that already.


Not to mention Coder and Bug Fixer.


In the US things are probably much better, but around here it's common to see senior positions filled by people at 0.8-1.3 on that scale, partly due to a shortage of developers and good education/experience. It's specially true at larger corporations.


around here it's common to see senior positions filled by 0.8-1.3 "engineers" on that scale

That's scary.

One thing I'm finding is that it's really hard to get into a position where you can function at a 1.5+ level. Most companies want reliable mediocrity, not excellence. The reason there are so few 1.5+ engineers is that there's so little 1.5+ work out there. I think that if a few companies had the balls to man up and go to open allocation, we'd see a dramatically higher level of software talent in a few years.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: