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
RICHUNCLEPENNYBAGS
Dec 21, 2010

Good Will Hrunting posted:

I went to a (basically) no-name school and first company and in a week of looking I've got 6+ phone screens set up. I've turned 3 places down after phone screens. It's loving ridiculous how many are trying to talk to me about "Senior" positions. Since when is 3 years of experience "Senior" and why are you contacting me about jobs that say "7+ years of experience"? I'm fully confident in my ability to pass medium-difficulty algo interviews at this point, but I just don't have the combination of depth and breadth that it seems like these places want and I have a feeling when I talk to an actual dev and not a recruiter they'll see that.

I have no CS degree and have been programming for two or three years and a few months ago pursued one of these senior positions and got it. So I guess what I'm saying is maybe give it a shot.

Adbot
ADBOT LOVES YOU

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.

RICHUNCLEPENNYBAGS posted:

I have no CS degree and have been programming for two or three years and a few months ago pursued one of these senior positions and got it. So I guess what I'm saying is maybe give it a shot.

Yeah I currently am. I've had had calls with all of them and in the process with four places that I'd say I'm "highly" interested in. Should I not do well at Google, I'm hoping for either the awesome fin-tech place that I'm in waiting to meet in person or the startup where I could sling some Go for a nice change of scenery .

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

RICHUNCLEPENNYBAGS posted:

I have no CS degree and have been programming for two or three years and a few months ago pursued one of these senior positions and got it. So I guess what I'm saying is maybe give it a shot.

I legitimately do not understand how you could be capable of mentoring junior and mid level engineers, but congrats I guess. Or maybe your org is relatively small and doesn't to the I-II-III-IV-Senior I-Senior II-... thing?

I wish I understood title inflation so I could use it to my advantage. :ohdear:

Blinkz0rz
May 27, 2001

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

leper khan posted:

I legitimately do not understand how you could be capable of mentoring junior and mid level engineers, but congrats I guess. Or maybe your org is relatively small and doesn't to the I-II-III-IV-Senior I-Senior II-... thing?

I wish I understood title inflation so I could use it to my advantage. :ohdear:


It's entirely arbitrary.

mrmcd
Feb 22, 2003

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

Blinkz0rz posted:

It's entirely arbitrary.

Yeah at my last job the ladder was basically "Jr Developer -> Developer -> Senior Developer -> Lead". Then one year some manager goon got it in his head we all needed to have more bank-y titles, so we all became some variation on "Vice President".

Now where I am it's all completely different again. You basically cannot compare job titles across orgs.

Doctor w-rw-rw-
Jun 24, 2008

RICHUNCLEPENNYBAGS posted:

I have no CS degree and have been programming for two or three years and a few months ago pursued one of these senior positions and got it. So I guess what I'm saying is maybe give it a shot.

Not knowing anything about you, this terrifies me, because I expect a senior developer to be very broad and very deep, and that's hard to do in that period of time.

I was once interviewing a prospective intern or junior dev with one of my past coworkers (not at my current company), the other iOS team member (who thought they were lead on the project). They'd been self-taught for four or five years. During this interview, they say something along the lines of "Oh, you don't need to understand Big-O stuff. It's not important, I never learned it."

Well, it turns out this developer was a nightmare to work with, and regressed performance, thread safety, product quality, and code quality. But hey, the got features done on time! Oh, and I spent a ton of time constantly fixing stuff because the features would be broken.

So I guess what I'm saying is don't be a hated developer because you had the time and the chops to grow into a role but rose to your level of incompetence instead.

EDIT for clarification, because I might have been unclear: The developer, who fancied themselves lead, was the senior member on the team, had a poor grasp on algorithmic performance, and was negative on morale and efficiency. The interviewee failed.

Doctor w-rw-rw- fucked around with this message at 20:08 on Aug 21, 2016

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:

Not knowing anything about you, this terrifies me, because I expect a senior developer to be very broad and very deep, and that's hard to do in that period of time.

