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
Mniot
May 22, 2003
Not the one you know
That is an awesome list of questions!

And I second the emphasis on asking about source control. "None" would be a total nightmare, but getting stuck with Perforce was not much better.

Adbot
ADBOT LOVES YOU

Mniot
May 22, 2003
Not the one you know

Skuto posted:

Although I prefer git, I've had a consulting gig that involved working with Perforce doing big merges day in and out. I didn't find it too bad. Like, most stuff just worked, and the merge UI was good.

The problem I had with it was that it's so centralized that the Perforce admins are a single point-of-failure. Our server usuall went down once a week for several hours each time (that blocks you from starting edits and causes the GUI client to jump to the foreground with an alert that it can't connect).

The CLI tools were a pain to automate, too. Anyway, I think consulting makes some difference, too. When I'm a FTE I feel like all the tools are my tools and it drives me up the wall when they (a) don't work my way and (b) I can't fix them to work my way. The one time I was a contractor, the client had lovely tools and made dumb decisions but it didn't bother me very much.

Mniot
May 22, 2003
Not the one you know
"Brilliant enough to be founding a start-up, but doesn't want to" sounds like Google's ideal employee.

Mniot
May 22, 2003
Not the one you know

down with slavery posted:

I mean, publically traded corporations are by law working for the shareholders, not the employees or anyone else.

I recall reading that this is not actually true, which is believable because I recall a time when "it's the law!" was not the excuse trotted out for a company screwing its employees.

Mniot
May 22, 2003
Not the one you know

in_cahoots posted:

We're trying to release a new product, and for various reasons I am the only person who knows how to tell if the code is working as expected.

I've been in this situation before (by being the only person who cared about devops-y stuff). What worked for me was to come in Monday and say, "it seems like we should spread this knowledge out a bit among everyone! Let me give you all a tutorial on how to run the tests/deploy the code/whatever." Now it's their problem when they need to do something on the weekend.

This assumes, of course, that you trust them not to wreck the servers and that you're not hoarding knowledge for job security.

Mniot
May 22, 2003
Not the one you know

Milotic posted:

TL;DR: Good book on "Problem on linux in qa or production, what do?"

Are you a developer or a sysadmin? If you're a developer, your problem is probably file permissions ("ls -l") or the system's overloaded ("top") or you're out of disk space ("df -h"). If you're a sysadmin, there's a lot more to know, and you start having to care about what distro you're in.

I don't know any good books. I get an error message, either on the command line or in a log file (well-behaved programs write to logfiles under /var/log/) and I paste it into Google.

Get Vagrant and build yourself some Linux VMs to play on.

Mniot
May 22, 2003
Not the one you know

zerofunk posted:

Has anyone gone to AWS re:Invent before? Just wondering if people have found it valuable in the past.

I went last year. It's neat as a cultural event to be part of the massive gathering. The sessions are excellent, but you can find them all online later. You can do some good networking there if you focus on it. They announce a lot of cool new things and you can come back to your office totally fired up about handing more cash to Bezos.

I felt it was pretty borderline because I don't gamble or party. The official AWS party featured Skrillex, but it was too loud and I went to bed before he ever came on. If you contact big vendors in advance, they will ply you with drinks and you can go shoot machine guns with strippers or other goofy stuff.

Mniot
May 22, 2003
Not the one you know

zerofunk posted:

Thanks. Kind of the on the fence about it. We don't use AWS right now (just some testing), but there's a strong possibility we'll start. Client requests for us to provide a hosted solution for our software instead of installing it on premise are picking up. On the other hand, this is probably at least two steps down the priority list on big things I should be looking at.

Some of the Bootcamps seem interesting. Not sure that I'd be able to get approval for the additional cost though.

I did a bootcamp and thought it was pretty mediocre, especially since they had some free self-run bootcamps at the main conference that were mostly the same. But AWS has a giant booth in the vendor hall where you can talk to their support staff, who were excellent. You can ask terrible questions like "uhh I need, like, a website and then it does some stuff in the background?" and they'll sketch everything out for you.

If you're near SF or NYC they host frequent free events on specific topics. All the ones I've been to were fantastic: they send the engineers who work on the product they're describing and they work hard to answer all your questions.

