Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
FlapYoJacks
Feb 12, 2009

ToxicSlurpee posted:

The other snag with "senior" is that some companies don't do junior -> normal -> senior -> lead progression but have numbers instead. Those numbers are also different! A Software Developer III might be a mid-grad dev in one place but a lead dev in another. Then you get into titles like Software Architect and...yeah.

To add to this: Some places only have one or two programmers, so being a senior isn't that impressive. :v:

Adbot
ADBOT LOVES YOU

Doctor w-rw-rw-
Jun 24, 2008
I used to want to be a senior dev. Then I realized I'd sabotaged my interviews by wanting that because "senior" means gently caress-all from company to company but whatever it was, companies didn't want it as much, because they were looking to hire an engineer, not someone to slot into a leadership role straight from the outside.

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
I was a senior at my old job because I was the first engineer hired into the department.

Current job I'm an SE 2 and it's working out for me pretty great, albeit I'm going to have to work here a little longer before I end up in a leadership position.

ToxicSlurpee
Nov 5, 2003

-=SEND HELP=-


Pillbug
Isn't what "senior" means also different by company? If memory serves in some companies it isn't a leadership position but means you're an experienced dev that can be expected to both Get poo poo Done and mentor the juniors while in others it's an actual leadership position where you'll dole out tasks to the juniors.

Hell junior or level one can even be different. At my job I just get a list of "hey here's poo poo we want you to do, make it happen" without a ton of direction.

feedmegin
Jul 30, 2008

necrobobsledder posted:

In the absence of lovely bosses, lovely business drivers will make your job suck as well. You can put Steve Jobs in charge of a body shop and he's not going to make the end results much better for anyone under him.

You realise Steve Jobs is legendarily not a good example of a good boss, right? :shobon:

Doctor w-rw-rw-
Jun 24, 2008
This needs qualification because E2 at some companies is one level lower than the entry-level engineering position

piratepilates
Mar 28, 2004

So I will learn to live with it. Because I can live with it. I can live with it.



Doctor w-rw-rw- posted:

This needs qualification because E2 at some companies is one level lower than the entry-level engineering position

....then who gets hired in to an E1 or E2 position?

apseudonym
Feb 25, 2011

piratepilates posted:

....then who gets hired in to an E1 or E2 position?

Interns?

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.
Titles are stupid just post your location and how much you make and what you do lol

mrmcd
Feb 22, 2003

Pictured: The only good cop (a fictional one).

At my old job the ranks were Associate developer < developer < senior developer < tech lead. Then one day one of the execs decided we should have more "banky" titles so we all got some word soup with the phrase "vice president" in it as job titles.

For comparison at Google we have job ladders, which is more or less what job you do, a eng level, which is basically your "real" job title or rank, a nominal job title that means so little people make up things like "Lead ninja pirate" and actually get that approved as their title in the HR system, and then "team lead" which is an entirely different thing.

Meanwhile there's places (Amazon maybe but I'm not sure) where a title like "Software Engineer II" is like a 6 years experience job with $150k salary.

What I'm saying is I agree with the people who say you can't compare titles across companies and they're largely meaningless. Just get money, preferably from a job and people you don't hate.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


Titles vary a lot, but there are definitely some pretty standard milestones around two and four or five years that you can attach reasonable expectations to. After that, people tend to specialize and acquire domain experience that makes comparisons difficult.

piratepilates
Mar 28, 2004

So I will learn to live with it. Because I can live with it. I can live with it.




If E2 is one level lower than entry-level then it'd be like an internship (then if you graduate with no internships you're lower than entry-level?), what is an E1 then? A really lovely intern or something?

apseudonym
Feb 25, 2011

piratepilates posted:

If E2 is one level lower than entry-level then it'd be like an internship (then if you graduate with no internships you're lower than entry-level?), what is an E1 then? A really lovely intern or something?

:shrug:

Google has interns at level 2 and new grads at level 3, no loving clue what a level 1 is (if they exist).

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

piratepilates posted:

If E2 is one level lower than entry-level then it'd be like an internship (then if you graduate with no internships you're lower than entry-level?), what is an E1 then? A really lovely intern or something?

Probably E1 is an unused title used to make people feel like at least they aren't at the very bottom of the ladder. Y'know, "I may be an E2, but at least I'm not an E1" kind of thing.

mrmcd
Feb 22, 2003

Pictured: The only good cop (a fictional one).

apseudonym posted:

:shrug:

Google has interns at level 2 and new grads at level 3, no loving clue what a level 1 is (if they exist).