I was once interviewing a prospective intern or junior dev with one of my past coworkers (not at my current company), the other iOS team member (who thought they were lead on the project). They'd been self-taught for four or five years. During this interview, they say something along the lines of "Oh, you don't need to understand Big-O stuff. It's not important, I never learned it."

Well, it turns out this developer was a nightmare to work with, and regressed performance, thread safety, product quality, and code quality. But hey, the got features done on time! Oh, and I spent a ton of time constantly fixing stuff because the features would be broken.

So I guess what I'm saying is don't be a hated developer because you had the time and the chops to grow into a role but rose to your level of incompetence instead.

If you have a hated developer and you're a senior or lead then you're failing at your job. You should be improving the quality of code that your juniors produce and developing them.

Also, I never learned Big-O but can still understand algorithmic performance implications. It's just the notation that never made it in.

Thermopyle
Jul 1, 2003

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

Blinkz0rz posted:

If you have a hated developer and you're a senior or lead then you're failing at your job. You should be improving the quality of code that your juniors produce and developing them.

Also, I never learned Big-O but can still understand algorithmic performance implications. It's just the notation that never made it in.

Does this mean that all junior devs are capable of being coaxed into being good-enough-not-to-hate?

MeruFM
Jul 27, 2010

Blinkz0rz posted:

If you have a hated developer and you're a senior or lead then you're failing at your job. You should be improving the quality of code that your juniors produce and developing them.

Also, I never learned Big-O but can still understand algorithmic performance implications. It's just the notation that never made it in.

I know you're trying to invoke the "no bad child" idea, but at age 23-25 and being in a professional environment, they should at least meet the rest of the team in the middle and realize when their code is just causing trouble for everyone else. Or should college professors be blamed for every failing student?

Blinkz0rz
May 27, 2001

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

MeruFM posted:

I know you're trying to invoke the "no bad child" idea, but at age 23-25 and being in a professional environment, they should at least meet the rest of the team in the middle and realize when their code is just causing trouble for everyone else. Or should college professors be blamed for every failing student?

If you can't see the value in pointing out to a junior developer why their code is causing trouble then I'm not sure what to say. Your job as a senior or lead is most likely to make big, architectural decisions and to develop junior staff. So do your job and develop them.

The alternative is to have a reputation around the office as someone that no one wants to work for because you demand that your underlings work a certain way and then blame them for things without telling them. You don't want to be that guy.

I'm not suggesting that means that there isn't a bar for performance that employees have to hit. All I'm saying is that if your junior dev is completing features but is missing a piece of understanding that's causing trouble for others, teach them what they're doing wrong.

RICHUNCLEPENNYBAGS
Dec 21, 2010

Doctor w-rw-rw- posted:

Not knowing anything about you, this terrifies me, because I expect a senior developer to be very broad and very deep, and that's hard to do in that period of time.

I was once interviewing a prospective intern or junior dev with one of my past coworkers (not at my current company), the other iOS team member (who thought they were lead on the project). They'd been self-taught for four or five years. During this interview, they say something along the lines of "Oh, you don't need to understand Big-O stuff. It's not important, I never learned it."

Well, it turns out this developer was a nightmare to work with, and regressed performance, thread safety, product quality, and code quality. But hey, the got features done on time! Oh, and I spent a ton of time constantly fixing stuff because the features would be broken.

So I guess what I'm saying is don't be a hated developer because you had the time and the chops to grow into a role but rose to your level of incompetence instead.

EDIT for clarification, because I might have been unclear: The developer, who fancied themselves lead, was the senior member on the team, had a poor grasp on algorithmic performance, and was negative on morale and efficiency. The interviewee failed.

Well, if this is what you meant to get at, I appreciate the importance of asymptotic complexity.

Blinkz0rz posted:

If you have a hated developer and you're a senior or lead then you're failing at your job. You should be improving the quality of code that your juniors produce and developing them.

Also, I never learned Big-O but can still understand algorithmic performance implications. It's just the notation that never made it in.