Mniot
May 22, 2003
Not the one you know
About a year ago, my office hired a bad VP who totally broke our hiring process before getting fired. (Basically: he opened the floodgates to lovely recruiters, posted job reqs that didn't make any sense, failed to screen anyone properly so I'd get into a "final" interview for a senior engineer and discover that they could not write a single line of code, and then tried to get his lovely friends hired after we were worn down on interviews.)

Since then, we've only hired two engineers and I'm not happy with either. They're not terrible at writing code, but they spend a lot of time complaining that our code is bad or that they need more documentation (and not fixing the code they don't like or trying to improve the documentation that's confusing them).

I'd love for us to hire a few junior developers, because I imagine that would help tilt the atmosphere back in a happy direction. Also, because I feel afraid that if we hire someone senior and they're another whiner, we'll be unable to dislodge them and I'll have to quit. We phone-screened a junior developer recently who I thought seemed fun to work with, but my coworkers vetoed them for being bad at writing code. I'm worried that any junior developer is going to fail to meet their expectations.

I think we needed to have started searching back in March when we could have tried to get some new college grads, but instead we hired some internal recruiter who doesn't know anything about software and has been screening people out for not having 6 years of Java (something the bad VP wrote down; we've never used Java anywhere in our code).

This is mostly just a gripe-post, but am I freaking out over nothing, or am I hosed? I love all the other developers, I get to write some nice code, and the product is neat, but I feel like I'm hitting a low spot right now.

Mniot
May 22, 2003
Not the one you know

Skandranon posted:

It doesn't sound like nothing, it sounds like your company is really hosed up. Between the senior devs who would rather complain than work, the inability to hire anyone junior, and the internal recruiter who wants Java in a non-Java shop, I don't see any way you can make your problems go away, unless you quit. Is the company large enough to get moved to a project that doesn't suck?

Nah, it's a little start-up. I'd like to salvage things, and I feel like I've got enough political clout to force through some changes. (Which is part of why I'd like to salvage things. What's the point of earning trust and respect and then quitting to go somewhere nobody knows me?) I just don't know what they should be. Like, if I said, "fire [bad engineer #1] or I quit," I think they'd do it; but I don't think I could demand both their heads and I don't have any way to pick up the slack from his departure. I've started cutting the internal recruiter out of the loop on hiring, but my concern is that I'm starting too late.

Mniot
May 22, 2003
Not the one you know

genki posted:

I can't actually tell from your posts how many people are really in this company. You say you love all the other developers, how many people is that? Do you only work with these two new engineers, or are you just not happy with those two in particular? What does everyone else think?

We've got 10 SWEs and 4 QA engineers, so that's 11 people I work pretty closely with and am happy with. The two I dislike mostly work on their own projects, largely separate from the rest of us. I think the rest of the engineers share my feelings, but much less strongly because "I can't believe we aren't using Hadoop" or "this table is too wide" all come back to me. I may also be too sensitive about my code; I wouldn't get so worked up if they used a different tone to say the same things.

genki posted:

Are there any standard performance or peer reviews? Code reviews? etc.

Ha ha, no. We're pretty uncoordinated.

I've not had good experiences at other jobs with performance reviews. They've all been, "we think you're really great. Uh, but by that we mean 'meets expectations' so here's your CoL raise." We probably should start doing them at my current office though.

What's a peer review like? I like the sound of it.

We do informal code reviews (just via GitHub, not an everyone sits down thing). With the other engineers, this is pretty smooth: someone spots a bug or suggests a better way or says "I don't like the syntax here how about this" and the submitter fixes up the code. Lots of push-back during these code reviews had a lot to do with the grumblers moving to their own private projects.

genki posted:

I'm also not clear whether political clout is a matter of actual authority based on your position, or just connections with people in power. The latter situation seems a bit more tenuous than the former, I'd be hesitant to use the former unless it's basically "me or him".

What I mean is that I've been here a while, and I believe I am liked and trusted. And that management understands that if I were to rage-quit they'd be hosed (nothing special about me; we just have some hard deadlines and not enough spare developers). That's all some very tenuous clout, but I feel like I should practice being more assertive and that the risks to me aren't large.

Thanks for the replies. Feels better to try to explain than just stewing.

Mniot
May 22, 2003
Not the one you know

down with slavery posted:

I'm not saying this isn't the case but pretty much everyone says this and it's rarely true

You're right. "hosed" is an overstatement. More realistic is "if any developers left right now, the product launch would be disappointing."