I think it's mostly people doing hourly hwops work in data centers. I'm not sure though.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


What are the different levels of software engineers at Facebook?:

quote:

We have a simple system where each engineer has the title "software engineer" and a level 3 through 9. We start at 3 to calibrate levels across the company (there might be IC 1s and 2s in other departments).

This also coordinates with the management track, which has levels M0, M1, M2, D1, D2 for leads, managers and directors. E5 is equivalent to M0 (and E6 to M1, etc.), which allows people to choose whether to continue their career as an individual contributor or through management.

That's from three years ago, but I haven't seen anything newer that contradicts it.

Paolomania
Apr 26, 2006

I went from senior SWE at a boring company to a regular SWE (L4) at Big G. I have no complaints. As everyone else has said, don't expect ranks on the outside to translate to those companies you listed.

geeves
Sep 16, 2004


My boss and I have a theory that the reason you can be "senior" in 5 years is because the newer generation of programmers (well, employees in general) needs constant upward mobility. The other non-technical office promotes like crazy and make up random intermediate meaningless titles so people feel they're advancing.

People who claim to be "senior" but cannot start a new project from scratch or have no idea how to configure Maven or Gradle are definitely not senior, IMO. It's fun weeding through the bullshit artists during interviews. Albeit it wastes a lot of time.

A couple of other things that may help:

Sign up for AWS and use their micro servers to run wild and set up anything you want to learn. It's free as long as you keep it in check. AWS (or competing cloud services) are good to know in general. Use it as a sandbox to learn your way around Linux, Ubuntu, etc.

Join http://codewars.com and just do the algorithm challenges. Do 2-3 a day (or more if you feel like it) and just keep at it. Just keeping yourself in that mind set will be helpful for interviews. The technical interview is pretty much straight up like most of those challenges. Plus after you solved the challenge, you can see how others solved it and learn from there.

That said, I'm pretty loving terrible at technical interviews and my thought process is very internal. When I did a tech interview a couple months ago for Uber, I bombed it badly because, as the interviewer said, "I can see you have the skills, but your thought process is a minefield. Work on that and get back to us."

Failing the interview was fine for me and expected, working for Uber wasn't my goal, but I knew they did the type of interview I would need if I was to interview at Google in the future. I think a better technical interview is one in which you describe a project that you had a big hand in and a good interviewer can ask pointed questions, ask you to elaborate on certain things that reveal you actually did the work and would be good at explaining things to other developers.

Given my experience, the latter type of interview is usually what I end up with and I usually end up talking about projects that I have accomplished in detail taking the person interviewing me from start to finish. Usually those companies I inquire about because they want a lead developer who can run a project and oversee it while not being managerial.

Amazon has a horrific process, btw, in which they require you to install malware on your machine to basically spy on you like crazy while you do the interview.


And learn python. Everyone seems to love python.

Doctor w-rw-rw-
Jun 24, 2008

ultrafilter posted:

What are the different levels of software engineers at Facebook?:


That's from three years ago, but I haven't seen anything newer that contradicts it.

accurate

2nd Rate Poster
Mar 25, 2004

i started a joke
To me focusing on the technical knowledge of a senior is missing the point. That knowledge is just a side effect of having delivered business value for a little while.

I'd liken the impact at each level to something like this (note none of these have any technical checkboxes associated). And I'd argue being able to display the below is more important for career progression than specific technical skills.


Junior -- cant deliver features without oversight

Regular -- delivers features with no guidance

Senior -- delivers projects with little guidance. Output aligns with team goals

Lead -- delivers a team with little guidance.

Architect -- delivers cohesive technical output from eng teams.

VP -- Deliver a cohesive organizational structure

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS

Doctor w-rw-rw- posted:

This needs qualification because E2 at some companies is one level lower than the entry-level engineering position

Sorry, our hierarchy goes: SE1 (software engineer), SE2, Senior software engineer, and then Principal software engineer. SE2 is mid-level individual contributor.

e:

2nd Rate Poster posted:

To me focusing on the technical knowledge of a senior is missing the point. That knowledge is just a side effect of having delivered business value for a little while.

I'd liken the impact at each level to something like this (note none of these have any technical checkboxes associated). And I'd argue being able to display the below is more important for career progression than specific technical skills.


Junior -- cant deliver features without oversight

Regular -- delivers features with no guidance

Senior -- delivers projects with little guidance. Output aligns with team goals

Lead -- delivers a team with little guidance.

Architect -- delivers cohesive technical output from eng teams.

VP -- Deliver a cohesive organizational structure

This is very accurate.

