23 ms·
What Developers Should Know About Job Searching and Negotiation
- Mc_Big_G 11y ago"Oh yeah, you’ve been writing web applications everyday for the last five years. Great. Can you please go up to a blackboard and using chalk write out how to reverse a binary tree?" Hahaha, I feel like this was taken directly from one of my HN comments.
- pmiller2 11y agoI actually prefer chalk to whiteboards, but that's a remnant of studying math in college rather than CS. (Which, BTW, is one reason I've heard for my resume getting screened out before. Not the chalk thing, but the math thing. :P)
- frandroid 11y agoOff to the chalk pile!
- CalRobert 11y agoChalk always struck me as better for the environment, too.
- Cyph0n 11y agoMIT still has chalkboards. I'm sure there's a reason behind that.
- pmiller2 11y agoBetter for the environment, yes, but not for office equipment (or so I've heard). Also, they don't sell chalk at Office Depot, IIRC. :P
- marcosdumay 11y agoIt's not better for your lungs.
- juped 11y agoThis is extremely dubious! I trust comparatively coarse rock dust much more than ultrafine marker dust with I'm-not-sure-what in it.
- JustSomeNobody 11y agoI don't get it. If the job you're applying for relies heavily on data structures and algorithms, why can't they ask this? If you're stepping up from writing web apps, you should have done some homework first.
- vonmoltke 11y agoThe problem is, most don't. If you have been writing web apps for five years and are interviewing for another job doing the same, it is highly unlikely that anything the interviewer asks that you have not already been dealing with on a daily basis is relevant to your actual ability to do the job.
- Mc_Big_G 11y agoWeb development relies heavily on data structures and algorithms?
- freyr 11y ago> "If the job you're applying for relies heavily on data structures and algorithms" JustSomeNobody figured that if the interviewer is quizzing you on data structures and algorithms, surely the job you're applying for must rely on such knowledge. If only.
- JustSomeNobody 11y agoNo, I assume you did your homework and found out that the company in fact DOES rely heavily on data structure and algorithms. If the job is hiring for just another web/CRUD dev, then sure, asking CS questions might be out of place.
- phil21 11y agoWhich is exactly what everyone gets upset about... No one cares if you get asked relevant questions for the job at hand. If they need a highly skilled algorithm guy (hint: this is extremely exceedingly rare) then by all means. The vast majority simply ask these questions for their own ego boost (lulz look at that idiot who can't even do basic CS101! good thing we're so smart!), as well as a means for social signaling that you came from the right background. It's basically a huge waste of time and mental energy for what amounts to mental masturbation from the interviewers.
- komaromy 11y agoI'm guessing it was a reference to this tweet: https://twitter.com/mxcl/status/608682016205344768 https://twitter.com/mxcl/status/608682016205344768
- pmiller2 11y agoIt's always good to read about when someone recognizes the process for hiring devs is so broken. Does anyone know of any companies that are both attempting to do something about it, and hiring devs?
- seiji 11y agoI posted https://matt.sh/disrupt-tech-interviews https://matt.sh/disrupt-tech-interviews a month ago surveying different approaches/tactics people could use to improve interviewing. (spoiler: it requires actual processes and formal methods to improve things.)
- bovermyer 11y agoMy current employer doesn't do technical interviews at all. We might ask about favorite languages, blogs, or open source projects, but generally we're more interested in whether the candidate "feels" like someone who is comfortable coding at the job's level. This has never gone badly for us, and we have never had to fire someone for not being able to do the job.
- TerryADavis 11y agoI have a talking space alien. I am in a prison. The CIA think I want to suck cock. The CIA will suck my cock. I have a talking space alien. God says... unique trilogy's panoramas ascription monochromes astronautics Connors library Icarus hope's hospitalizing Isfahan showcase bristliest hereof encyclicals daddy's tram mathematically disease shrivel decanter's Mendez's unburden gamblers carfare homicidal artichokes molar h robber transporting
- pmiller2 11y agoHere's a list of reasons I've heard for having my resume screened out: * Didn't study CS. * Didn't go to "brand name" school. * One of my job titles (which currently comprises half my software experience) doesn't say "software engineer" or similar on it. * You know Python; we use Ruby (or similar) It gets demoralizing after a while, That's the main reason Patrick is right about bypassing the resume black hole. It just doesn't work. I seriously wonder about the number of interviews I would have gotten had I crossed out the school I went to and written "Stanford" or "Berkeley EECS." I've got 3 years writing Python software, so it should start getting a little easier (and it has -- very little). PS I'm looking, and my email is in my profile if anyone wants to chat a bit. :)
- jszymborski 11y agoIt's too bad to hear that, and a surprise to me... always thinking that it was an applicants market. Also, python didn't strike me as a hard-to-sell language.
- potatolicious 11y agoIt's absolutely an applicant's market... if your profile fits within an extremely narrow window of what companies are interested in. The tech industry is largely a group of companies competing to outbid each other to hire a small pool of "credentialed elite" developers for lots of money, and everyone else.
- vinceguidry 11y agoPython's weird in the ecosystem of languages. It's way more of a hobbyist language than it lets on. Since, as Patrick writes, most dev jobs are for line-of-business apps, and Python occupies a very very small niche in that world, very few devs can specialize in Python and hope to easily find a job if they present themselves as a Python specialist. Data science might change things, but it's still a very new field. If you're looking for a dev job, you should learn Ruby unless you have an irrational disdain for it. It's close enough to Python to be a fairly easy switch, but it will raise your position considerably in the job market. But really, you should take Patrick's advice and not present yourself as an X developer. I do because I want to work primarily with Ruby and Rails, but when I was starting out, I presented myself as a competent engineer that could get up to speed effectively with any framework. I got a .NET job that way, having no former experience in the stack. Got fired in three weeks, but I still got paid. Now I do Ruby exclusively, and have no trouble finding opps.
- antonp 11y agoPleasantly surprised to see Ramit Sethi's name pop up in the article. I've watched some of his 'Find your dream job' videos on youtube and the advice there was solid and yielded results first time I applied them in salary/job negotiation situations.
- vonmoltke 11y agoJust a minor note: > What that looks like in practice is you somehow find that an engineering company is hiring, which by the way, every company that has more than 10 engineers is going to hire engineers this quarter. Not mine. We haven't hired an engineer, or anybody else, in over a year. We aren't struggling, either. We just don't have the work volume. Maybe we are the exception, but anyone following this advice and trying to contact, say, me is just setting themselves up for disappointment.
- rubidium 11y agoYea, there's hiring freezes too at bigger corps. Even if they loose a dev that can't always replace her.
- bryanlarsen 11y agoAre you saying if a superstar dream engineer came along and offered to work for your company you wouldn't somehow find room for her? The only time that's been true for any company I've worked for is in the few months immediately following massive layoffs...
- nommm-nommm 11y agoNo, we wouldn't. Maybe for a few startups who are "growing" this is a good strategy (idk) but not the majority of businesses. It isn't good business to randomly hire engineers you don't have work for only to lay them off in a year because... you don't have work for them!!! Your rockstar engineer isn't going to have a good time twiddling their thumbs all day anyways. My company has way more than 10 engineers but we rarely hire. Our work level has been very constant over the last decade and people rarely leave so they don't need replacing often. The majority of our engineers have been working at the company for over a decade. That's not even how the majority of businesses work and many hiring managers aren't even allowed to hire without a specific job opening. My boss (also the hiring manager) at the company I interned for wanted to hire me full time instead of replacing me with a new intern after my internship ended (which was protocol for that project I was working on). He couldn't without the higher ups, who worked in another office, approving a new full time job opening which they didn't want to do at that moment. He was only allowed to replace me with another intern because that's what the higher ups called for, it was an intern position. There was no other full time positions open. Yeah, it's true that you should try to network in case there is a job opening somewhere that hasn't been advertised yet. But it's not going to work to assume every company is hiring all the time. That's just setting yourself up for disappointment. Realistically most companies aren't just going to hire someone on a whim. This whole article sounds like an unrealistic pipe dream. I guess this is how "startups" operate, I don't know, I don't live anywhere near California. (Oh yeah, non-salary benefits like vacation or health insurance are just not negotiated, they are determined by an algorithm in the company handbook)
- waterlesscloud 11y agoI've been a professional developer for 20+ years. Not once have I gotten a job from the submit-a-resume-and-interview path. Not once. It's always been a personal connection. At the risk of bragging, I'm very good at this stuff. If you're filtering resumes and doing endless interviews, you're missing out. You won't get people like me.
- bonesinger 11y agoActually my current and prior are both submit resume and interview path. I don't know anyone where I live so I had to go a quantity approach and just blanket apply to all dev jobs I can find.But I agree I hate resume filtering. One recruiter told me to add keywords like Angular and MVC to my resume because some HR will auto dump your resume if its not there.
- logfromblammo 11y agoIn 17 years, I have been hired 7 times. Every last one of those offers started with me submitting a resume to a company where I previously knew nobody, or at least nobody with any ability to influence the hiring process. I have also tried the "know somebody" tack. None of the people I have ever met has ever been able to even get me an actual interview anywhere, with the sole exceptions of my father, who has thrown roughly $1500 worth of business my way over my entire lifetime, and a former boss, who was laid off at the same time as everyone else, yet still managed to toss me $500 in contract work for his one-man startup as the emergency job search stretched out into the second week. On a gross revenue basis, looking good enough on paper to start a conversation, and spamming out those resumes to anyone even considering hiring someone new has been roughly 400 times more valuable than knowing other people. But my entire career has also unfolded far from the SF-Oakland-SJ metro area. We don't exactly get a lot of "meetups" around here. I'm not even exactly sure what a "meetup" is. Maybe like a geek night where everybody talks shop all night instead of having fun? Also, not a single professional recruiter has ever successfully placed me in any job, nor have they even been very good at getting me interviews. They have been worse than useless, in that every second I wasted on them would have been better spent digging up my own leads and sending my resume myself. All that said, I hate, I hate, I hate the current software professionals' hiring process and the trends in it that I have been able to observe from my end.
- phamilton 11y agoI had a conversation with a friend about a hypothetical algorithms certification program. Yearly, you sit the exam, do the whiteboarding, regurgitate the big O stuff. You get a nice little certificate, and then a tech company can skip that part of the interview if you show you've passed the test in the last year. The question then becomes, what do you ask if someone's algorithmic knowledge is no longer in doubt?
- mywittyname 11y agoTheoretically, the employer could just look at the grades a person received in their algorithms class in college. So, how would your certification program inspire more confidence than a university degree? That's one of the perennial problems with programming certifications -- they either certify technology that falls out of favor/use after a short time, or it certifies evergreen techniques that colleges/universities are supposed to cover. So you end up competing with MS/Cisco/Sun or Harvard/Berkley/etc. Also, sites ranging from HackerRank to StackExchange offer a similar service. It's not a "certification" per se, but they certainly market their platform as a way to identify effective developers.
- phamilton 11y agoI didn't mean to say it would be an easy problem to solve. More interesting though is the vacuum it creates in the tech interview process.
- aquateen 11y agoIn all the interviews I've been a part of (1.5 years, maybe ~50 candidates), I've never seen a candidate decline because of salary requirements. We would decide if they were a good hire, and HR would make it happen.
- ovi256 11y agoSo that's another datapoint confirming empirically patio11's idea that candidates are underasking. If they would ask for their fair value, 50% of companies would decline their candidature because of the price.
- malz 11y agoWhat about the other way around, have you ever passed on a candidate because their expected salary was too high?
- rhodysurf 11y agoI guess you've never interviewed for DOD jobs then (Strict budget limits)
- rubidium 11y agoIn case people aren't aware, Patio11's comments are pretty much exactly what is stated (with many more examples and strategies) in "Guerilla Marketing for Job hunters", a book I recommend whenever posts about job searching come up.
- minionslave 11y agoThis is helpul or was it guerilla marketing for the book? The world will never know.
- robodale 11y agoI've completely turned away from getting another job. Recent scenario: After giving in detail my 14 years development/engineering experience, they ask: "Ok, here is a logic riddle: You have 3 circles A, B, and C. A depends on B, C...." and by that time I've already lost interest. What the fuck does a riddle have to do with anything. Next. I'm working my existing software engineer job while I build up my customer base on my side businesses. Your interviews and shit riddles can fuck right off.
- mixmastamyk 11y agoIndeed, I'm done interviewing also. The best part is when the riddle (perhaps their explanation) doesn't make sense, or the coding test doesn't work because there is a firewall on the guest wifi that prevents it, etc.
- darrenkopp 11y agoRiddles, sure, those are stupid questions to ask. Always assuming something is a riddle can be dangerous though. I've had a few candidates basically challenge my question before that this was just a puzzle and they likely wouldn't ever run into this normally and the question was literally from our code base.
- rpgmaker 11y agoDid companies do this before the media glamorized Google's job application process? I had to do some of those stupid riddles when I was starting out but hopefully I won't have to ever again (I'm working on a side business too).
- varjag 11y agoThe lore is it was a part of Microsoft hiring process in early 90s and then spread out. Google "microsoft manholes".
- turnip1979 11y agoMSFT did it .. sure .. but my first half-decade of software engineering jobs seem like coffee chats compared to the crap we have today. I think I got my first job after a 45 minute chat (was supposed to be 30 mins but we were having a fun, geeky convo and lost track of time). What's crazy is I would leave with offers in hand. This is until 2004. Google copied and one-uped microsoft. The Googlers went out and replicated their process and suddenly, most decent software engineering jobs require you to bend over. I had a startup interview last year where they were a well-funded start up full of PhDs. Had a hiring screen (with non-trivial code), a full day of interviews over the phone/etherpad, a conversation + coding interview with the frickin CTO. This was to decide weather to fly me to the Bay are for the actual interview (was on the East coast). I had a full-time, high workload job at the time (constant crunchtime) ... so this was brutal on me. Never doing this again.
- fecak 11y agoAs a recruiter, even I often refer people to Patrick's article on salary negotiation, and I agree with much of it. There are a couple points that weren't covered that I think are valuable. First, negotiating live is often difficult and it seems somehow job seekers are somewhat surprised to find themselves negotiating (or talking money at all). You need to be prepared for the conversation, otherwise you will find yourself throwing out numbers that you will often regret. Expect that you'll be asked these questions at every point in the interview process and be prepared to answer - just like you may study technical topics. Second, in negotiations job seekers tend to mistake silence for a 'no' answer. "I'm looking for 130K". Manager is silent for 10 seconds. "...but that number is negotiable". Don't do this. Once you state your number, don't speak until the other party has spoken - otherwise you are negotiating yourself down before getting an objection. Lastly, it can be rather powerful for the company to envision you starting work (the end goal of negotiation) during the negotiation process. Instead of saying "Can you make it 130K?" as a counteroffer as Patrick suggests, it can be stronger to say "If you are able to offer 130K, I am willing to commit to a start date of MM/DD/YY." It's a subtle difference, but asking for a number without context can be mistaken for "negotiation simply for the sake of negotiation", whereas an offered start date lets them know you're serious and committed to the negotiation. EDIT: And as much as agency recruiters are maligned, Patrick's mention of having an "internal champion" isn't much different than an agency recruiter's representation. Sending resumes to "jobs@company" is ineffective. As an agency recruiter, if I'm presenting your resume it is going direct to the decision makers, it's being presented by a trusted source with credibility (for some agency recruiters anyway), and it's not just a resume but rather a short letter outlining why this candidate is a fit for the role. Not to mention, when negotiation does come up, the agency recruiter will have experience and know both the salary ranges and negotiation tactics of the hiring company.
- vinceguidry 11y agoI can't help but to pile on about the difficulty of negotiation. The reality is is that 90% of it is done before you've ever started talking. You can maybe influence 10% of the outcome, and it might be worthwhile to do that, but it's also worthwhile to work on that 90% beforehand, and studying negotiation techniques doesn't really help with the 90%, only the 10%. So if you look at the opportunity cost of effective negotiation, the value prospect doesn't look half as clear. If I want to buy a house, the actual negotiated price is probably somewhere down around #8 on my list of considerations. Time spent looking at comps, finding a good inspector, understanding the real estate biz, could be far better spent.
- tetraodonpuffer 11y agoit's also interesting that (anectodally, talking to people I know) the longer one's career is the more unlikely they are to want to switch jobs just based on having to deal with interviews, which of course makes it more likely they don't go for that cool interesting job they might flourish even more in, and makes it also harder for companies to hire as there are less available people around than there would be otherwise. It's like, yes, you've spent 20 years in progressively more architectural roles, however the decision to hire you or not is based on whiteboarding algorithms you last had to legitimately write out years ago in university and crammed on for a few weeks before this interview. While I was in university 20 years ago for fun I wrote an iterative AVL tree library in C (everybody else seemed to do it recursive), it was difficult but rewarding, but not something I am very likely to do nowadays and if you ask me to whiteboard the rotation logic I am not very likely to do it correctly and would have no impact whatsoever on my ability to do the job at hand (because in a working environment if somebody asked me to write for production say a red black tree from scratch I would not trust my memory but take out my Cormen book and go from there, or look at AOCP) When I have interviewed in the past, I've always tried to ask more about the candidate's past and whys of certain decisions, if somebody put on their resume that, say, they designed an API for something, I might ask them what they did for versioning, for schema, what about atomicity, do they expose txns or not, drawbacks for each, and then branch out towards general concurrency and so on and on, you can learn a lot more about how somebody thinks by drilling down from something they worked on than by hazing them on algorithms 101
- harryh 11y agoI agree with your observation but I've always found that attitude a little odd. If you find interviewing beneath you, what else about the job are you going to find beneath you? Do you find it beneath you, or is that just some kind of excuse for a worry that you might not do well in an interview? I've interviewed for various jobs tons of times over the course of my career and I've never minded a coding session (either on a whiteboard or an actual computer). They're never really all that hard. It's an easy way to show your stuff and give the company more confidence that you actually know what you're doing. It's not a big time commitment. What's the problem?
- jgroszko 11y agoDo people actually ask random people from other companies out for lunch? I've never heard of someone actually doing this, and I feel like if I was approached at a meetup this way I'd be very unlikely to accept, if not a little uncomfortable at the prospect.
- cgopalan 11y agoPatio11 is very respected in the community, but I can't help but feel that most points in here are not applicable to all software engineers. This seems to be mostly for people starting off in their careers, or people that feel that work is a major part of their life. I am sure there must be more people out there like me who: - Dont care about getting the best-ever salary thats on offer. If the developer finds out that other companies are offering better salaries, they dont hesitate to re-negotiate or jump ship. - Put more emphasis on the work-life balance rather than the work. This means one may not get excited enough about the work to seek out people and companies, but when they get emails from companies or recruiters, they dont mind starting a discussion if the work is decent and the people are good to work with. This doesnt in anyway mean that the developer doesnt like coding. Just that they feel that its not worth the effort to fight for more money if they feel that what they are making is giving them a pretty good living.
- rhodysurf 11y agoThats how I feel. I have a good job that pays me a bit below than my market value, but it makes up for it in work-life balance. Heck just today I came to work an hour and a half late because I was surfing and I didn't have to notify anyone that I would be late. That freedom is something I havent been able to put a price tag on yet, and its why I've turned down much higher salaries the last few years.
- kzhahou 11y agoBut the question is whether you could have negotiated an extra $15K --for the SAME surf-friendly job you have now-- just by holding out for 1 more day during the interview/hiring process.
- geebee 11y agoWhat I'm writing is tangential, but related to the topic. When we discuss tech interviewing, I think it helps to start with the basics of the process and the motivations behind technical interviews that are essentially exams. Recruitment for tech companies is near constant at a certain level of talent. While there are smaller or profitable but stable niche companies that aren't looking to add engineers, most companies would always hire an engineer with a skill level that exceeds a certain threshold. In other words, if you're really good at coding, have a really strong understanding of software design, and you aren't a hard person to get along with, they'll have something for you. This leads to the technical "interview", which is really better described as a technical exam. The most infamous incarnation of it goes like this: you arrive in a room, a very strong software developer arrives you are asked a variant on a data structures/algorithms question that you must solve at the whiteboard. It will be difficult to get it exactly right in the time allotted, but you will now demonstrate that you are able to write tight, good, efficient code that largely solves the problem. You will also demonstrate that you can clearly explain difficult technical concepts in clear human language (usually English), without getting angry or excessively flustered. If you're really, really good at this, they have something for you. Exactly what that is we can all work out later. This leads to a constant state of "filtering". These companies are continuously scooping up silt, sifting through, to see if there are any good bits of gold in there. If they accidentally throw out a bit of gold, that's fine, they just keep sifting and sifting. The odd thing about this (having been on a few of these interviews myself) is that it turns the "interview" process into a technical exam. I've been shuttled from room to room for six hour of whiteboard exams, all about tree traversal, complex sql, some math, and at the end of the day, I honestly have no idea what this company does or what they'd want me for (aside from what I'd read about in preparation for the "interview", none of which was discussed at all). But I do get it from the point of view of the company - if I can do certain branches of math, write tight code, and do sql really really well, and I clearly have the verbal and presentation skills to explain it all, then yeah, they will be able to make good use of me at their company (for the record: no offer ;) ) The filtering is irritating for candidates, of course, since it means that in our field we sit for exams constantly. The saving grace is that these companies must devote the valuable time of their strong engineers to conduct the interviews, which means they don't do it unless there's a good chance you're a good candidate. The more insidious side of this is the rise of automated testing and/or "projects". You spend 30 minutes talking with a recruiter, and then you get a link to an on-line exam or project that can take from 2-8 hours. This allows the company to cast a wide net without wasting time. Well, wasting their time. The process allows them to push the inefficiencies of the process out onto the candidates. The amount of time spent by developers on these exams, only to be dismissed in 5 minutes, is staggering. This is one reason I won't take these exams (if they occur very early in the process - if it happened much later, when it was clear both sides were serious, I would reconsider), even though I will spend an equivalent amount of time on in-person exam/interviews.
- dpweb 11y agoGreat points that stood out-- Every company that has more than 10 engineers is going to hire engineers this quarter. The company really doesn’t care whether they pay you 100 or 130. Having been on both sides of the market, I would add - try and imagine yourself in the company's shoes.. and DIVORCE your emotions from the process. Understand the company's side of it: They're buying your services, like they were picking out fruit at a market - a market where you haggle with the seller. Paid a dollar more? Didn't buy got no fruit? - not a big deal to the co. The company really doesn’t care whether they pay you 100 or 130. This was a great point in the article. This process is a lot bigger deal to you than to them. If they hire/don't hire you, is not going to affect the company that much. While, it affects your whole life. And I think the most important thing, don't get upset if things don't work out. It's a cliche, but SO true - some things are meant to be for a reason. There are more opportunities out there.
- cgopalan 11y ago"This process is a lot bigger deal to you than to them. If they hire/don't hire you, is not going to affect the company that much. While, it affects your whole life." That very much depends on one's perspective of it. What if I think its the same as many of the missed opportunities that I cannot put a price on? (i.e. they might also be totally insignificant)
- dikaiosune 11y agoEvery time I see advice that centers around "go to meetups, get coffee, make personal connections," it makes me think that: a) I would really like to be able to do that instead of the awful application-oriented hiring process. b) I will never be able to do that unless I'm able to relocate to a suitable location, probably after having completed an application-oriented hiring process. How do the get-hired-with-connections gurus recommend resolving this chicken or egg situation? I get that Starfighters is aiming in part to solve similar problems, but surely there are existing solutions.
- 83457 11y agoConferences, conventions, vacations?
- marcell 11y agoTech interviews have become a favorite punching bag of various bloggers, and partly for good reason. But even still, who can argue with the results? Some of the tech industries most successful companies (Google, FB, etc.) and many successful startups use whiteboard coding interviews as their bread and butter, and it seems to work. Maybe it's not as bad as conventional wisdom says it is.
- pyb 11y agoSome unsuccessful companies also use the same format. It makes a lot of sense for Google to place maximum emphasis on whiteboard interviewing, not so much for its lesser competitors. If Google is a more desirable company and they run the same interview process, won't they be hiring mostly people who failed the same interview at Google?
- pklausler 11y agoThe programming world has lots of smart, talented, capable people whose resumes won't get them even a phone interview from Google. Coding interviews deserve their bad reputation, but dammit, there is no better way to learn whether or not a candidate for a programming job understands the really basic concepts than to have them write a little bit of code that can't be written if you lack the aptitude.
- Zikes 11y agoIn an industry with extreme growth like tech has seen in recent decades, it's easy to imagine that many successful companies are successful just as much in spite of their interviews as they are because of them. An example: https://twitter.com/mxcl/status/608682016205344768 https://twitter.com/mxcl/status/608682016205344768
- kzhahou 11y ago> Fake the confidence here. If they say, “What are your salary requirements?” You say, “Well, it’s really too early to talk about salary. I just really want to make sure that we’re a great fit for each other. If we’re a great fit for each other, we can work something out. If we’re not a great fit for each other, it doesn’t matter. We shouldn’t work together no matter what the numbers are.” Whatever you need to say, just do not answer the salary question until you’re actually negotiating. No need to dance around it so much. Don't worry about how to phrase it! Just tell the recruiter, "No I'm not going to discuss salary until we're actually negotiating." There's really ZERO need to dress it up. They know the game. Just stand your ground, and say "no", "no thanks", "really no", "not yet"... until they say the team wants to move forward with an offer. NOW we can discuss. I'm saying this because engineers are already nervous about how to negotiate the process, and there's no need to make it even more stressful by worrying about how to delicately phrase things.
- atom-morgan 11y ago> They know the game. They know the game but it doesn't mean they'll play accordingly. I've had plenty of recruiters tell me they can't realistically move forward unless I give them a number and they get aggressive about it. I don't but I imagine most do. So in a way, I can see why he suggests dancing around the topic.
- emidln 11y agoI've told recruiters to not send resumes for candidates who wanted over $X comp. If the person won't let them know a ballpark up front, I'd have never seen the person. Unfortunately, I don't have enough hours in the day to interview good candidates who might or might not be willing to come down on my max comp.
- waterlesscloud 11y agoSo then there is no shortage of good developers.
- kzhahou 11y ago
- claudiusd 11y ago> What typically happens is that people are screened into a hiring process on the basis of what’s on their resume... That already throws a lot of the baby out with the bathwater. In my experience, about 80% of the candidates who send in their resume will not come close to working out. If you've never run a hiring process before, you'd be surprised how many people look decent on paper but somehow can't write a line of code without some serious hand-holding. The OP points out that sometimes the opposite is true (a candidate with a mediocre resume ends up being stellar), but this is an exception and you'll waste a lot of time trying to find these people. I've honed my resume screening skills over time and I've gotten pretty good at filtering out most of that 80%, and I know I'm likely to screen out plenty of talented folks, but it's well worth being able to focus my time and my team's time interviewing more exceptional engineers than mediocre ones. In other words, I think it's OK to throw out a lot of the baby with the bathwater as long as you're left with mostly baby.
- vonmoltke 11y ago> In other words, I think it's OK to throw out a lot of the baby with the bathwater as long as you're left with mostly baby. Quite true, and basically what companies like Google do. The issue comes in that we have been inundated for years with people bitching about "talent shortages"; i.e., there ain't enough baby left over.
- jkchu 11y ago> you'd be surprised how many people look decent on paper but somehow can't write a line of code without some serious hand-holding I think a lot of this may have to do with nerves. Writing code on a whiteboard when given an arbitrary question is very different than writing code in a comfortable context and environment. I think it's safe to say that a decent percentage of people in our field let nerves affect their ability to write quality code at the same level they normally do.
- bluedino 11y agoThese articles are targeted at developers - someone needs to inform the HR department, that's where the problem lies
- dreamjobexec 11y agoHR departments are responsible for HR / behavioural interviews ... dumb riddle interviews and reverse a tree using a one line function is made for developers ... by developers...
- morgante 11y agoI really don't agree with the advice to kick the salary question down the line. It's asked early for a reason—to determine if you're compatible before proceeding with interviews. The majority of software developer jobs out there pay (substantially) less than I would accept and it's a waste of my time to spend time interviewing for them. The ideal is that the company gives a compensation range, but many will refuse to. So I just tell them the top of my range. That ends the majority of conversations but it lets me narrow in on companies which properly value talent.
- calcsam 11y agoThe solution here is to turn the recruiter's around and say, "I'm not comfortable sharing that information, but I'm sure you put together a salary range when you put a rec out for the position. Could you share what that range is, and I'll tell you whether it makes sense to proceed?"
- morgante 11y agoDid you miss the part where I specifically mentioned that I do ask for a salary range? That works some of the time, but sometimes companies flat out refuse to give it.
- iandanforth 11y agoThe advice on job hunting is the same kind of vague, shotgun style hunt with the word "meetup" thrown in. This is a terrible way to find a job you love. You might get lucky, but there is a better way. Pick where you want to work and then be good enough to work there. I'm a strong believer in the philosophy that you need to walk in the door knowing you want to work somewhere. If you don't know already then you've done insufficient research or are insufficiently motivated and it will show. Starting right out of college I picked where I wanted to work first and then started making the connections to make that happen. I always volunteer to work for free prior to getting hired. Why? because a work-to-hire internship, no matter your level of experience, is better for both you and the company. It's especially good if you don't fit the traditional resume of someone in the role for which you're applying. This works especially well with startups since their hiring practices are flexible and they are cash conscious. Four out of my last 5 jobs have been landed like this, the other I was recruited. You should be excited about the specific company you're talking to. You should want them to succeed from day one. This will make you stand out from the crowd of "job seekers." You're not looking for a job, you want this job and you're ready to buy.
- tacos 11y agoEverything about this comment is great. Except the "volunteer to work for free" part which is absolutely horrible advice. Part of "walking in the door knowing what you want... and owning it" includes understanding your worth to the company. A company must also recognize your worth UP FRONT. Unpaid internships vary from corrupt to demoralizing. At best they set the wrong tone. Don't fall into that trap.
- nommm-nommm 11y agoIn addition, most unpaid internships are illegal in the United States (http://www.forbes.com/sites/theyec/2013/04/19/6-legal-requirements-for-unpaid-internship-programs/#2310e79049ab http://www.forbes.com/sites/theyec/2013/04/19/6-legal-requir...) Many companies, however, hire paid interns on a "try before you buy" basis. Always go for at least one paid internship while in college. Not only do you get to show off your chops to potential employers, it also looks great on your resume for other potential employers down the road.
- pjdemers 11y agoone thing I've learned about negotiating a job is to discuss responsibility, roles, reporting structure, projects, etc first. Because, in my experience, if a year later I go to the VP of engineering and say "give me more money or I'll quit", I get the money. If I say "give me more responsibility and better projects or I'll quit", I get a going away lunch....
- golemotron 11y agoSo job hunting in tech now is "unsafe." Really? Try applying for a law position, a hospital position, or a standard minimum wage job. Among the many needs to check one's privilege in this world the thought that the process of getting a tech job is "unsafe" is one of them.
- pitt1980 11y agobookmarked
- innertracks 11y agoRamit Sethi has some great material. He has a download of a handful of resumes his clients have used successfully in the past including an engineer. I used those as models after seeing no results from my old resume. Then I submitted the new resume to a company with great reviews on Glassdoor and open positions I might be a fit for. I was curious to see what would happen. I was running a test and willing to follow through if anything came of it. Results are I'm flying out for final interviews next week. Time to study Ramit's interview prep material. I've been reflecting on my experience with resumes and interviews for various positions, mostly technical, over the last 30 years. For me, getting jobs has almost always been about rapport with the person across the table or other end of the phone. Natural problem solving/engineering skills and abilities with a toolkit are important. Engagement with the interviewer via interesting, relevant stories feels like one of the keys. A friend who used to hire engineers years ago at Sun told me he would hire based on two factors, assuming basic background/skills on the resume. One, light behind the eyes and two, could he enjoy drinking beer with the person after work? I have another friend who used to successfully hire engineers in a similar way. Not sure why we don't see more of this out there. Though the informal route probably embodies this approach by it's nature.
- pumblechook 11y agoThis is all good advice, but this article falls into the same trap that most other career related advice does: it assumes only one type of job seeker (in this case - ambitious, experienced, and passively job seeking). The truth is that there are lots of different ways to get a job, each with varying levels of effectiveness that depend A LOT on your situation. An effective job search is one where the techniques are tailored to the situation, and the amount spent on each reflects the expected effectiveness within that situation. Example: A few years ago I got laid off. I had a few weeks of notice, some severance, and savings, so I decided I would be a job seeker full time until I got a job I really wanted. I followed the advice in this article almost to the letter and specifically avoided lots of the typical job hunting techniques (sending resumes, filling out job applications, talking with recruiters, etc...) I did a lot of research on companies I wanted to work for, started meeting with people (I didn't know anyone who worked at those companies), sent a lot of unsolicited emails to get an 'in'. And after a few months of doing this I'd made a lot of new connections, but no legitimate opportunities. By this point I was starting to panic, so I broke down and started doing the 'traditional' job hunting stuff. Two weeks later I had an offer from an application I had submitted online. Don't limit yourself to just one technique. Try a lot of different things to see what works for your situation.
- deleted 11y ago[deleted]
- dreamjobexec 11y agoI agree with you. I think the best overall approach is to apply the scientific method. Set hypotheses on what will work what will not, test, look for evidence and adjust accordingly. or the startup metaphor of reaching product market fit or pivot
- dreamjobexec 11y agoI agree with almost everything in this post with the exception of taking others for burgers and asking them about their salary (directly or indirectly). Most people will not feel comfortable sharing their salaries or salary scale (company information) with someone they don't know or just met. Thankfully there are sites such as Payscale and Glassdoor where people share salaries anonymously so you can lookup the salary scale/ range for a company. Even if you can't find it for company A that you are intending to work for you can always do a comparative market analysis; look up salary info for company B or C who are in Tech and in the same area/ domain and you can use this information to at least get a baseline or as leverage in the negotiation. In fact this is something I blogged about a few days ago https://dreamjobexec.com/7-tools-help-get-tech-dream-job-hint-linkedin-job-boards-not-list/ https://dreamjobexec.com/7-tools-help-get-tech-dream-job-hin...
- despinozist 11y agoMy code exams are almost always can you do some form validation plz thx bye becuz I'm dumb.
- p4wnc6 11y agoI have experience as part of a hiring team that spent over a year searching for a single candidate, and I also have experience as a job seeker who has spent over a year searching for a minimally acceptable job. In my experience, the only lesson I've learned is that you cannot know much at all about a candidate's eventual job performance or cultural fit from any hiring technique. Giving them tests or quizzes doesn't work. Giving them take-home coding tests doesn't work. Asking them behavioral and technically probing questions about their background doesn't work. Having them come on-site and suffer through whiteboard hazing doesn't work. Making them sit in on a technical Skype call with three simultaneous interviewers doesn't work. Everybody's pet theory about how to vet them before their first day doesn't work. And most of those things also waste a lot of everyone's time and have the poor false-positive / false-negative rates that the OP describes. The only thing that I think works is just hiring someone and then seeing if it works and not being afraid to fire them if it doesn't work. Everyone freaks out about this idea because there's so much taboo about the cost of hiring, setting up benefits, and so forth, and the morale drain from firing. But it's a trade-off. Do you want to pay those costs while getting actual info about an employee? Or pay those costs in a status-showy way ("look how hard our hiring process is!") but not actually get any info for what you are paying? To address the firing part of it, which of course is not at all fun, there is an easy solution: make generous severance packages a standard part of your job offers. If you mistakenly hire someone who is not cut out for your team (for whatever reason, skill, attitude, work ethic, culture, etc.) that is on you no matter what your hiring process is. Don't make candidates bear the costs of your hiring mistakes. Treat them well and they will be more understanding if the hiring process involves a lot more firing than most are accustomed to. If you give them 6-8 months of salary as a severance benefit (and that's on the low end), then they will be secure about the risks of getting fired and it will buy them time to find a new job if you need to let them go. For a huge number of companies, this is easily affordable and building in a fixed cost of 1/2 year of their entry salary is borderline trivial (even if people want to make a big argument about it). Everyone likes to whine that this is expensive, but hiring the right person is expensive -- it just depends on how you want to pay the cost. Like I said before, you can engage in a bunch of fake performative nonsense like tests and whiteboard hazing, in which case you are paying the price in terms of wasting your existing employees' time and in terms of false positives and false negatives and constantly leaving money-from-would-have-been-productivity on the table, or you can just own up to what it costs and be more willing to pay the dollar amounts necessary to trial people out. Then you can have much lower barriers to entry that mostly just involve basic conversations and extremely simple sanity checks about a person's background. If they pass those and the team more or less likes them, just pay the money to see if they work out and move on. Stop obsessing over it, especially by letting HR middlemen get in the way and obfuscate things.
- graycat 11y agoPart I: Let's get real here: Yes, in the OP, the good news is likely: > People who do consulting or freelancing for a living might realize this is isomorphic to getting consulting engagements. It really is. It’s fundamentally running a sales process for yourself, which is a really weird skill On salary negotiation, I'd suggest bringing in some super important data: Within easy commuting distance of the job, go house hunting. Want 3-4 bedroom, 2 1/2 bath, with family room and two car garage. Maybe also full, dry basement, nice yard, nice landscaping, pool, nice neighborhood, good schools. So, get the figure per month for the house -- principle, interest, taxes, insurance, maintenance. Add in your medical insurance, life insurance, IRA, and college fund for the kids. Add in cost of cars for yourself and wife and, later, kids. Add in usual costs of living -- food, clothing, education for the kids, home furnishings, smart phones, Internet access, desktop computers, professional memberships, professional publications, etc. Add in some for recreation. Add in some for contingencies, say, for the kids, private schools, tutoring, violin, swimming lessons, etc. Then look at taxes -- city, state, and Federal. Then add it all up. Then add, say, 30%. That's your figure. Justify it with > I have a family, and I am the breadwinner. I have a wife and two kids, and we want two more kids. My wife is busy with the kids, and with the home, she is fully busy. We need the usual, food, clothing, shelter, transportation, medical care, recreation, education for the kids, retirement for my wife and I, insurance against risk, plus smaller items. In addition, my wife's mother needs to come stay with us. In this area, that's what it comes to. To have less than that would make us financially irresponsible. Of course, if the employer wants to hire a single person who wants to live in an efficiency apartment and use busses and taxis for transportation, then, okay, but need to know that. > It is well worth your time to take another developer out for a hamburger and say, “Hey, tell me a little bit about the company." Maybe. But this other person might tend to see you as a competitor and want to hurt your career instead of a colleague who wants to help your career. > The nature of careers for us is just working for 40 years for IBM and then receiving a gold watch is something that very few of us are going to be able to successfully do, and that frankly, I’m not even sure I want. Actually, I much more than not sure I want. I’m sure I do not want, do not want. Right, don't want it. But, it's been a very long time since IBM offered such a career. The more common situation was, in an IBM area, a house cost 5+ times what the IBM annual salary was so that, really, the employee had to pay for their house out of other funds and was basically subsidizing IBM. So, who was living in those houses? In some cases, IBM employees who joined when the house prices were much lower. But in most cases, people just not working at IBM or in any such job. Instead, likely they were doing well in small business, e.g., as owners. More generally, there is a biggie fundamental problem with the whole career and salary negotiation process in the article: The company will just NOT for long be able to pay more than the work of the job is worth. So, really, the employee needs to know what the heck the work is worth and try to get as much of that as possible, and for that, and quite fundamentally, the employee needs in some significant sense, in one word, 'ownership' of the business. So, we've got to be talking stock or the person just owning their own business. Biggie point: If own the business and run it, then are facing the 'market' for the product/service the business provides. If that market is poor, gotta pick another business. If that market is good, then the worker gets to keep what the work is really worth. That point is a huge biggie. As an employee, will have a tough time getting for very long even half what the work is really worth in the market. This is a crude analysis, but it can be the difference between (A) being single and (B) providing for a good family and a good life. From the OP, here is another really fundamental point: > “Look, I understand just if I start to read through the resume, it doesn’t look like the most promising candidate, but when given a very complicated engineering task, which involved both security research, and then a complicated open-ended data analysis task, they not only successfully solved the task, but produced a deliverable which could literally be published in a research journal, Okay, if that is impressive, and it should be, then there's another approach: Look on the resume for candidates who actually have PUBLISHED such work in a peer-reviewed journal of original research. Or, at least they have a Ph.D. degree from a good research university where their dissertation was just such work and is likely publishable. Let's have an example: Recently at the company, there have been some unexpected problems -- outages, performance degradations, security breaches, etc. -- in the network and some in the server farm. So, the company wanted, in general terms, better near real-time monitoring for such unexpected problems. That is, the company wanted continual reports on health and wellness of their network and server farm. They have been using various approaches, but especially thresholds, and in total the approaches have two biggie problems -- false alarm rate too high and detection rate too low. Joe looked at that situation and saw that from Microsoft, Windows Server, SQL Server, IIS, Oracle, Cisco, HP, etc., there is a river of data available for monitoring. So, he could get data on any of some literally hundreds of relevant variables at data rates of a value each few seconds up to thousands of values a second. So, Joe thought about how to use that data to get better monitoring. Well rested in a quiet room he put his feet up, popped open a cold can of diet soda, reviewed the problem and old approaches, reviewed some of this educational background, and had some ideas. Eventually, he noticed: If look at, say, two variables jointly, should be able to do better on false alarm rate and detection rate than looking at the variables separately, unless the variables are independent, which in common cases the definitely are not. So, in some sense, want to exploit several variables not individually but jointly. Next, Joe noticed that with false alarm rate and detection rate, he was reminded of his course in Statistics 101 and, there, hypothesis testing with Type I error, Type II error, and the 'power' of a test, that is, some tests are more 'powerful' than others. Also he checked in an intermediate text on statistics and noticed that the classic Neyman-Pearson result says how to get the most powerful test possible. Then Joe had some ideas, got some real data, wrote some prototype code, and the results looked good. Joe was able to adjust false alarm rate, and know the rate in advance, for any detection say what was the lowest false alarm rate at which the data would still be a detection, and had really good reason to believe in an especially high detection rate. He published his work in a high end peer-reviewed journal of original research and gave a seminar on that work at a world famous, high end server farm where reliability is taken very seriously. He put this work on his resume, sent 1000 copies, and never heard back. So, back to the last quote above from the OP, here comes the biggie surprise: Doing such work won't get you hired. Hardly a chance. Now, we should all be screaming, why, why, why, why, why?
- s3nnyy 11y agoI also think that asking algorithmic coding challenges make no sense for most companies. Facebook, Google and other tech giants are you using algorithmic interviews because everything they do is at scale. However, this is not true for most companies. What I usually do, when I assess software engineers, is checking if they are using good variable names and short functions. Btw.: I am a technical recruiter from Zürich with a software engineering background. If you look for a coding job in Zürich with net-salaries that are on par with the Bay area (in the range of 7-10k CHF / month after tax), you find my email address in my HN-handle.
- betadreamer 11y agoIs not saying your salary expectation a really a bad thing? In my last job search I follow this advice and I actually regret it. A lot of times the conversation goes no where and it can save a lot of time on both ends if you get that part out of the way. Conversation usually goes like this. E:"What's your salary expectation?" (or last job's salary) Me:"We can talk about the salary later. We can first see if we're a right fit" E:"Cool. But we want to know your expectation." (get's the same question) Me:"I don't want to disclose my number but can you give me your salary range and I can say whether it is within my range" E:"Its between AA - CC" (what I'm expecting is BB) Me:"Yup, its in my range" There. I dodge the bullet, I get the offer, but the salary is AA+. This happen to me a lot in my last search and I feel like I would have a better salary and save time if I just said BB up front. AA+ offers will go away immediately. Your goal is to get several BB offers and with a little negotiation bring it to BB+ offer.
- solipsism 11y agoDo you not try to negotiate then? BB is within their range, and presumably you can argue why you're more deserving than the lower end of their scale. Why would they not go for BB?
- betadreamer 11y agoOf course you will negotiate but a lot of companies have equations/guidelines. "We've paid X salary to our employee that is similar to you" or "With N years of experience at most we will pay X". Some companies have no negotiation policy. Also a lot of time employer loves to pull a card of "let's start from here". They will give you an example employee that got promoted twice in just a year. The point is to save more time.
- scarface74 11y agoI have never done this song and dance. I've been working professionally as a software developer for 20 years and my M.O. Is to talk to reputable recruiters, get an idea what the salary ranges are for my skill set, send my resume to the recruiter and tell them to send me prospects that meet my qualifications and that can meet my salary demands. Then I just sit back, look over the job reqs that they send me and then I decide whether I want to be submitted. Within two to three weeks, usually I have competing offers. I've never failed a phone screen with an employer and I've only twice haven't gotten an offer. Luckily my first job I got was based on an internship. I graduated from a Podunk state college and I've been able to demand a competitive salary after my first three year job stint.
- dunkelheit 11y agoMaybe my part of the world is somehow different from Patrick's but I find some of the points in his talk simply untrue, and others true only with some fairly big caveats. Like: "Sending in resumes is not how people get hired for most jobs" - simply untrue. Where I work, most successful hires simply sent their resume via the form on the website. Or recruiters pinged them via linkedin or some such site. No behind-the-scenes hobnobbing was necessary. Boring, I know. "every company that has more than 10 engineers is going to hire engineers this quarter" - simply untrue. Hiring freezes are a real thing. Of course if the candidate is really experienced or a perfect skills fit for that particular company then something usually can be done but if you are a junior or a merely "ok" developer then tough luck for you. "you ask them are they team leader or higher in their company. If they say yes, they either are a hiring manager or they know who is the hiring manager." - team leaders trade in this funny currency called "vacancies". And if a team leader is short on those he or she has very little incentive to bring you into the company. Of course if you meet a team leader at the developer conference then they are usually hiring (and often explicitly say so during their talks!)
- vpalanc1 11y agoHis advice flies in the face of every negotiation course/book. Yes, you must know the range they are willing to pay; but once you know... you don't wait for them to make an offer, you ask something at the high end of what they're willing to offer, possibly above (but close enough to) the higher margin(* ). The one who first names the price forms the baseline of negotiation. Say their range is 100-140k. If you say, "tell me what you would pay" and they say 100K, you're screwed, no way you can say "150k" from there and still be taken seriously. If OTOH you say 150k at the start and are lucky enough to get the answer "no way we can give you more than 140k", from there it's a simple job of asking for an extra concession that you know they can make ("Hmm... ok, say I could accept 140k, but only if the company allows me to WFH when I need to") ( *) Of course, not from the start. He's right about that. They need to be invested in the hiring - if they already spent a lot of effort trying to assess your skill before making an offer, you're in a much better position to ask a lot. Presuming that they like you, of course.
- pitt1980 11y agobm