It's probably worth an hour or two to learn the notation if you already understand the idea.

RICHUNCLEPENNYBAGS fucked around with this message at 22:57 on Aug 21, 2016

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Blinkz0rz posted:

If you have a hated developer and you're a senior or lead then you're failing at your job. You should be improving the quality of code that your juniors produce and developing them.

Also, I never learned Big-O but can still understand algorithmic performance implications. It's just the notation that never made it in.

There's really nothing to it if you can classify the asymptotic runtime of a subsection of code. Just add everything up at the root level where the sum operator is the max function.

Big-Omega is similar, but provides a lower bound instead of an upper bound; eg, best case running time.

If something is Big-O and Big-Omega of the same function, it is Big-Theta of that function.

Remember that shortcuts like "loops multiply the current counter by N" aren't necessarily correct (or at least don't provide tight bounds). It's entirely possible to nest a loop within another loop and still have O(N) runtime.

RICHUNCLEPENNYBAGS
Dec 21, 2010

leper khan posted:

There's really nothing to it if you can classify the asymptotic runtime of a subsection of code. Just add everything up at the root level where the sum operator is the max function.

Big-Omega is similar, but provides a lower bound instead of an upper bound; eg, best case running time.

If something is Big-O and Big-Omega of the same function, it is Big-Theta of that function.

Remember that shortcuts like "loops multiply the current counter by N" aren't necessarily correct (or at least don't provide tight bounds). It's entirely possible to nest a loop within another loop and still have O(N) runtime.

It's probably worth noting that people use Big-O (technically incorrectly) when they really mean big-theta all the time.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

RICHUNCLEPENNYBAGS posted:

It's probably worth noting that people use Big-O (technically incorrectly) when they really mean big-theta all the time.

Those people are bad people. Though I only rarely see proofs, so it's hard to judge the veracity or your claim. :saddowns:

RICHUNCLEPENNYBAGS
Dec 21, 2010

leper khan posted:

Those people are bad people. Though I only rarely see proofs, so it's hard to judge the veracity or your claim. :saddowns:

Oh, I don't mean in academic contexts. But when talking about programming.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


RICHUNCLEPENNYBAGS posted:

It's probably worth noting that people use Big-O (technically incorrectly) when they really mean big-theta all the time.

f(n) \in \Theta(g(n)) implies f(n) \in O(g(n)), so it's not strictly speaking incorrect. It's just not the strongest claim they could be making.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

ultrafilter posted:

f(n) \in \Theta(g(n)) implies f(n) \in O(g(n)), so it's not strictly speaking incorrect. It's just not the strongest claim they could be making.

I took the statement to mean people think O() is a bound above and below, not that they make only claims on the upper bound.

Theta requires a proof of the lower bound, and if you don't care about the lower bound then you don't care about it..

It is absolutely not technically incorrect to say something is O(f(x)) if it is Theta(f(x)), especially if Omega(f(x)) has not been shown.

Blinkz0rz
May 27, 2001

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

RICHUNCLEPENNYBAGS posted:

Well, if this is what you meant to get at, I appreciate the importance of asymptotic complexity.


It's probably worth an hour or two to learn the notation if you already understand the idea.

In more than 10 years of professional software development I've never come across a situation where I've needed it.

necrobobsledder
Mar 21, 2005
Lay down your soul to the gods rock 'n roll
Nap Ghost
If "I've never needed to do it in my professional experience is a bar" then in 13 years I never needed to remember literally anything from my CS curriculum because my jobs have been pretty easy from a technical standpoint. Just because you don't need or use it does not mean there aren't a lot of other people that do need it. I've used DeMorgan's law to simplify some conditionals, needed to futz with an RC filter to de noise a circuit, and I've needed to do dynamic programming but everything I've written was not exactly that hard technically and is mostly an achievement in a combination of trivia and debugging skills rather than computer science where I can prove a solution is viable or that an operation is guaranteed to use only O(1) space... unless someone activates a retard mode switch that makes it O(n m) where m is something you didn't even know existed.

