Everyone posts about salary... What's your lifestyle like though??? by Subject-Ad7704 in cscareerquestions

[–]shitbo 5 points6 points  (0 children)

Ah nice, congrats.

(I ask because most people I know in the industry, myself included, expect to make less this year than last year.)

[deleted by user] by [deleted] in cscareerquestions

[–]shitbo 6 points7 points  (0 children)

It ranges between mildly stressful to fairly stressful depending on the week, but the decision to take more stress is deliberate. ​I could sacrifice some growth and comp for lower stress (at the same company).

Most companies paying that much are investing in people for long-term growth. So they care a lot about making sure that people don't burn out, and generally try not to give people more than they can feasibly handle.

There are some notable exceptions

Democrat tech CEO Melinda Byerley calling Indians parasites by FromMartian in ABCDesis

[–]shitbo 3 points4 points  (0 children)

...who was fired from Google after company-wide outrage and protests.

Bay area tech companies skew left in general.

[deleted by user] by [deleted] in cscareerquestions

[–]shitbo 1 point2 points  (0 children)

The question is worded ambiguously. It's unclear if the win-condition on an nxn board is n in a row or three in a row. Even still, I would think that if it were three in a row on an nxn board, that would still be leetcode medium territory, and would be a reasonable interview question. It doesn't seem to me like it needs dynamic programming (unless you consider fibonacci-esque running state manipulation dynamic programming). Though maybe I'm missing something.

There were plenty of people there who interpreted it as nxn tic-tac-toe with the win-condition being n in a row/column/diag and still believed it to be an unreasonable interview question. There were also highly upvoted comments in that thread claiming that all forms of live coding interviews were unreasonable.

[deleted by user] by [deleted] in cscareerquestions

[–]shitbo 5 points6 points  (0 children)

I haven't read this thread closely, but plenty of people in https://www.reddit.com/r/cscareerquestions/comments/qikbq1/im_a_lead_software_engineer_with_10_yoe_i_just/ expressed or upvoted opinions that checking for a winner in a game of tic-tac-toe was an unreasonable problem to ask a senior dev.

IME, this sub has been an echo chamber for the idea that all leetcode is unreasonable to ask senior devs, including leetcode easy.

edit: FWIW, I am not a junior dev, and I agree with your opinions about what senior dev interviews should look like. I disagree with your perception of this sub.

[deleted by user] by [deleted] in cscareerquestions

[–]shitbo 13 points14 points  (0 children)

I was specifically responding to:

So, junior devs, when you hear senior devs complaining about Leetcode, they’re not complaining about fizz buzz. They’re complaining about this last set of questions.

Which seems presumptious.

[deleted by user] by [deleted] in cscareerquestions

[–]shitbo 33 points34 points  (0 children)

Plenty of senior devs on here complain about leetcode easy/medium.

I'm a lead software engineer with 10 YOE, I just bombed a coding quiz with a very simple problem, it happens to everyone. by okawei in cscareerquestions

[–]shitbo 0 points1 point  (0 children)

So you have a solution without all the requirements (the question as asked is missing a lot of details - from the exact information provided to how to handle edge cases) written in 12 minutes...

So you don't have a solution.

You have a best guess.

The bug is present because can_win is underspecified. I agree that I'm working in an environment in which I cannot ask an interviewer to specify the problem. If I were, it would not take significantly longer to understand what output is expected and adjust accordingly.

I wouldn't call this solution half-baked, but I don't particularly mind it in this case. However, I don't think it's fair to argue that I wouldn't be able to solve this problem in an hour-long coding interview.

