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
spiritual bypass
Feb 19, 2008

Grimey Drawer
In my experience, small and weird is more interesting and allows more possibilities for professional growth than big and boring

Adbot
ADBOT LOVES YOU

CPColin
Sep 9, 2003

Big ol' smile.

rt4 posted:

In my experience, small and weird is more interesting and allows more possibilities for professional growth than big and boring

— Julia Roberts, Pretty Woman

Pollyanna
Mar 5, 2005

Milk's on them.


rt4 posted:

In my experience, small and weird is more interesting and allows more possibilities for professional growth than big and boring

True. This is also very compelling.

EDIT: Then again, how much does that matter if they run out of money 6 months in and start letting people go?

Pollyanna fucked around with this message at 16:54 on Feb 26, 2018

Star War Sex Parrot
Oct 2, 2003

ultrafilter posted:

Can you write a thread-safe queue?
Now do it lock-free :getin:

The March Hare
Oct 15, 2006

Je rêve d'un
Wayne's World 3
Buglord

Star War Sex Parrot posted:

Now do it lock-free :getin:

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.
The hardest part of writing a thread-safe queue, in an interview, to me, is fitting it on a whiteboard.

I'm going to write a thread-safe queue without locks when I get home tonight or during lunch but I don't think it's actually that difficult to do? Isn't it just a matter of using something similar to the atomic updates in Java already?

Pollyanna
Mar 5, 2005

Milk's on them.


I've never written a queue, thread-safe or otherwise.

Star War Sex Parrot
Oct 2, 2003

Good Will Hrunting posted:

I'm going to write a thread-safe queue without locks when I get home tonight or during lunch but I don't think it's actually that difficult to do? Isn't it just a matter of using something similar to the atomic updates in Java already?
Yeah a queue is pretty simple. Lock-free data structures get more interesting when you try to do more complex things like preserve order, range scans, fast random access, reverse iteration, etc.

It’s a pretty big research area for DBMS indexes at the moment as they finally try to supplant the cache-unfriendly B+tree.

Pixelboy
Sep 13, 2005

Now, I know what you're thinking...

Volguus posted:

Hah. Sure they have positions that pay 300k (and more, a lot more), but to think you'll get in there right away, hahahaha, got news for you. At least here in :canada: they start at 120k+ . Still good money, no question about it, but nowhere near that mythical 300k.

Dunno, I had an offer at that level. Seattle.

*shrug*

Pollyanna
Mar 5, 2005

Milk's on them.


It's scary to do so, but I might accept the offer at the startup. Only thing left is that it's $90k + some bonuses (that may or may not actually come) for a mid-level in the Boston area - I think that's a little low. How should I negotiate for $100k~$105k now that the offer has been sent to me, and would that be advisable/is it asking too much?

The March Hare
Oct 15, 2006

Je rêve d'un
Wayne's World 3
Buglord
^ Ask for ~10% more than you actually want, if they counter with something reasonable then you should accept it.

Pollyanna posted:

I've never written a queue, thread-safe or otherwise.

Queues are super simple stuff, you should work through CTCI or any introductory algorithm/data structure text. I stayed away from doing it for a while out of a mix of fear and a "sorry, 7th grade math teacher, but can you explain to me *when I will ever use this in real life*?" attitude. I regret having waited, it was honestly a fun exercise and having the knowledge does help–even beyond interview prep.

Pollyanna
Mar 5, 2005

Milk's on them.


The March Hare posted:

^ Ask for ~10% more than you actually want, if they counter with something reasonable then you should accept it.


Queues are super simple stuff, you should work through CTCI or any introductory algorithm/data structure text. I stayed away from doing it for a while out of a mix of fear and a "sorry, 7th grade math teacher, but can you explain to me *when I will ever use this in real life*?" attitude. I regret having waited, it was honestly a fun exercise and having the knowledge does help–even beyond interview prep.

Yes, I've been reviewing basic concepts like CTCI and Google interview questions on my own for a little while now.