hendersa
Sep 17, 2006

Blinkz0rz posted:

In more than 10 years of professional software development I've never come across a situation where I've needed it.

I have an anecdote for the other side of this coin.

Maybe eight or so years ago, I joined a company that had a mature software product that was widely deployed. It was messaging middleware for hospitals and the like. So, when you hit the bedside button to call the nurse to your bed, the software would send messages out to the nurses via their pagers, Cisco phones, Vocera badges, etc. While the software worked, it was written by a bunch of talented (but junior) staff at the "main" office. I joined a new office that would be taking over software development duties (which later became the "main" office).

A quick overview of the products situation when I got there:

1. Most related to algorithmic complexity was the fact that no one had ever run a profiler on the code. I was the first, and I found major slow spots where the previous developers had done silly things with exponential algorithms where linear would do. Management was too focused on fighting fires with incoming bug reports, so I actually had to call a meeting with management to justify the time and funding to rework those pieces of the product and to show the staff what a profiler was and train them on how to use it. So, I had the exponential/logarithmic/linear charts and did a CS 101 explanation of it to two VPs.

2. No STL containers. There were something like five roll-your-own linked list implementations in there. No "const" qualifiers anywhere. "char *" instead of std::string. No asserts anywhere because "they make the program crash". :gonk:

3. Tons of customer-specific branches of the product. There were features in one branch that weren't in others, and bug reports had to be applied to a specific branch and then added to other branches. Over the span of a year, I merged something like seven branches into one with a minimal set of build #defines for customer-specific features.

4. No documentation beyond sparse comments in the code. I spent a lot of time making notes as I went, which later became wiki-fied in a central documentation location that everyone began contributing to.

5. They were shipping stripped debug builds because release builds "didn't work for some reason". They included the debug C++ libraries in the installer because most customers didn't have them. That would certainly explain the crashes due to asserts.

6. No unit tests were in place. No regression testing procedures. No continual/nightly builds. It was the "fix a bug and do a customer-specific release" school of delivery.

All of these items do a pretty good job of showing what the difference is between a talented junior developer and an experienced senior one. Yes, the company was doing well with their product, but it could have been doing so much better without wasting so much time doing a zillion software releases and constantly playing whack-a-mole with bugs.

I spent a lot of late nights consolidating, testing, and cleaning up code. I also spent a lot of time working with other developers and mentoring them on better ways to do things. It ended up paying off in the long run, as the company was acquired twice over a span of three years. I'd probably still be there if I hadn't left to go back to grad school.

hendersa fucked around with this message at 14:34 on Aug 22, 2016

MrMoo
Sep 14, 2000

hendersa posted:

5. They were shipping stripped debug builds because release builds "didn't work for some reason". They included the debug C++ libraries in the installer because most customers didn't have them. That would certainly explain the crashes due to asserts.

This is impressive, I presume no advantage was taken of everyone using the debug build either.

necrobobsledder
Mar 21, 2005
Lay down your soul to the gods rock 'n roll
Nap Ghost
That kind of situation is the default state of programming in the real world, sadly. Sometimes they start with good teams that leave, sometimes management squeezed budget on engineering when they didn't have much money at first, the reasons are as varied as the kinds of developers out there.

I was a newbie before and I knew to write tests of some sort and that I shouldn't roll my own container classes for basic data structures until I know better. It's the equivalent stupidity of growing your own grove of trees to make a better bike shed. Not sure if you can say anyone is talented if they let that kind of bad code hygiene happen.

AskYourself
May 23, 2005
Donut is for Homer as Asking yourself is to ...

hendersa posted:

Did something about old-school development operations

Just wondering, did management assigned you time in your regular schedule to do all that work or did you end up doing it for free in unpaid overtime ? Did you get something out of making the company more efficient ?