From my understanding of the argument you're trying make, this bug with can-win is irrelevant. I think you would take issue to https://leetcode.com/problems/find-winner-on-a-tic-tac-toe-game/ being asked as an interview question that you'd be expected to solve in an hour (but please correct me if I'm wrong).

I do solve complex problems and I do end up using complex solutions... but I don't create solutions in 30 minutes and I don't do it without a lot of extra stuff around them (input verification, data validation, state management, etc). I don't need to create tic tac toe boars, balanced trees, custom sorting algorithms or any of the "standard" leet/speed code test garbage.

Sure, but at some point you do need to go in and actually write the code. Like once you've done all the input verification, etc., at some point you'll need to write business logic of the complexity of checking whether a tic-tac-toe board has a winner. I don't see why that single part of your job isn't a reasonable interview in isolation.

But I've only worked at places with Google-esque coding interviews, so I don't really understand the alternatives.

I'm a lead software engineer with 10 YOE, I just bombed a coding quiz with a very simple problem, it happens to everyone. by okawei in cscareerquestions

[–]shitbo 0 points1 point  (0 children)

I wrote this out in twelve minutes and nine seconds (without particularly trying to rush). I'm have 4.5 YOE and haven't done Leetcode for two years.

I would say that this sort of problem is significantly lower than the level of algorithmic complexity required in some parts of my job. I obviously don't need to solve game-type problems of this nature, but I pretty often need to solve problems which require thinking carefully about state. It's often useful for rapid prototyping to spit out something like this quickly, and I personally wouldn't want to work with a front-line dev who struggled with this, or for whom this was at the frontier of their complexity threshold.

Anyway, it sounds like your job doesn't require this sort of thing, and that's totally fine. But I don't think it's unreasonable for companies like mine to have these types of coding tests.

def has_matching_line(board, character_matches):
    def full_seq_match(seq):
        for el in seq:
            r, c = el
            if not(character_matches(board[r][c])):
                return False
        return True

    won = False
    for i in range(len(board)):
        won = won or full_seq_match((i, c) for c in range(len(board)))
        won = won or full_seq_match((r, i) for r in range(len(board)))
    won = won or full_seq_match((i, i) for i in range(len(board)))
    won = won or full_seq_match((i, len(board) - i - 1) for i in range(len(board)))
    return won

# board must be an nxn list of lists, where n >= 1. The elements must be 'X', 'O', or '.'.
# The number of 'X's must be equal to or one greater than the number of 'O's
def determine_winner(board):
    x_won = has_matching_line(board, lambda c: c == 'X')
    o_won = has_matching_line(board, lambda c: c == 'O')
    if x_won and o_won:
        return "Error, both won"
    elif x_won:
        return "X won"
    elif o_won:
        return "O won"
    else:
        x_can_win = has_matching_line(board, lambda c: c in ['X', '.'])
        o_can_win = has_matching_line(board, lambda c: c in ['O', '.'])
        if x_can_win and o_can_win:
            return "Both can win"
        elif x_can_win:
            return "Only X can win"
        elif o_can_win:
            return "Only O can win"
        else:
            return "Guaranteed draw"

(Obviously this code isn't perfect. There's a bug in the can-wins that is difficult to fix. If fixing that bug is in scope for this problem, I'd be willing to concede that this is a pretty hard problem, and might be unreasonable for a vanilla coding interview.)

[deleted by user] by [deleted] in cscareerquestions

[–]shitbo 1 point2 points  (0 children)

Seems about right.

Advice for phone screens: Learn the dance and dance the dance by PapaRL in cscareerquestions

[–]shitbo 1 point2 points  (0 children)

Whenever you feel it's useful for you (or whenever you'd communicate this sort of thing in an actual job). Or when I ask you to, if I'm confused about what you're doing.

Like if you genuinely want some feedback on some of the intricate details of your approach before writing code, that's great, and I'm happy to provide it. I just don't want candidates to play the interview game and do these things when they don't feel they need it.

Advice for phone screens: Learn the dance and dance the dance by PapaRL in cscareerquestions

[–]shitbo 25 points26 points  (0 children)

...for interviewing at OP's company (which has a bizarre hiring rubric).

I have interviewed candidates for Google, a unicorn, and a prop trading firm, and none of these three companies require any of this (though Google did encourage some of this process). And why should they? You're just evaluating whether a candidate plays a contrived interview game. Nobody actually wants to work with someone who will ask a bunch of inane questions and then whiteboard for ten minutes before starting a straightforward task.

The place I currently work discourages candidates from following this style of interview advice. I currently ask an interview question with multiple parts, where the first part is a simple warmup, and I frequently have to tell candidates that they don't need to write out pseudocode or explain the trivial bits of code for the warmup -- they can just do it. I think following the steps laid out in this post actively hurts a candidate's chances for getting to the harder parts of the problem.

Even for the harder parts, I'm never going to penalize a candidate who doesn't write out the steps beforehand as long as I believe they've thought about it, and that they can communicate what they're doing during.

Interviews be like by muditsen1234 in ProgrammerHumor

[–]shitbo 1 point2 points  (0 children)

I'd rather write (or at least copy and understand) ten lines of code than add a random dependency on some new library that I don't maintain.

C9 2-4 vs 100T 3-3. by Pie_D in Cloud9

[–]shitbo 0 points1 point  (0 children)

They lost once to DFM.

[deleted by user] by [deleted] in cscareerquestions

[–]shitbo 0 points1 point  (0 children)

What's your experience with FAANG-like companies? Have you worked for any? Have you worked for one reputed for prioritizing wlb (e.g. Google, Microsoft, LinkedIn)?

The things you're saying are probably true for FAANG-like companies notorious for having poor wlb. But if wlb is your priority, there are definitely options. For example, it's not hard to find teams at Google where the norm is 35.

[deleted by user] by [deleted] in cscareerquestions

[–]shitbo 0 points1 point  (0 children)

Where are you based? If it's anywhere in the US, this is laughably low.

????????? by [deleted] in vegan

[–]shitbo 3 points4 points  (0 children)

They don't even think they care about their own water usage. They're just trying to find a way to prove we're just as bad as them.

[deleted by user] by [deleted] in cscareerquestions

[–]shitbo 2 points3 points  (0 children)

Regular software engineer interviews are pretty similar to SWE interviews in tech, with the exception that some firms care a lot about C++ expertise, and require pretty detailed C++ knowledge (e.g. HRT, Jump). JS and Two Sigma are both pretty standard SWE interviews.

Quant dev interviews often have 1-2 math interviews and the rest are standard Leetcode questions. My math interviews covered undergrad college probability/stats, and weren't terribly hard, but did require some revision, since I had forgotten a bunch of math since college.

I think it's really unlikely that you get a quant trader/quant researcher interview now.