raminasi
Jan 25, 2005

a last drink with no ice

geeves posted:

Failing the interview was fine for me and expected, working for Uber wasn't my goal, but I knew they did the type of interview I would need if I was to interview at Google in the future. I think a better technical interview is one in which you describe a project that you had a big hand in and a good interviewer can ask pointed questions, ask you to elaborate on certain things that reveal you actually did the work and would be good at explaining things to other developers.

My Google interview experience was five hours of not being asked a single substantive question about any of my past work. Getting rejected sucked but the further I get from it the more I'm able to write it off as a ridiculous process.

piratepilates
Mar 28, 2004

So I will learn to live with it. Because I can live with it. I can live with it.



2nd Rate Poster posted:

To me focusing on the technical knowledge of a senior is missing the point. That knowledge is just a side effect of having delivered business value for a little while.

I'd liken the impact at each level to something like this (note none of these have any technical checkboxes associated). And I'd argue being able to display the below is more important for career progression than specific technical skills.


Junior -- cant deliver features without oversight

Regular -- delivers features with no guidance

Senior -- delivers projects with little guidance. Output aligns with team goals

Lead -- delivers a team with little guidance.

Architect -- delivers cohesive technical output from eng teams.

VP -- Deliver a cohesive organizational structure

I like this, can we just use this now, this seems pretty intuitive.

Jose Valasquez
Apr 8, 2005

Paolomania posted:

I went from senior SWE at a boring company to a regular SWE (L4) at Big G. I have no complaints. As everyone else has said, don't expect ranks on the outside to translate to those companies you listed.

This is what I'm doing too.

I think I read somewhere that the "big companies" tend to hire people down a level unless you're coming from a company of a similar caliber.

Unless you're at a top tier software company already I don't think it's likely that you're going to go from a mid level role at some company immediately into a senior role at a top tier company.

Maybe I'm just bad though v:)v

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


2nd Rate Poster posted:

To me focusing on the technical knowledge of a senior is missing the point. That knowledge is just a side effect of having delivered business value for a little while.

I'd liken the impact at each level to something like this (note none of these have any technical checkboxes associated). And I'd argue being able to display the below is more important for career progression than specific technical skills.


Junior -- cant deliver features without oversight

Regular -- delivers features with no guidance

Senior -- delivers projects with little guidance. Output aligns with team goals

Lead -- delivers a team with little guidance.

Architect -- delivers cohesive technical output from eng teams.

VP -- Deliver a cohesive organizational structure

This is generally good. Places like Facebook and Google have some slightly different career paths (infrastructure, data, R&D), but most companies will follow this progression.

2nd Rate Poster
Mar 25, 2004

i started a joke
If you want further reading about org chart hierarchy/career progression. The CTO of rent the runway published theirs http://dresscode.renttherunway.com/blog/ladder and they did a drat good job of having in depth requirements for each level.

While titles will change org to org I think their overall take on it is applicable for anyone's career and aligns with what I've seen in the wild.

Jose Valasquez
Apr 8, 2005

raminasi posted:

My Google interview experience was five hours of not being asked a single substantive question about any of my past work. Getting rejected sucked but the further I get from it the more I'm able to write it off as a ridiculous process.

The problem I see with asking about your past work is that you can just lie. I don't mean like totally fabricating a project, that's almost certainly going to get you caught, but you can easily take credit for decisions and thought processes that weren't your own.

You might be a grunt developer on a big project making no decisions at all but in an interview as long as you know why a design decision was made you can pass it off as your own without having the necessary experience to actually make it.

All interview processes are bad in my experience, nobody has really figured out a good one yet.

smackfu
Jun 7, 2004

If you are a senior engineer after five years, what job do you have at twenty? Everyone can't be an architect or a lead.

oliveoil
Apr 22, 2016
As far as I know, Microsoft, Google, Facebook, and Amazon all have a system like E3, E4, E5, etc. where taking on increasing levels of leadership and technical complexity. Basically, at the lower level, you build things based on other people's specifications. At the mid level, you're writing the specifications based on concrete problems you're given, likely as part of a larger system that's already been built/specified. And at the senior level, you're also taking general problems and making them concrete, so that solutions can be specified (by you or a midlevel person) and then implemented (by you, a midlevel person, or a junior level person). At the level above that, you're identifying the vaguegeneral problems that need to be solved and essentially passing them (without really cleaning them up) to senior engineers to have them figure them out, but that's way out from me and not really relevant right now.