I had to resign from one of my employer where I tried to improve branches management, continuous deployment, build and testing automation. 50-100 employees company, 10 years old framework. They preferred to just throw more warm bodies to the problem instead of automating. I resigned because I loath that mentality.

Have any tips for how to approach this with management ?


Doctor w-rw-rw- posted:

...
Well, it turns out this developer was a nightmare to work with, and regressed performance, thread safety, product quality, and code quality. But hey, the got features done on time! Oh, and I spent a ton of time constantly fixing stuff because the features would be broken.
...

I've started programming self-taught when I was a teen in front of my Commodore 64 and later got a formal education in computer science in my late twenties. I had understood most of the content of what they taught at university by myself but I learned the official terms for them. What I learned at Uni was mainly about how to structure my taught and how to speak with other educated person. Yeah I learned some neat trick like how a B-Tree work is how to QuickSort but really, the most important stuff you learn it on the job I think.

That said, I've seen really bad and really good programmer coming from formal education and self-taught schools. Most are right there in the middle in term of skills. It's true that self-taught or usually more wild and formal want to apply all the optimal stuff they learned in school.

A programmer job is so much more than just code anyway.

I'm not sure what was my point.

hendersa
Sep 17, 2006

MrMoo posted:

This is impressive, I presume no advantage was taken of everyone using the debug build either.

Nope. While some sort of fancy remote debugging would have been useful in a few cases, the standard method for troubleshooting a customer issue was to provide the customer with another build full of logging fprintf() calls and hope that the log gives you something useful. It has been my experience that "build with debug, strip, and ship" is commonly seen in shops desperate to get a release out that has a lot of uninitialized variables, since debug initializes all of your variables to 0, null, etc. This solves a surprising number of bugs that would not immediately appear as bugs if someone unfamiliar with this quirk was doing a code review.

What, pay attention to compile warnings about using uninitialized variables? Pffft. They had a pragma in the build configuration to silence a ton of warnings!

necrobobsledder posted:

That kind of situation is the default state of programming in the real world, sadly. Sometimes they start with good teams that leave, sometimes management squeezed budget on engineering when they didn't have much money at first, the reasons are as varied as the kinds of developers out there.

I've found this also to be the case in outsourced code that was brought back in-house from overseas when outsourcing turned out to be a disaster.

AskYourself posted:

Just wondering, did management assigned you time in your regular schedule to do all that work or did you end up doing it for free in unpaid overtime ? Did you get something out of making the company more efficient ?

I had to resign from one of my employer where I tried to improve branches management, continuous deployment, build and testing automation. 50-100 employees company, 10 years old framework. They preferred to just throw more warm bodies to the problem instead of automating. I resigned because I loath that mentality.

Have any tips for how to approach this with management ?

I was doing it on my own time at first, but it was becoming more and more apparent after several months of scrambling that it would not work out that way in the long run. That is why I made an appointment with management to present my findings and request time and funding to do training and get everything cleaned up. I am an outlier in this as I got an MBA along the way and made a compelling business case for return on investment for making the change in the way development was done.

Development managers that were excellent devs and who were promoted into management often have a difficult time making the business case for this kind of stuff outside of the claim of "but it is the right thing to do!" Just like development, the business side of things takes mentoring and experience to do really effectively and to bridge that gap between the "business" people and the "engineering" people.

Edit:

To take it to management: Figure out how much time is being spent on rapid releases and the time needed to troubleshooting and fix a bug. Figure out how much of that is "overhead" that could be eliminated by reducing the number of releases. Figure out how many bugs are due to regression. Estimate how much time is wasted trying to reinvent the wheel or looking for info that only so-and-so knows. Apply a dollar value to that time. Estimate the amount of money required for training (and loss of development time during training), additional tools, books for the office, etc. Compare the costs to savings and find an estimated break even point. Estimate what the return on that investment is on multiple timeframes (quarter, year, 3-year, etc.). Finally, suggest what intangibles might result from the improvement in process (improved customer perception of product, give the appearance of outpacing competitors, etc.).

