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
oliveoil
Apr 22, 2016

Habeeb it.

Adbot
ADBOT LOVES YOU

awesomeolion
Nov 5, 2007

"Hi, I'm awesomeolion."

On one hand I've enjoyed oliveoil spicing up the thread similar to how!! But I think an actual ex-Google person would know more than nothing about how Google works. Anyway grats on your offer and good luck with your side businesses and day trading lol

luchadornado
Oct 7, 2004

A boombox is not a toy!

oliveoil posted:

Finished internalizing DDIA so I could probably get at least one senior level offer at this point[...]

[...]hopefully they will just give me the signing bonus and save both sides the headache.

What about the part of the interview where they try to assess how it would be working with you? Because if you're like this outside of the forums...

Mniot
May 22, 2003
Not the one you know

luchadornado posted:

What about the part of the interview where they try to assess how it would be working with you? Because if you're like this outside of the forums...

Pollyanna, you recently did the whole interview; was there any section where they verified that you weren't a monster?

The last time I interviewed with Google that section was conspicuously absent. Now as a Google interviewer I have asked such questions ("tell me about a time you had a disagreement with a coworker. How did you resolve it?") but I can't tell how many fellow interviewers ask questions like that.

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.

Mniot posted:

Pollyanna, you recently did the whole interview; was there any section where they verified that you weren't a monster?

The last time I interviewed with Google that section was conspicuously absent. Now as a Google interviewer I have asked such questions ("tell me about a time you had a disagreement with a coworker. How did you resolve it?") but I can't tell how many fellow interviewers ask questions like that.

I did a full loop recently and got an interview like what you suggest. It was a full hour, too.

oliveoil
Apr 22, 2016
I skipped all the interviews because I already worked there. And before I left, I got promoted with an S rating. And my former co-workers including my teammates, my manager, and my skip all liked working with me and volunteered to give me strong references on my return.

Fwiw I have always (awkwardly) prioritized my team's success and have gone out of my way to make sure my teammates get credited for stuff we both work on, and I volunteer for the lovely, boring work (endless migrations) that nobody wants to do (there's a reason it took me 5-6 years to go from L3 to L4).

Besides trying to support the people around me in terms of work, I also have always thought it would be cool if everyone I spent my time with came away from the interaction better off, and I interact with people face to face with that in mind.

It's way more fun to be cocky and shitposty on the internet tho

Mniot posted:

Now as a Google interviewer I have asked such questions ("tell me about a time you had a disagreement with a coworker. How did you resolve it?")

I had a weird situation with a coworker once. One day I had a 1:1 with my manager and apparently my TL was complaining that I came in late every day and missed most stand-ups.

Later, I got negative feedback in perf from my TL.

I probably should have pointed out that my TL joined our team way after the stand-ups were introduced and missed the part where I was explicitly told it didn't matter what time I showed up as long as I got my work done (I loved the fact that I could work 7am to 3pm or 1pm to 9pm every other week if I wanted), and that stand-ups were explicitly explained to be optional and only introduced for the benefit of a TPM who said he didn't mind if we skipped them most of the time because he just wanted to have a general idea of how things were moving sometimes.

Instead I was just shocked and agreed to come in by 10am every day for our stand-up. Which tbh made me a lot less enthusiastic about coming in. Being able to change up my schedule on a whim had always made things feel fresh and exciting.

As for being "slow", I asked my TL what he meant and he didn't like that I took a long time to make the changes he often suggested to my changelists (CLs). I was a bit confused because I thought I was doing it pretty fast, and asked how he did his changes faster and it turned out he wrote much smaller CLs, sent them out much more often, and used a different tool to manage revisions.

As a result of his advice, I ended up getting my code committed much faster, as I sent out much smaller, simpler CLs that took less cognitive effort from my teammates to review, and I became able to incorporate suggested improvements much faster than before.

This process actually took months with me continually going to him for more suggestions on how I could do things differently / faster. I figured I could get a better idea of how to improve if I got more feedback, so I just kept asking him stuff.

Following that, my TL stopped complaining about me being slow and if I remember right, he ended up supporting my promotion.

In hindsight, it's possible it took me 5 years to go from L3 to L4 because I was a lovely engineer until my TL helped me out.

oliveoil fucked around with this message at 04:03 on Oct 19, 2021

Achmed Jones
Oct 16, 2004



loooooool

Hadlock
Nov 9, 2004

oliveoil posted:

As for being "slow", I asked my TL what he meant and he didn't like that I took a long time to make the changes he often suggested to my changelists (CLs). I was a bit confused because I thought I was doing it pretty fast, and asked how he did his changes faster and it turned out he wrote much smaller CLs, sent them out much more often, and used a different tool to manage revisions.

As a result of his advice, I ended up getting my code committed much faster, as I sent out much smaller, simpler CLs that took less cognitive effort from my teammates to review, and

My team has a written rule that PRs can't be larger than 20 lines long without explicit written permission* because we have a guy like this on our team who will go dark for two weeks, then poo poo out s 700 line PR across 37 files, and production breaking bugs snuck in as a result

Post written rule, zero production outages

*This isn't strictly enforced, that would be insane, it's more of a spirit of the law, not letter of the law kind of thing

Hadlock fucked around with this message at 11:26 on Oct 19, 2021

Xarn
Jun 26, 2015
That sounds insanely annoying tbh

oliveoil
Apr 22, 2016

Hadlock posted:

My team has a written rule that PRs can't be larger than 20 lines long without explicit written permission* because we have a guy like this on our team who will go dark for two weeks, then poo poo out s 700 line PR across 37 files, and production breaking bugs snuck in as a result

Post written rule, zero production outages

*This isn't strictly enforced, that would be insane, it's more of a spirit of the law, not letter of the law kind of thing

Yeah, I ended up keeping everything as small as possible and following his advice resulted in most of my changes being well under 100 lines not counting tests.

It kind of bothered me that all my peers would continue to send me 300 to 1000-line CLs once I realized how different things could be.

No noticeable change in bugs before and after but testing practices have been super good on every team I've worked on.

Volguus
Mar 3, 2009

Hadlock posted:

My team has a written rule that PRs can't be larger than 20 lines long without explicit written permission* because we have a guy like this on our team who will go dark for two weeks, then poo poo out s 700 line PR across 37 files, and production breaking bugs snuck in as a result

Post written rule, zero production outages

*This isn't strictly enforced, that would be insane, it's more of a spirit of the law, not letter of the law kind of thing

Are you saying that code is checked in directly into production? I understand not wanting or liking huge PRs, they're a bitch to review, but for bugs to make it in production, that's a failure on different levels.

Pollyanna
Mar 5, 2005

Milk's on them.


I’d attempt to verify oliveoil’s report on the process but my eyes glaze over every time I try to read their posts.

oliveoil
Apr 22, 2016
Does anyone know what would be the equivalents of DDIA for

1. Frontend/browser development
2. Frontend/mobile development
3. Machine learning

?

If there are none, does anyone know what the tables of contents for such books should look like? Or what broad topics they would cover?

oliveoil fucked around with this message at 14:57 on Oct 19, 2021

marumaru
May 20, 2013



Hadlock posted:

My team has a written rule that PRs can't be larger than 20 lines long without explicit written permission* because we have a guy like this on our team who will go dark for two weeks, then poo poo out s 700 line PR across 37 files, and production breaking bugs snuck in as a result

Post written rule, zero production outages

*This isn't strictly enforced, that would be insane, it's more of a spirit of the law, not letter of the law kind of thing

i worked somewhere where this was enforced with a github hook.
oh your pr has more than x lines?
lol auto closed

it was loving miserable.

Ensign Expendable
Nov 11, 2008

Lager beer is proof that god loves us
Pillbug
As long as you don't have limits on line length, you can fit your entire PR into one line.

gbut
Mar 28, 2008

😤I put the UN🇺🇳 in 🎊FUN🎉


Limiting lines-per-commit makes far more sense than lines-per-PR.

Hadlock
Nov 9, 2004

Volguus posted:

Are you saying that code is checked in directly into production? I understand not wanting or liking huge PRs, they're a bitch to review, but for bugs to make it in production, that's a failure on different levels.

This guy mostly writes infrastructure terraform/tooling stuff where we don't have a 100% accurate staging environment because of a "get to production to AWS, off heroku first, back in staging environments later" mentality that happened before I started. For tooling his "production" isn't revenue customer facing. Making staging great again is on the roadmap, but of course it's not top priority at the moment

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed
20 lines max per PR sounds really ridiculously low to me. Are you working on something where tests just aren't applicable and the files have zero boilerplate? A one-line change involving 20+ lines of tests is super normal.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


Last job I had a PR where I moved the exception type used in all of our libraries to a different namespace. Because of the validations that were run in the PR, I had to make the corresponding change anywhere that used that exception. I think I touched about 120 files and averaged about three and a half lines per file. I can't imagine trying to do something like that with a lines changed limit.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


oliveoil posted:

Does anyone know what would be the equivalents of DDIA for

1. Frontend/browser development
2. Frontend/mobile development
3. Machine learning

?

If there are none, does anyone know what the tables of contents for such books should look like? Or what broad topics they would cover?

There's never going to be a single book that covers the basics of everything you need to know about machine learning because there's no value in having breadth without depth. Either learn the basics or specialize in something.

minato
Jun 7, 2004

cutty cain't hang, say 7-up.
Taco Defender

gbut posted:

Limiting lines-per-commit makes far more sense than lines-per-PR.

Yes, but with some caveats I think. I think it requires both some discipline on the part of the coder to split commits up into digestable parts, and for code reviewers to know to review commits in chronological order (some don't like it because code they've looked at in earlier commits gets changed again in later commits).

I've always struggled with balancing a PR's essential changes with other refactors and cleanups. For me at least, I will approach a PR with a rough idea of what needs to be done and start bashing away at code, but then at some point I'll come across something ugly and need to decide whether a refactor is required now or in subsequent PR. If it's required now then do that as an intermediate commit, or as a fully independent PR?

For me, the answers aren't always so clear-cut. It depends on the size of the refactor, my peer's turnaround time to review PRs, and whether the scope of the PR is clearly-defined (vs maybe I'll have to make more tweaks later). It also depends on the VCS used; Mercurial makes it super easy to break up large-commits into smaller more-reviewable chunks or linked PRs (so-called "stacked commits"), but Git doesn't give much affordances here.

It's also debatable whether tiny fixes (e.g. typo fixes, type hinting, var name changes) should be addressed when you notice them, or tabled for a later commit. Sure, if they're included amongst other features then they're distracting and irrelevant for the reviewer, but if noting them down to fix later is too much friction then the developer is disincentivized to even bother.


I can empathize with the guy making 700 line PRs across 37 files... it's nice to just start hacking away, gradually beat out all the kinks until everything is perfect, and then toss it all over the wall to the code reviewer. But doing that shows no empathy to the reviewer. Even if that style of development is fine, it should still be good practice to break up the code into reviewable chunks (either intermediate commits or separate smaller PRs).

borkencode
Nov 10, 2004

ultrafilter posted:

There's never going to be a single book that covers the basics of everything you need to know about machine learning because there's no value in having breadth without depth. Either learn the basics or specialize in something.

When Knuth publishes TAOCP volume 9 shortly after his 500th birthday you're going to have such egg on your face.

Rocko Bonaparte
Mar 12, 2002

Every day is Friday!
I'm pretty happy to see more people being keen on the smaller commits. On my personal projects, I can do that just fine since it's just me. Unfortunately, I'm working with a group that isn't very keen on automated testing, let alone continuous integration. They also don't want to do code reviews in Gitlab but rather want a patch sent to them. The person who specifically told me to do this then hosed up applying the patch and just kind of assumed the whole thing was broke without even telling me until I followed up a week later.

Their idea is that you find all bugs and flaws in the code review, and it's a very sacred thing. You think I hosed their god when I said that the code should be demonstrated to look good and run okay before you're even looking at it, and you're mostly answering the question of "am I okay with possibly having to maintain this some day?"

They've complained about getting huge reviews in the past but now I see why. I'm now going bombard them with a multithousand-LOC review when this is feature complete. I guess I could alternately send them the 70+ commits separately as patches!

Hanging up smaller commits for over a week drives me nuts because I can parallelize all I can, but I will eventually have to build on one of those commits. When they want something tweaked, and I end up having to rebase my current work, and also any other cumulative commits along that code path. It's double fun when I am integrating two+ code paths and only one is getting any attention.

Xarn
Jun 26, 2015
You work in a hell hole

Less Fat Luke
May 23, 2003

Exciting Lemon
Yeah goddamn, this is the oldie thread - you should be running away from that place. Life's both too short and too long to work in a place where people are that bad and don't care.

Guinness
Sep 15, 2004

Rocko Bonaparte posted:

They also don't want to do code reviews in Gitlab but rather want a patch sent to them.

That's some RMS-level greybeard poo poo, my god

Does he print out his emails too?

Guinness fucked around with this message at 00:51 on Oct 20, 2021

gbut
Mar 28, 2008

😤I put the UN🇺🇳 in 🎊FUN🎉


A friend, early on in their career, worked at a place where the "CEO/CTO" required the devs to email the files so that he can manually diff and copy-paste the changes into the codebase. As you can imagine, the churn was high and the "company" didn't last long.

xiw
Sep 25, 2011

i wake up at night
night action madness nightmares
maybe i am scum

Cpig Haiku contest 2020 winner
I've been at a (NZ) company doing general web development and sysadmin stuff for far too long now (11+ years) and it's clearly falling apart. I'm looking around at a variety of areas and talking to ex-coworkers to get an idea of what direction I want to jump in instead of 'looking after legacy hosting forever' as i'm interested in either straight product development outside of an agency, or potentially more infosec / testing, and someone suggested contracting. The idea of doing something fixed-term while I get a feel for what I want to do is interesting - where do you even start looking for that kind of thing in 2021? Is this a talk to a recruiter kind of situation?

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

xiw posted:

I've been at a (NZ) company doing general web development and sysadmin stuff for far too long now (11+ years) and it's clearly falling apart. I'm looking around at a variety of areas and talking to ex-coworkers to get an idea of what direction I want to jump in instead of 'looking after legacy hosting forever' as i'm interested in either straight product development outside of an agency, or potentially more infosec / testing, and someone suggested contracting. The idea of doing something fixed-term while I get a feel for what I want to do is interesting - where do you even start looking for that kind of thing in 2021? Is this a talk to a recruiter kind of situation?

Contracting works best if you have a strong network and inbound leads. This is one of the reasons some people regularly give conference talks or do other things for Thought Leadership.

Easiest thing to do is just get a job at a company doing things you're at least marginally interested in.

Not sure what comp look like in NZ, but I would sort of expect a Europe situation where it's perfectly reasonable salaries. Which means you could make more if you could work in one of the US tech centers for an unreasonable salary.

oliveoil
Apr 22, 2016
Can you make a lot more money doing contracting than employment?

I've heard of consultants in other industries making millions of dollars but I'm not sure what niche would pay like that in software development.

I actually have pretty much all the knowledge I need to do leadgen as I've been studying marketing since 2018.

Maybe ML or crypto or some kind of nocode niche? Or how about "cloud"? Are there still a lot of companies who know nothing about "cloud" and aren't really technical places but still want to "digitally transform" or something?

My original plan for a side biz was to take all my leadgen knowledge and make tools to automate leadgen but maybe I can take my software engineering knowledge and monetize that as an expert instead.

Who has the authority and interest in making buying decisions to hire a contractor/consultant though? Previously that held me back from trying this because I couldn't get my head around who my target customer and audience would be.

Also I just got an interview scheduled for a potentially senior level engineering position so we'll see if I end up getting to use it to get a signing bonus or counteroffer from Google.

asur
Dec 28, 2012
There are thousands of multimillion dollar contracting opportunities out there just waiting for some smart L4 to snap them up.

Achmed Jones
Oct 16, 2004



i strongly exceeded expectations, maybe i should go for l7

hendersa
Sep 17, 2006

I had a another call with a different Google recruiter. She was ready to get me on the interview schedule very quickly, but I requested that she push my interviews out as far as possible to give me more prep time. She was OK with pushing out to mid-December, so it looks like I'll move forward with it and give it a shot. Any further delay makes my candidacy "go cold" and I would have to restart the process again. If I put the time into studying and learn/remember some tricks that make me better at my current job, then there's still an upside in investing all that time into study (if it just doesn't work out with Google for whatever reason). We also discussed my needing to work remote for any position that I'd be considering, and the recruiter suggested that I consider both L5 and L6 positions (as there would be more full-remote L5 jobs available than L6s).

Regardless of whether I eventually target an L5 or L6 position, the five "in-person" interview process for embedded development positions at those levels still have the same structure:

- Skip initial technical phone screen
- 2 Algorithm/data structure interviews
- 1 Embedded domain interview
- 1 Embedded system design interview
- 1 "Googlelyness and Leadership" behavioral interview

I'm relieved that the number of algorithm interviews is so low. I'll still bust my butt studying that material, but it is a comfort that more of the material is targeting my area of specialty, instead of focusing mostly on general SWE. If any of you have experienced either of those embedded interviews, I'd like to pick your brain a bit to get a feel for what kind of material they'd be looking for. The "Embedded SWE" prep PDF I was provided with is pretty vague about that part of the process. If it helps, the domain area is probably focusing on OS theory.

oliveoil posted:

Can you make a lot more money doing contracting than employment?
If you don't care about benefits, you can earn twice as much for three times as much work. There's the actual work you do, the proposals and scope-of-work documents that may never go anywhere, trying to collect your money through repeated calls to the accounts payable departments of your clients. Three jobs for the price of two!

oliveoil
Apr 22, 2016

hendersa posted:

If you don't care about benefits, you can earn twice as much for three times as much work. There's the actual work you do, the proposals and scope-of-work documents that may never go anywhere, trying to collect your money through repeated calls to the accounts payable departments of your clients. Three jobs for the price of two!

Right. I was thinking I would handle the sales process, hire $50/hr devs from overseas to do the work and hire an assistant to make the repeated calls to make sure I get paid.

Double the pay means like $560k/yr? I could pay two devs $50/hr and an assistant $10/hr. So that's like $560,000 - $220,000 = $340,000/yr, which is hardly any more than I'm making now...

I guess it doesn't work unless I get cheaper devs but then I don't think I'd be able to just give them all the work. I suppose I'd just be trading a SWE job for a sales and marketing job without benefits. Too bad.

oliveoil fucked around with this message at 21:22 on Oct 20, 2021

JawnV6
Jul 4, 2004

So hot ...

asur posted:

There are thousands of multimillion dollar contracting opportunities out there just waiting for some smart L4 to snap them up.

most salaried folks are really, really poo poo at estimating hours and especially hours per week. I used to hang around a lot of startups and they'd sort of ask folks about this, and most FAANG folks blithely assume they can side hustle 20+ hours a week because they're confusing "work" with coffee breaks and snack closets instead of a startup expecting nose to the grindstone. I recall hearing a 'reasonable' estimate precisely once

its somewhat more common in ME/EE because there are discrete chunks that anyone vaguely technical could take a stab at, you can do schematic-to-layout for $120 an hour or be a CAD jockey for half that.


but for the thread superstar, if this is the level of fiction you're committing for interviews, you are wholly and hilariously unprepared for the non-technical parts of consulting

JawnV6
Jul 4, 2004

So hot ...

hendersa posted:

I'll still bust my butt studying that material, but it is a comfort that more of the material is targeting my area of specialty, instead of focusing mostly on general SWE.

you're smarter than me and have (arguably) a better pedigree, im sorta stunned at this

hendersa
Sep 17, 2006

JawnV6 posted:

you're smarter than me and have (arguably) a better pedigree, im sorta stunned at this
Well, I understand what is going on behind the scenes, so I can't fault them too much for their approach. A false negative on a hire is way less costly than a false positive of hiring someone that won't pan out, so you raise the bar until the false negative level is deemed too high and then back off a touch. Of course, when there is a steady stream of people applying, there isn't much of an incentive to back off on the algorithmic hazing. They're just playing the numbers, and it sets a baseline for their candidate ability expectations. :capitalism:

Also, thank you for the compliment! I don't think I'm smarter than you, though. Just... more stubborn, probably, when it comes to solving problems in my area of experience. The number of hours I've dumped into research, work, and hobby projects in the past is just flat-out ridiculous. When you're genuinely interested in what you're doing, the time goes by quickly! Maybe the experience from all of those extra projects will finally pay off.

If I manage to memorize the right facts and spit them back to my interviewers in the "right" way to ace an algorithm interview, then great. If not, well... I won't take it personally. It just means that both Google and I missed out on an opportunity that would have benefitted us both. But, I'm determined not to let myself be intimidated by this process. I'll prepare for it per the rules of the game and give it my best shot. It's not like the process is a total black box, either. There's enough data floating around out there to do a bit of meta-analysis on other people's experiences to boost my chances.

Tiax Rules All
Jul 22, 2007
You are but the grease for the wheels of his rule.
How are most folks lining up interviews with figgie companies? During my last search, the only unsolicited FAANG recruiters I heard from were Amazon. I'm in New York making 175k at a big bank, way more than I thought I'd ever make. But a few years with a stupidly high salary like I keep seeing on levels.fyi would go a long way if/when the good times finally end. Am I crazy for thinking this way?

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
175 is p much topped out or close to in cash (really 200, 250k is topped out nowadays) but not even close in total comp, everywhere except netflix. so that just banks method of payin thats fuckin you. hows your finance bonus

Adbot
ADBOT LOVES YOU

asur
Dec 28, 2012

Tiax Rules All posted:

How are most folks lining up interviews with figgie companies? During my last search, the only unsolicited FAANG recruiters I heard from were Amazon. I'm in New York making 175k at a big bank, way more than I thought I'd ever make. But a few years with a stupidly high salary like I keep seeing on levels.fyi would go a long way if/when the good times finally end. Am I crazy for thinking this way?

No, get paid.

You can solicit recruiters on LI or apply to the job if they aren't reaching out to you.

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