return0 posted:

If this is true you should find another job and quit, if they'd be hosed they'd offer you a huge raise for sure. If not, hey, you get another job. Yay!

Mmmaybe. I think if we follow this thought far enough then anyone doing sysadmin work should make infinity money (maybe true?) because as soon as they've got all the system keys they ransom them.

It also follows that all employees should engage in collective bargaining. Having all your developers quit at once would wreck you, so we'd all get sweet raises. It's really "we should go communist", right? Yeah, I'm on board with this plan.

Mniot
May 22, 2003
Not the one you know

ProSlayer posted:

So I guess my question is, should I ask for the senior title? How do I show career growth on my resume if all the titles are called Software Engineer, even though the pay is drastically different.

When I'm revising my resume, I use whatever titles I think best communicate to the prospective employer. I don't consider what my job title actually was. Therefore, I don't care what title I'm getting at a new job except where it affects what work they're going to let me do.

(For example, I've had "Computer Scientist" from a company that wanted to look more academic on their contract bids, but I spell it "Senior Software Engineer" because that's the kind of work I was actually doing. And my stint as a "Soft Dev Anal II" is "Software Developer".)

Mniot
May 22, 2003
Not the one you know

Pollyanna posted:

The Twitter code screen was awful. First off, the guy had a very thick accent, and it was hard to understand him.

I had a phone screen once with a guy with a pretty thick accent. He's asking me to talk through some toy coding problems out loud (just on the phone, no shared screen):

Interviewer: "Let's say that we have a C string and we want to re-work it, OK? How would you do that?"
Me: "Do you mean you just want to arbitrarily rearrange the characters?"
I: "Yeah. Like, switch two characters."
M: "OK, well I have an extra `char` variable, and I copy the first value there, copy the second to the first position and copy the held char to the second position."
I: "Yes, that's right. Now how would you re-work a string that has several words in it?"
M: "Umm... well a string is a string and we're just moving characters, so... exactly the same way."
I: "Right, but how would you re-work the string? Exactly how?"
M: "Just like before: you swap any two chars you want using an intermediate variable."
I: "Yes, but how do you re-work the whole string?"
M: "Make a loop? Swap two chars as much as you like."

He gave up on me just as I realized that he was saying "reverse a string" and it was the problem where you first ask the candidate to reverse a string, and then you ask them to reverse each word of a string while keeping the word order the same ("olleh dlrow").

Mniot
May 22, 2003
Not the one you know

Cryolite posted:

They got back to me today and asked for my salary requirements. I broke my own advice not to reveal numbers and told them what I make, saying my objective is +5k. After conferring, they got back to me. They want me, but can only offer 25k less than what I make now. Their other senior engineers either don't make as much as I do or make just as much as I do and have worked hard to get to where they are now, so it wouldn't be fair to them to hire me even matching my current salary. What the hell?

Well, if you can't afford to lose 25k, then just tell them and leave it at that.

You say "dream position", though, so maybe it would be the money (e.g. they're doing Good Deeds or they're expecting 30 hrs/week, etc). Since they said they thought you were great, you've got leverage to talk to them more openly. Ask how much they're bringing in, where that money goes, and how much the executives get paid. Ask how much stock the older employees got and how much you'd get. Talk to one of the engineers and then ask them why they work at a company that pays so far below market rates.

Mniot
May 22, 2003
Not the one you know

ultrafilter posted:

You don't want to confront the guy directly in case it turns out that he's missing work because of chemotherapy or some similar issue. That can get real awkward real fast.

I thought this was a joke-post, but you seem to have two other people in on it?

Just ask. Christ. "Hey, what's up with you on Mondays and Tuesdays?"

Also, what's the actual problem? You want to know if it's cool for you to drop to 3 days a week too? You don't know how to answer when people ask "where's <coworker>"? You want more code-review time than you're getting now? The conversation shouldn't be awkward if you go into it knowing what you want to know.

Mniot
May 22, 2003
Not the one you know
Well here's the original post with the parts that seem significant to me:

lmao zebong posted:

I have a question about how to deal with a current situation I'm having with a coworker.

I am part of a small two person team that works on a client version of a product my company is putting a lot of emphasis on. I came onto the project about six months after my coworker started working on it from scratch, and he built a ton of the underlying infrastructure and modules we use daily. He is an amazingly talented guy, and I've really enjoyed working on this project with him because I learn all the time looking at his code and he has held me to a pretty high standard for code formatting and how I approach problems, which I really feel has strengthened me as a developer.