Measure what hasn't been measured and make it easy for management to make a decision that would improve the state of things.

hendersa fucked around with this message at 15:21 on Aug 22, 2016

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.
Welp, my 3 top picks after Google gave me 2nd round invites, so I guess I better get that phone screen with Google scheduled. If I do pass that, what's the turnaround between initial phone screen and in person?

b0lt
Apr 29, 2005

Good Will Hrunting posted:

Welp, my 3 top picks after Google gave me 2nd round invites, so I guess I better get that phone screen with Google scheduled. If I do pass that, what's the turnaround between initial phone screen and in person?

Depends on how lucky you are and how well you do at a phone screen. If you mention to your recruiter that you're actively interviewing with other companies, it should be reasonably quick.

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.

b0lt posted:

Depends on how lucky you are and how well you do at a phone screen. If you mention to your recruiter that you're actively interviewing with other companies, it should be reasonably quick.

:ohdear: Okay, cool, thanks. I don't want to get tunnel-vision with one company obviously, but I also don't wanna gently caress myself out of Google for no reason but poor planning.

AskYourself
May 23, 2005
Donut is for Homer as Asking yourself is to ...

hendersa posted:

To take it to management: Figure out how much time is being spent on rapid releases and the time needed to troubleshooting and fix a bug. Figure out how much of that is "overhead" that could be eliminated by reducing the number of releases. Figure out how many bugs are due to regression. Estimate how much time is wasted trying to reinvent the wheel or looking for info that only so-and-so knows. Apply a dollar value to that time. Estimate the amount of money required for training (and loss of development time during training), additional tools, books for the office, etc. Compare the costs to savings and find an estimated break even point. Estimate what the return on that investment is on multiple timeframes (quarter, year, 3-year, etc.). Finally, suggest what intangibles might result from the improvement in process (improved customer perception of product, give the appearance of outpacing competitors, etc.).

Measure what hasn't been measured and make it easy for management to make a decision that would improve the state of things.

Thank for specifics :)

Doctor w-rw-rw-
Jun 24, 2008

Quality post.

Stinky_Pete
Aug 16, 2015

Stinkier than your average bear
Lipstick Apathy

Good Will Hrunting posted:

Welp, my 3 top picks after Google gave me 2nd round invites, so I guess I better get that phone screen with Google scheduled. If I do pass that, what's the turnaround between initial phone screen and in person?

It was 2 years for me, but it could've been one year if I didn't keep pushing them back until I felt like I was able to hand off my project at my current job. Basically they didn't go past the phone interview I had right before graduating, until they contacted me a year later and said since I had already done a phone interview I could just skip straight to the in-person interview. It takes 2-3 weeks after the in-person to hear if you got in, and then hiring managers who want you on their team set up calls with you to talk about what they do.

I interviewed July 11th and signed my offer last Friday, but I experienced a lot of unusual delays for various reasons.

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.
So do people basically go through the motions at Google and then only apply to other places only once they've gotten rejected? Cause that timeline doesn't really work thrown in the mix with a regular job hunt.

pr0zac
Jan 18, 2004

~*lukecagefan69*~


Pillbug

Good Will Hrunting posted:

So do people basically go through the motions at Google and then only apply to other places only once they've gotten rejected? Cause that timeline doesn't really work thrown in the mix with a regular job hunt.