I'm not really thinking about startups and general mid-size companies. I'm only thinking about the big companies that have this kind of leveling system, plus maybe uber, Twitter, etc. That might offer similarly high comp without necessarily the same leveling system.

And yeah, I want to get a big pay bump. If I could increase my pay significantly without getting a title bump, then that would be great, but I'm making a little over $200k (due to growth in stock price since I've joined + a couple of very minor yearly stock grants) as a junior level person . I think that puts me at the top of the compensation range for a junior level at any big company, because I think at basically all the companies, junior comp is $150-200k, mid level comp is $200-250k, and senior comp is $250-300k.

So, I figured that if I brush up on my fundamental CS knowledge, I could get a $200k mid-level offer somewherr. If I was already mid-level at my current place, then I could lean on that to get a raise to whst I think big companies have as the top of their mid-level comp ranges (~$250k). And then I thought, what if I learned how to answer the questions one would see in an E5-level interview? If I did that, maybe I could get two E5-like offers and leverage then against eachother, to hit what I understand to be the top of the senior level range, ~$300k.

smackfu posted:

If you are a senior engineer after five years, what job do you have at twenty? Everyone can't be an architect or a lead.

I'm going to say "E5" from now on because it's more specific to what I want. I dont want a "senior" position in the sense that every company has "senior" engineers. What I want to figure out is how to pass four to six 45-minute, E5-level, technical interviews. I'm sure there's a coding component and a design component... And someone pointed out that I should also be able to answer questions about what I've done in different situations, which is good and something I hadn't thought of.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


oliveoil posted:

I'm going to say "E5" from now on because it's more specific to what I want. I dont want a "senior" position in the sense that every company has "senior" engineers. What I want to figure out is how to pass four to six 45-minute, E5-level, technical interviews. I'm sure there's a coding component and a design component... And someone pointed out that I should also be able to answer questions about what I've done in different situations, which is good and something I hadn't thought of.

The transition from E4 to E5 isn't primarily about technical ability. As a manager equivalent, an E5 is someone who's capable of providing technical guidance to a small team of E3s and E4s. If you don't have that experience or something very close to it, you aren't going to make the cut.

apseudonym
Feb 25, 2011

Jose Valasquez posted:

The problem I see with asking about your past work is that you can just lie. I don't mean like totally fabricating a project, that's almost certainly going to get you caught, but you can easily take credit for decisions and thought processes that weren't your own.


Yeah this, I'm not going to use the past work as more than something to break the ice with/something to use to focus my questions. Its not remotely uncommon to have people who can talk all about their past project and then cant code their way out of a wet paper bag.



oliveoil posted:

As far as I know, Microsoft, Google, Facebook, and Amazon all have a system like E3, E4, E5, etc. where taking on increasing levels of leadership and technical complexity. Basically, at the lower level, you build things based on other people's specifications. At the mid level, you're writing the specifications based on concrete problems you're given, likely as part of a larger system that's already been built/specified. And at the senior level, you're also taking general problems and making them concrete, so that solutions can be specified (by you or a midlevel person) and then implemented (by you, a midlevel person, or a junior level person). At the level above that, you're identifying the vaguegeneral problems that need to be solved and essentially passing them (without really cleaning them up) to senior engineers to have them figure them out, but that's way out from me and not really relevant right now.

I'm not really thinking about startups and general mid-size companies. I'm only thinking about the big companies that have this kind of leveling system, plus maybe uber, Twitter, etc. That might offer similarly high comp without necessarily the same leveling system.

And yeah, I want to get a big pay bump. If I could increase my pay significantly without getting a title bump, then that would be great, but I'm making a little over $200k (due to growth in stock price since I've joined + a couple of very minor yearly stock grants) as a junior level person . I think that puts me at the top of the compensation range for a junior level at any big company, because I think at basically all the companies, junior comp is $150-200k, mid level comp is $200-250k, and senior comp is $250-300k.

So, I figured that if I brush up on my fundamental CS knowledge, I could get a $200k mid-level offer somewherr. If I was already mid-level at my current place, then I could lean on that to get a raise to whst I think big companies have as the top of their mid-level comp ranges (~$250k). And then I thought, what if I learned how to answer the questions one would see in an E5-level interview? If I did that, maybe I could get two E5-like offers and leverage then against eachother, to hit what I understand to be the top of the senior level range, ~$300k.


I'm going to say "E5" from now on because it's more specific to what I want. I dont want a "senior" position in the sense that every company has "senior" engineers. What I want to figure out is how to pass four to six 45-minute, E5-level, technical interviews. I'm sure there's a coding component and a design component... And someone pointed out that I should also be able to answer questions about what I've done in different situations, which is good and something I hadn't thought of.