However, for the last two months or so he stopped showing up on Mondays and Tuesdays. I thought it was a temporary thing because he really burned it at both ends for a while getting everything ready for our alpha release, and our manager who oversees all the client devs was out on an extended vacation so I figured he was taking it easy while he could. It also wasn't like the project was slipping because of it, he was putting in great work on the days he did come in and everything is still on schedule. It was frustrating for a bit because he is totally AWOL on those days, and would miss weekly scheduled meetings and not respond to emails until he was back in the office. However, this has not stopped since our manager got back, and this week it's been even worse since he has not shown up at all this week or responded to any emails.

Barring the situation that something bad happened, how should I deal with this? Should I deal with it at all? The product manager has definitely noticed and commented to me that it's hard scheduling meetings when the dude just doesn't show up to the office, but I don't think the dev manager has noticed how frequently he ghosts or maybe just assumes he's working from home a lot. I really don't want to be the guy going to our manager and saying "this guy isn't showing up to work half the week, reprimand him", but at the same time it's sometimes hard for me to continue working on my tasks because I want to have a discussion about refactoring something he created, and there is no way to talk to him about it.I feel like this can't go on forever, should I just hope our dev manager catches on soon and handles it?

Everything's on track, so you don't need to worry about covering your rear end. Management is aware, so you shouldn't be fretting about that (unless it's part of your job to track absences). You say you enjoy being a part of this two-person team, so your first priority should be to not piss off half the team (that seems like it would make the team less fun!).

The problem you identify is that there are some tasks which could slow down if your coworker continues this schedule. Since you want to have a discussion about refactoring, why not discuss more than one thing?

You say, "I never see you on Mondays and Tuesdays anymore. <make eye contact>" At this point, normal coworkers would say something. ("I'm working from home then." or "I have a lot of doctors appointments." or "Yeah, I'm not in on those days any more.") Then you say, "oh. Well, I want to talk through refactoring ten thousand source files, and the product team wants to have a ton of meetings. How do you want to schedule things?" If, at any point, you coworker says something like "gently caress off I'm never talking to you again," then you should look for management/HR.

Mniot
May 22, 2003
Not the one you know

volkadav posted:

ordinarily just sitting in an office and cranking on code I would've solved things of that caliber without having any trouble (evidence: I ship often, and complex systems at that), but get me in front of a whiteboard and it's like panic-flop-sweat-engage-retard-mode time.
Have you tried telling the recruiter this? I've had people with nice-looking resumes who crash and burn at the whiteboard and they they say "yeah, I'm really bad in front of a whiteboard ". And I just wonder why they didn't try to set my expectations in advance, because by the end of the interview it's much too late.

Mniot
May 22, 2003
Not the one you know

Skandranon posted:

If setting expectations that way was accepted in any significant way, wouldn't it completely invalidate the concept of whiteboarding? At that stage, you might as well just not bother with the entire exercise for anyone.

I don't know. But if you're terrible at the whiteboard and you know it, why not angle for something else? Like, ask for a harder problem and an hour and a computer.
I've never had someone do that, so I'm not sure how I'd react. The only thing I'm sure of is that if we say, "the interview consists of 30-minute segments of whiteboard coding with various engineers" and you say "ok" and then you flub it you are 100% not getting the job.

Mniot
May 22, 2003
Not the one you know

B-Nasty posted:

I agree in principle, but I find it somewhat humorous that the few posts following yours talk about how an interview for a non-Jr position programming in X language would involve specifics of said language up to and including deep framework trivia, non-obvious best-practices, and opinions on various libraries/tools.

I guess once you've moved on to a management position (e.g. <30% coding), that stuff is not really relevant or necessary to get the job, but if you want to stay close to pure engineering, I don't see how you can be well-versed on many stacks at the same time.