As for countering an offer, how do I do this? Is it just "thanks for this offer, but I think I am worth more like ($105,000 * 1.10), can you make that happen"? Jesus, that's almost $120k, that sounds like a lot.

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.
CTCI is absolutely invaluable and makes you think about problems in a new light, at least that's what I found. It's also quite fun to study data structures and things. You can easily, easily power through the boring chapters in under a week if you're beyond complete novice. As far as the later chapters go, that style of prep.. thinking, implementing my own solution, reading their's, actually did help me become a better engineer too. Plus, I've used a bunch of things from it lately!

mrmcd
Feb 22, 2003

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

One of the things I did as prep for my Google interview is to implement a red-black tree from scratch. It's just challenging enough that you can do it in an afternoon, the algorithm is documented hundreds of places, and it's a good way to clear out the cobwebs of working with low level graph manipulation in code. You can also check your work against any number of reference implementations out there (I used Java which has an implementation in the core API).

The main benefit you're looking for here is to actually be able to write down working-ish code for this kind of problem without freezing up, and not just reason about it at a high level. You should to be able to do both in an interview.

The March Hare
Oct 15, 2006

Je rêve d'un
Wayne's World 3
Buglord

Pollyanna posted:

Yes, I've been reviewing basic concepts like CTCI and Google interview questions on my own for a little while now.

As for countering an offer, how do I do this? Is it just "thanks for this offer, but I think I am worth more like ($105,000 * 1.10), can you make that happen"? Jesus, that's almost $120k, that sounds like a lot.

Hi, so happy to see you come back with an offer! You all seemed really sweet and I especially liked that one dog that was in the office. Before we move forward, I'd like to see if we can move the base salary up to N/I would like N additional vacation days/I would like to add a provision to work from home on Mondays and Fridays/I would like to add a provision that I am allowed to wear Adidas track suits to work every day except the third Friday of June.

Or, really, whatever feels like a normal human way to ask someone for more stuff than they have offered you. This poo poo is normal, they are expecting you to counter. Just don't phrase it like a complete rear end in a top hat and you'll be fine.

Pixelboy
Sep 13, 2005

Now, I know what you're thinking...

mrmcd posted:

One of the things I did as prep for my Google interview is to implement a red-black tree from scratch. It's just challenging enough that you can do it in an afternoon, the algorithm is documented hundreds of places, and it's a good way to clear out the cobwebs of working with low level graph manipulation in code. You can also check your work against any number of reference implementations out there (I used Java which has an implementation in the core API).

The main benefit you're looking for here is to actually be able to write down working-ish code for this kind of problem without freezing up, and not just reason about it at a high level. You should to be able to do both in an interview.

A question I enjoy asking is where you would apply a red black tree... and if any other structures can do it. Why choose this one?

Pollyanna
Mar 5, 2005

Milk's on them.


Just sent a request for a pay bump to the startup - let's hope they don't tell me to gently caress off ᕕ( ᐛ )ᕗ

Pixelboy
Sep 13, 2005

Now, I know what you're thinking...

Pollyanna posted:

Just sent a request for a pay bump to the startup - let's hope they don't tell me to gently caress off ᕕ( ᐛ )ᕗ

Eh. They might say "no, original offer stands" -- in which case you haven't really lost anything. In fact, I wouldn't blame a candidate for trying.

It's unlikely they'll pull the offer unless you were really snotty in the response.

The only time it's a problem is when the negotiation pushes them into the next pay/performance band or out of my allowed budget (which is why I never offer at the top end of my budget.)

Pollyanna
Mar 5, 2005

Milk's on them.


Pixelboy posted:

Eh. They might say "no, original offer stands" -- in which case you haven't really lost anything. In fact, I wouldn't blame a candidate for trying.

It's unlikely they'll pull the offer unless you were really snotty in the response.

The only time it's a problem is when the negotiation pushes them into the next pay/performance band or out of my allowed budget (which is why I never offer at the top end of my budget.)

Hmmm, good to know about that last point...