People who want to work at Google bad enough do yeah. Most people just get other comparable jobs. I actually legit think the terrible recruiting timeline Google has is a culture fit filter to remove people who don't want to work at Google enough to wait. I imagine it probably works pretty well for them as that.

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!
Their timeline seems typical for huge corporations. I think that's broken my brain because people are complaining about their turnaround and I'm thinking, "Situation normal." I mean, it's still poo poo, but I don't know why people are calling them out on it in particular. I guess people still treat them as small and lean.

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.
It's a fine timeline if you're applying to other large corporations. I have no idea how the other "big, good" tech companies do it (I'm thinking mainly Facebook here) but all the "small, good" companies I've talked to really wanted to accelerate the process when I spoke to them and they realized I was fairly competent and was doing a lot of cool and challenging poo poo at my current company.

Stinky_Pete
Aug 16, 2015

Stinkier than your average bear
Lipstick Apathy

Good Will Hrunting posted:

So do people basically go through the motions at Google and then only apply to other places only once they've gotten rejected? Cause that timeline doesn't really work thrown in the mix with a regular job hunt.

Yeah, I only applied to other places while I was waiting for news after my on-site. If not for a recruiter contacting me, my plan had been to work my current job until I had 3-5 years' experience, which I could use to get a job at SpaceX or Tesla. I'm glad I'm moving away from embedded though, because a lot of it is a huge pain in the nads.

Now my plan is to work at Google for 5+ years and then see if I can get in at Valve.

Anyway, now that hiring managers are done with some sort of annual headcount review thing, the process after you've been approved by the hiring committee should be faster. You can probably schedule your on-site a lot sooner after your phone interview than I did, I wanted a few weeks to practice.

pr0zac
Jan 18, 2004

~*lukecagefan69*~


Pillbug
Google's timeline is unusually long because of their committee system for making final hiring decisions which most other companies don't have. Means you have to wait until the next time the committee meets which if badly timed could take a while. Its a trade off that guarantees the decisions are more standardized. Facebook's process is definitely a lot faster but probably more varied between teams with the major delay being some rear end in a top hat engineer taking two weeks to submit feedback.

Stinky_Pete posted:

Now my plan is to work at Google for 5+ years and then see if I can get in at Valve.

5+ years is a long drat time to work for a company, especially if you're considering it a stepping stone. Spending 6 years at Google isn't a bad decision by any means but if you really want to work at Valve you should try sooner rather than later. If nothing else, it'll give you context on what their interviews look like.

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.

pr0zac posted:

Google's timeline is unusually long because of their committee system for making final hiring decisions which most other companies don't have. Means you have to wait until the next time the committee meets which if badly timed could take a while. Its a trade off that guarantees the decisions are more standardized. Facebook's process is definitely a lot faster but probably more varied between teams with the major delay being some rear end in a top hat engineer taking two weeks to submit feedback.

I've given some though to tossing my res over to Facebook but I don't really want to work on Enterprise team which fits my skill set best as far as my location goes.

Stinky_Pete
Aug 16, 2015

Stinkier than your average bear
Lipstick Apathy

pr0zac posted:

5+ years is a long drat time to work for a company, especially if you're considering it a stepping stone. Spending 6 years at Google isn't a bad decision by any means but if you really want to work at Valve you should try sooner rather than later. If nothing else, it'll give you context on what their interviews look like.

Yeah, I thought they wanted more experience but some positions only need a bachelor's and 5 years, so I'll probably apply around when my Google stock is done vesting.

JawnV6
Jul 4, 2004

So hot ...

Stinky_Pete posted:

around when my Google stock is done vesting.
What? Why would this have a termination date?

How it'll work is you'll have your sign-on RSU's. Then every year after that you'll have another grant, probably on the same order of magnitude & time. When your sign-on RSU's are expiring, you'll have built up 4 years of equity grants and likely be receiving the majority of your compensation that way. No matter when you leave, you're probably leaving huge equity on the table to do so.

Adbot
ADBOT LOVES YOU

Stinky_Pete
Aug 16, 2015

Stinkier than your average bear
Lipstick Apathy

JawnV6 posted:

What? Why would this have a termination date?

How it'll work is you'll have your sign-on RSU's. Then every year after that you'll have another grant, probably on the same order of magnitude & time. When your sign-on RSU's are expiring, you'll have built up 4 years of equity grants and likely be receiving the majority of your compensation that way. No matter when you leave, you're probably leaving huge equity on the table to do so.

So you're saying by the time my sign-on stock has finished vesting (4 years), I'll be offered additional RSUs across my career there?

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