I don't see that as incongruous. If you've been working in Java for the past 3 years then you should have developed some depth in the language. If you apply for a Java job with zero Java and "5 years Python" on your resume, then you should expect trivial Java questions and deep Python questions (or just algorithm questions if they don't know Python).

I don't think most people can be well-versed in many stacks at the same time. I did Java for 3 years but haven't touched the language for the past 3 years. I don't know the answers to necrobobsledder's quiz, but if I was applying at a Java shop I could study up pretty easily because I used to know them. And if someone described a problem to me and asked "why would Java be a good or bad fit for this?" I could probably still give a good answer.

Mniot
May 22, 2003
Not the one you know

RICHUNCLEPENNYBAGS posted:

What I'm wavering about is, I have a pretty short work history for my position and my company is rather small (at our peak we'll have 3 developers working on something at a time). It seems like it's pretty unlikely that I'd be able to be "software architect" at a much bigger company. Does it look like I'm going backwards, career-wise, if I end up taking a "software engineer" or similar title? I feel like maybe I could reasonably try to be a "senior" or "principal" engineer or something like that, given my current status, but I have a hard time finding people with similar situations to me so I don't know how this looks to people on the outside.

It's pretty clear from a resume when someone's "architect" or "principal" title means "smartest/best-liked of the two engineers in the company". It won't look like you're going backwards. It's possible that places you're applying to will worry that you think you're the greatest when you're not, but if you've got multiple successful projects I'd expect you won't have problems getting a callback.

Mniot
May 22, 2003
Not the one you know

kitten smoothie posted:

If I get an offer from these guys and leave my job after ten months, is that going to follow me around for a while and look really bad?

I don't think a single 10-month stint matters at all (though you should have some kind of answer for "why'd you leave that place so soon after starting?"). What matters is when it looks like a pattern because you've spent the last 4 years at 4+ different shops.

If have two 10-month stints after graduation and nothing else, that starts to look like you interview well but suck as a regular employee. If you have two 10-month stints after a couple 2+ year jobs, that seems plausibly like you've just had some bad luck or good offers.

Mniot
May 22, 2003
Not the one you know
Most places are honest when they offer contract-to-hire. The problem is that it's a bad sign for other reasons. If they're posting C2H jobs, it probably means they suck at vetting candidates and you'll have lots of bad coworkers. If they post a regular job but offer C2H then it means they didn't love you very much and you should think twice about jumping in with a company that starts out lukewarm on you.

Mniot
May 22, 2003
Not the one you know

lamentable dustman posted:

Anyone ever do a HackerX event? Randomly got an invite to on in Charleston. Not really looking for a job as I got a nice remote job that lets me live here while getting paid at bigger city prices.

They worth the time?

I went to one for my company trying to recruit and thought it was a waste. You barely have time to explain the company/role you're hiring for and none to make a connection with the candidate based on that. But if you're invited as a developer, I would go. Meet other engineers, chat a bit, and network. Eat some cheap pizza and don't worry about the 30 second interview you get with some company.

Mniot
May 22, 2003
Not the one you know

pr0zac posted:

In other news, taking 9 months off to study in order to try to get a job at Google is apparently NOT a good method.

I spent a while looking at the banner picture on https://googleyasheck.com/ because I was sure he would have photoshopped his face over at least a few of the employees.

Mniot
May 22, 2003
Not the one you know

Jose Valasquez posted:

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

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

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

This seems like "but you could memorize FizzBuzz!"

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

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

Mniot
May 22, 2003
Not the one you know

Thermopyle posted:

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

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

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

Mniot
May 22, 2003
Not the one you know
Toxic review process can be a circular thing. We had a new developer who opened a PR that was full of stuff like

code:
if(foo === bar || baz !== qux){solveFor(foo, baz); return qux;}else{return null;}
We were doing GitHub-based code reviews, so someone posted "if-statements shouldn't be stuffed onto one line". I was the main dev in the group at the time, so I suggested that we sit down and just pair-program it so he could get a feel for the code (all the rest of the code in the project followed a standard style for C-ish JavaScript code). He said that that would take too long and cranked out a second iteration:

code:
if(foo === bar || baz !== qux)
{solveFor(foo, baz); return qux;}else{return null;}
When we didn't like that either, he said that the rest of the code looked like poo poo and he couldn't figure out what we wanted and that the code review was a waste of time. Our manager said, "I bet this would be more productive in person!" But it was not.

Mniot
May 22, 2003
Not the one you know

Steve French posted:

The first person commenting should have just provided a suggested formatting/rewrite in the comments.

Probably. I think we all assumed that someone who was coming in with a "senior" title would just know that you should write code in the same style as the rest of the file you're editing (and that if you hate it you should have a "why the project style needs to change" meeting that's not part of adding a new feature). The code review was short, so the developer got grumpy, so the subsequent reviews were more frustrated, so everyone's feelings got hurt.

Mniot
May 22, 2003
Not the one you know

CPColin posted:

Or when I asked for clarification on why something was done a certain way and the developer explained why, right before changing the code to something else.

Huh? Was this as dickish as I'm imagining it?

Mniot
May 22, 2003
Not the one you know

Pollyanna posted:

Say I want to work with a specific technology (language, framework, etc.), or with a particular range of technologies. Should I look for jobs specifically about working with those technologies, or is it better to get any job that I qualify for and work on that technology on the side? The problem with the latter approach is that I don't see how to spin that into a job in that technology.

Get on meetup.com and find some groups. Go to some talks and hope that they don't suck (my hit rate's been about 50/50) but most importantly: force yourself to talk to at least one person. I wouldn't expect this to have any immediate returns, but it'll start to get you involved in the community and many people at a meetup will be looking to hire someone at their company doing $meetup_thing.

I few months ago I wanted to learn a little about Go, so I went to a local meetup. I met a guy there who was hacking on a DB client library. He showed me some of the code he was working on, and I found a bug that we fixed together as a little pull request on the library's GitHub page. I didn't enjoy Go, but if I had that would have been a good step towards getting hired at a Go shop.

There are some domain-specialized recruiters and they tend to be better than the usual bunch. I don't know how enthusiastic they are if you don't already have some experience in the field, but I can send you contact info for some Boston-area recruiters who hire for functional-programming jobs if you like. I've mostly gotten solicited for Scala.

Mniot
May 22, 2003
Not the one you know
If you're just trying to get past an HR block, you can lie. List "Spring" on your resume and either it doesn't come up in the interview or you say "yeah I played around with it a bit; seems easy!" and hope that plays well with the interviewer. There aren't really any repercussions for doing this.

Sometimes, though, when it's a "senior" position and asks for some technology it's because they want someone to lead them on that technology and they're not OK with hiring you and then waiting a couple months for you to learn all the best practices and make all the connections to be that leader.

Mniot
May 22, 2003
Not the one you know

Vulture Culture posted:

Corollary: 100% of the time, you'll find it's much easier to negotiate salary/benefits for a job you don't need in the first place.

This works when you're at a job that you're fine with going back to. If your thought process is "couldn't I just quit this shithole and figure things out later?" then you've already given up the ability to walk away from anything less than ideal.

What I've done in the past is give myself a timeline of 3-6 months -- a little bit less than you think it'll take to get fired -- then job-hunt hard and let your work slip as needed.

Mniot
May 22, 2003
Not the one you know

Pollyanna posted:

I've been thinking about what I want to be doing a few years down the line, and I'm genuinely kind of lost. I know I wanna work on cool and interesting things, but is it okay to just follow that line of thinking, bouncing from place to place?

This has been my attitude for the past ~8 years and 5 jobs that I've been in software and I think it's working out well for me. (Feel free to tell me how wrong I am)

I write general back-end code (pretty much everything but UI) with no specialization, I prefer small teams where I can get a lot of variety and I like functional programming languages. I'm currently getting $160k in the Boston area, and I feel like I could get a new job offer any time I wanted one. Working in software makes me happy, so as long as the company I'm at isn't completely destroying my soul I'm enjoying myself.

If I was doing things over, the only big change I'd make would be trying to get a stint at somebody family-friendly (like Google) when I had my kids. I like having them visit the office, but that was uncomfortable in the start-up I was at (run by college grads) and getting weeks of paid leave to ride out the worst of the sleep loss would have been great.

I think the future danger is that if I stop learning new things it'll be hard to change jobs and if I made different choices (working for larger companies or specializing in some niche or getting into management) I could be making more money than I am.

Mniot
May 22, 2003
Not the one you know

Pollyanna posted:

There's no way in hell I'm good enough for Google. My impression is that people who work at Google do hardcore CS algo work or are really good at server maintenance or C optimizations. That's something I don't have the education or experience for. I'm talking out of my rear end, yeah, but they're a whole 'nother level.

Google's interview process is a bit long, and now that I'm older and crankier I'm not fond of how they treat every interview like you're a junior developer. But I've done 3 interviews with them and I felt like I learned a lot every time. It's definitely worth your while to apply.

Here's one of the interview questions (from several years ago) that I remember clearly:

quote:

Imagine that you've got an alphabetic keyboard being displayed on a TV screen:

code:
A B C D E
F G H I J 
K L M N O 
P Q R S T 
U V W X Y 
Z
You have a remote control that can move the cursor up/down/left/right and select a letter. We've got some word, "HELLO" which has been translated into coordinates for you: [(1, 2), (0, 4), (2, 1), (2, 1), (2, 4)] and the cursor starts at (0,0), which is "A". You're trying to produce a sequence of button presses (U/D/L/R for movement and X to select) to type out the given word. In this case, you could start with "DRRXRRUX" to spell "HE". Write a function that takes the coordinate list and turns it into the button-press sequence.

I think if you try it you'll find that it's not that hard. There were some harder questions, and I didn't get an offer on any of my tries, but you should try to get an on-site and feel good if you succeed there. Once you do OK-ish at a Google interview their recruiters will hound you for the rest of your life, so that's a fun ego-boost!

Mniot
May 22, 2003
Not the one you know

Doctor w-rw-rw- posted:

I think (but am not sure) that the Boston office is mostly AI/Machine Learning, but perhaps not exclusively so.

Also, we don't really do PHP. We do Hack, Python, C++, Java, Objective-C, Javascript. I think we have some ML and Haskell enthusiasts, but ultimately the languages we pick are ones that we can invest in for the long-term (this is why for example Scala is not a particularly good fit for the codebase).

When I interviewed there last year, they said the Boston office had a lot of Facebook's version of SRE, security people, and some of the group that make the Hack compiler.

Mniot
May 22, 2003
Not the one you know

Blinkz0rz posted:

Weird, I had a recruiter contact me about a SRE position that was in NYC, Seattle, or Menlo Park, but specifically not Boston even though I asked.

Well this was from a FB recruiter, and they never said "SRE". They were telling me that the Boston office did things like figure out how they were going to build the 200th layer of caching around the core MySQL DB, or improve the deploy process that did all these automated roll-outs, canaries, and roll-backs, or come up with a "best practice" and then change all the lovely code to do it that good way.

Mniot
May 22, 2003
Not the one you know
Also, having someone make a bad/weird technical decision and nobody is able to tell them "no".

Mniot
May 22, 2003
Not the one you know

VOTE YES ON 69 posted:

Don't negotiate for a raise with another offer (at least explicitly, fine to keep one in your pocket and bounce if you don't get what you want). Don't accept a counter offer either. You will regret it 9/10 times.

Is that personal experience?

I'm not sure what's wrong with taking a counter-offer. I mean, yeah your current job doesn't appreciate your true worth but neither does the new job. If the only thing at issue is that you want more compensation (more money, less commute, more vacation) and it takes slapping them with another offer to get it, are they really going to hold it against you?

Every time I've left a job it's either been an issue with upper management or the otherwise-awesome job that couldn't make payroll. Either way, I wasn't going to get a counter-offer that would change my mind. But I could see working at some decent job and just wanting them to fork over a raise.

Adbot
ADBOT LOVES YOU

Mniot
May 22, 2003
Not the one you know

wilderthanmild posted:

And even if they did, it's not a good thing that a company took until you were basically walking out the door to makes things right. If that's what it took once, that's probably what it will take every time in the future.

Is there anywhere that gives raises as fast as changing jobs? I think the advice you're giving here is "only work at Google" and even then only because Google starts with high enough pay that it'll take a while for your salary to slump down to the level that other companies can compete at.

If your boss is awful, or you hate your coworkers, or your job is boring then I don't know why you'd even listen to a counter-offer. If you tell your boss "everything is great" but then come in the next day and ask for a 50% raise or you quit, that could make them think less of you, sure, because that's really poor communication.

But if you've got an otherwise-great boss and enjoyable job, and you get a "standard" raise when you'd asked your boss for more, then why would they be upset when you come back and say "hey I did some research and here's what other companies are paying an engineer exactly like me." It seems like bad advice to say "don't take a counter-offer" when you really mean "does the counter-offer adequately address all the reasons that you left?" And it should be really, really obvious what the answer to that is: rear end in a top hat boss + $30k = no, 2 hour commute + $10k = no, I wish I had $10k + $15k = yes.

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