I asked for 33% more than the original ($90k) - although that pushes the salary into the average range for Boston (https://hired.com/state-of-salaries-2018), I expect them to balk at the number. Glad to hear they won't just pull the offer, though.

taqueso
Mar 8, 2004


:911:
:wookie: :thermidor: :wookie:
:dehumanize:

:pirate::hf::tinfoil:

Pollyanna posted:

Ugh, the more I think about it the worse I feel that I'm coming up on 3.5~4 years of experience. I feel like I'm not nearly good enough to claim that I'm that experienced, cause I'm not that great even with that # of years.

You and everyone else pretty much. I have significantly more years of experience than you and I still worry about how I stack up against even people with 3-years experience in an interview.

Xarn
Jun 26, 2015

mrmcd posted:

One of the things I did as prep for my Google interview is to implement a red-black tree from scratch.

RB trees can suck it, AVL or B-tree. :colbert:

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.

Xarn posted:

RB trees can suck it, AVL or B-tree. :colbert:

This is probably about where I'd fail a white board interview. I don't get worried by it, because I haven't touched it ever (even school) but I'd like to review it.

It would be super helpful for us to compile a list of "Tiers" essentially of things in each subject matter you should be expected to know.

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



Got a cold email from a FB recruiter. Tempting, except I don't want to move. Or work for the MAGA chud Skinner box platform. Would like to get paid, though. Hmm.

Xarn posted:

RB trees can suck it, AVL or B-tree. :colbert:

Don't RBs have better cache locality* if you're traversing in-order?

* I'm suddenly not sure this is the right term for 'more likely to have the next thing I want in contiguous memory and therefore in the same page that just got read into cache' so LMK if I'm just making two things up instead of just the advantage of an RB tree

Jaded Burnout
Jul 10, 2004


I'm currently in the process of :yotj:ing. This lot, while individually very nice, as a whole is a place I'm exhausted and drained by. They'd have to triple my rate in order for me to renew this time.

fantastic in plastic
Jun 15, 2007

The Socialist Workers Party's newspaper proved to be a tough sell to downtown businessmen.

Good Will Hrunting posted:

This is probably about where I'd fail a white board interview. I don't get worried by it, because I haven't touched it ever (even school) but I'd like to review it.

It would be super helpful for us to compile a list of "Tiers" essentially of things in each subject matter you should be expected to know.

It would be useful to compile something like that, since it's often hard to know where to start and what order to study things in. For instance, a good way to study trees might be something like:

What does the data structure even look like?
Demonstrate/implement inorder, postorder, preorder traversals using recursion
Demonstrate/implement traversals using iteration
Demonstrate/implement level-order traversal
Look at breadth-first search and depth-first search algorithms, realize those are basically what you did with iterative/level-order traversals
Then you could look at categories of trees, like sorted or balanced, and understand what defines those, and so on.

That's not apparent on its face, though. I came from a different academic background. The most frustrating part of learning "CS fundamentals" for me has been figuring out where to start. The next most frustrating part is struggling to determine whether or not a new idea is central and understandable with what I currently know. A lot of overviews/guides assume that the reader is reviewing and present concepts which are important but too advanced for someone learning from the ground up.

fantastic in plastic fucked around with this message at 21:26 on Feb 26, 2018

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.
:toot: Found a bug in my manager's code today :toot: He wasn't closing a stream and there was no finalize implemented so it was never getting sent to the file system :toot: Good job not checking our prod data for two weeks idiot :toot:

Arguably the best I've ever felt, second to only when my co-worker meant to make fun of that code to me but sent it to our team's channel :staredog:

feedmegin
Jul 30, 2008

Good Will Hrunting posted:

:toot: Found a bug in my manager's code today :toot: He wasn't closing a stream and there was no finalize implemented so it was never getting sent to the file system :toot: Good job not checking our prod data for two weeks idiot :toot:

Arguably the best I've ever felt, second to only when my co-worker meant to make fun of that code to me but sent it to our team's channel :staredog:

Your workplace sounds...adversarial.

Volguus
Mar 3, 2009
finalize() was a mistake. Let's just hope that it will actually get removed at some point (https://bugs.openjdk.java.net/browse/JDK-8165641).

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.
For sure but assuming a class implements it without checking or testing your poo poo and thus neglecting to call 'close' before merging to prod without any review is also pretty stupid.

CPColin
Sep 9, 2003

Big ol' smile.
Everybody should set their IDE to mark failures to use try-with-resources as an error, imo.

Star War Sex Parrot
Oct 2, 2003

Xarn posted:

RB trees can suck it, AVL or B-tree. :colbert:
gently caress you, splay trees forever.

LLSix
Jan 20, 2010

The real power behind countless overlords

What's the typical way to calculate contract-to-hire hourly rates? A recruiter just pitched me a job they're looking to pay $30-$40/hour. Even $40/hour only works out to about $80,000/year and doesn't include any of the usual benefits like health insurance.

Also, it's a contract to hire position at a contracting company which seems... weird.

fantastic in plastic
Jun 15, 2007

The Socialist Workers Party's newspaper proved to be a tough sell to downtown businessmen.

LLSix posted:

What's the typical way to calculate contract-to-hire hourly rates? A recruiter just pitched me a job they're looking to pay $30-$40/hour. Even $40/hour only works out to about $80,000/year and doesn't include any of the usual benefits like health insurance.

Also, it's a contract to hire position at a contracting company which seems... weird.

If they're looking to pay you $40/hr on a 1099 with no benefits, don't bother. Assume the additional taxes/overhead will be 20%, plus whatever health insurance would cost for you.

Thermopyle
Jul 1, 2003

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

LLSix posted:

What's the typical way to calculate contract-to-hire hourly rates? A recruiter just pitched me a job they're looking to pay $30-$40/hour. Even $40/hour only works out to about $80,000/year and doesn't include any of the usual benefits like health insurance.

Also, it's a contract to hire position at a contracting company which seems... weird.

FWIW, I've always found hourly rate * 1000 = annual to work about right for contracting/freelancing work.

hendersa
Sep 17, 2006

Thermopyle posted:

FWIW, I've always found hourly rate * 1000 = annual to work about right for contracting/freelancing work.
Yup, that's what I go with, too. I figure it roughly at 30% federal taxes, 5% for state taxes, and 15% for FICA/social security. Those numbers aren't exact, but it boils down to about 50% of your profit being gone for taxes before even considering benefits. (2000 hours * 50% of the hourly rate) == (1000 hours * 100% of the hourly rate). After that initial baseline, I start nudging it more in my favor via deductions for business expenses that reduce the taxable profits.

Pollyanna
Mar 5, 2005

Milk's on them.


Pixelboy posted:

Eh. They might say "no, original offer stands" -- in which case you haven't really lost anything. In fact, I wouldn't blame a candidate for trying.

It's unlikely they'll pull the offer unless you were really snotty in the response.

The only time it's a problem is when the negotiation pushes them into the next pay/performance band or out of my allowed budget (which is why I never offer at the top end of my budget.)

Interestingly enough, it turned out it was the latter in this case - they countered the "this is what Hired is saying people are getting hired for in the area" with "yes but that's an average of all titles and levels and besides we have junior/mid-level/senior bands here and it looks like you fit into the mid-level band while you're asking for the senior-level band, so our offer is fair (ps use glassdoor not hired)". I don't think I can argue with that :shrug:

CPColin
Sep 9, 2003

Big ol' smile.
Sure you can. They don't get to decide whether their offer is fair. I say double-down and don't budge until they give you a number that's closer.

Edit: I may only be saying this because I'm excited that it's actually raining in California today.

Pixelboy
Sep 13, 2005

Now, I know what you're thinking...

CPColin posted:

Sure you can. They don't get to decide whether their offer is fair. I say double-down and don't budge until they give you a number that's closer.

Edit: I may only be saying this because I'm excited that it's actually raining in California today.

I dare say I know who has the negotiating high ground on this one.

And it's not Pollyanna.

CPColin
Sep 9, 2003

Big ol' smile.
Not with that attitude!

Adbot
ADBOT LOVES YOU

Pollyanna
Mar 5, 2005

Milk's on them.


It is done, then - original offer as it stands will be fine. I tried :shrug:

I'm not going to discount the opportunity, but there's others I'm interested in as well and I'd like to see where they go. I'm just afraid of losing the opportunity entirely, and that the attempt at negotiating would paint me in a negative light with the hiring manager.

CPColin posted:

Not with that attitude!

No, he's right. I don't have the skills or experience to back up my requested salary. That will come with time.

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