At least for Google those pay bands are super low.

Mniot
May 22, 2003
Not the one you know

Jose Valasquez posted:

The problem I see with asking about your past work is that you can just lie. I don't mean like totally fabricating a project, that's almost certainly going to get you caught, but you can easily take credit for decisions and thought processes that weren't your own.

You might be a grunt developer on a big project making no decisions at all but in an interview as long as you know why a design decision was made you can pass it off as your own without having the necessary experience to actually make it.

All interview processes are bad in my experience, nobody has really figured out a good one yet.

This seems like "but you could memorize FizzBuzz!"

A good interviewer would start with "I see on your resume that you lead a transition from MySQL to MongoDB. Tell me about that." But they'd follow up with questions about what the pros and cons were and what other options you looked at and why you rejected them. They might then add some hypotheticals: would you have made a different decision if your team were all C++ developers? Facebook uses MySQL; do you think they'd benefit from the same transition? Why or why not?

If you've thought deeply enough about the problem, I don't know that it's a big deal that you didn't actually pull the trigger. The main thing that's missing from just talking about the past is the possibility that you're totally unable to write code, so you just tack on a little FizzBuzz somewhere in the interview.

sarehu
Apr 20, 2007

(call/cc call/cc)
People that can't think about easy data structures / algorithms are unfit for high level software decision making so you need to test for that too.

Thermopyle
Jul 1, 2003

...the stupid are cocksure while the intelligent are full of doubt. —Bertrand Russell

sarehu posted:

People that can't think about easy data structures / algorithms are unfit for high level software decision making so you need to test for that too.

I think this is possibly true, but I'm also always suspicious of arguments about how management must work it's way up from the mail room. Managing things is itself a skill and I'm not positive that knowledge of data structures is important for managing software. Of course, that all depends on the responsibilities of whatever position we're talking about.

I guess all I'm saying is watch out for the pitfalls with this line of thinking...

sarehu
Apr 20, 2007

(call/cc call/cc)
This isn't about pure management though, this is about technical decision making.

Mniot
May 22, 2003
Not the one you know

Thermopyle posted:

I think this is possibly true, but I'm also always suspicious of arguments about how management must work it's way up from the mail room. Managing things is itself a skill and I'm not positive that knowledge of data structures is important for managing software. Of course, that all depends on the responsibilities of whatever position we're talking about.

I had two managers (serially) at a small company who were non-technical and it hurt a lot. They were titled as VPs, overseeing a group of 15 engineers and coordinating with the other parts of the company. The problem was that sales would say "we want X" or the CEO would ask how long some task would take and the VP just had no ability to estimate difficulty and would refuse easy tasks or sign us up for impossible poo poo.

We were doing a terrible job of interviewing candidates, across the board, but I wonder what we could have done to weed out this type of bad manager.

Doctor w-rw-rw-
Jun 24, 2008
I think the critical thing there is that those who don't have it rammed into their head – that there are impractical or simply intractable things that seem straightforward to do – will tend to add additional risk to projects because they aren't going to be as good at differentiating between "hard but possible" and "rat hole that will sink the project". That judgment is helped by starting as an engineer or at least significant insight into the method through which engineering defines and solves problems.

Jaded Burnout
Jul 10, 2004


apseudonym posted:

At least for Google those pay bands are super low.

.. really? I know Silicon Valley is crazy for this stuff but I didn't think it was that high.

My own money doesn't really apply as I'm a contractor, but I know that most places in London (with some of the highest salaries in Europe) hit a ceiling around $120k for 10+ year Ruby developers, a sub-field which is considered highly paid to start with.

*Juniors* get $200k+?

Blinkz0rz
May 27, 2001

MY CONTEMPT FOR MY OWN EMPLOYEES IS ONLY MATCHED BY MY LOVE FOR TOM BRADY'S SWEATY MAGA BALLS
I'm sure he's talking about total comp. Salary is probably closer to what you're thinking.

Adbot
ADBOT LOVES YOU

oliveoil
Apr 22, 2016
In my case (junior at a big tech company) at least, it was a junior level position with about $170k the first year (including a $20k signing bonus) that turned into $200k as my company's stock went up and I got a couple small bonus stock grants ($30k over four years and $40k over four years, respectively)

I can't imagine getting $200k to start as a junior and going up from there with stock price increases and bonus grants. That sounds like a crazy magical world thing. Am I just really under paid / too dumb to have properly been job-hopping like a smart person all this time?

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply