As a hiring manager during our first conversation I ask candidates what they are looking to make then let them know if that falls within the range that we can pay. I usually go over this at the end of the conversation however I'm considering moving it to the beginning, it's such an important thing that I don't want to waste people's time if our expectations are wildly miss-aligned.
https://www.levels.fyi/ is a great resource for people wishing to get a gauge of the market. At least there's lots of data for the US.
Regarding salaries and job interviews. I really dislike the “So what’s your current salary” question, but I’ve come up with a counter q, which admittedly didn’t work that well last time I tried, but it’s “What’s the avg salary for people with my experience in your company”.
So, the reasons I ask this question are several: 1) Salary is an important part of a job. I need to know if we’re in the same ball park. 2) This is a way for me to get this information without revealing my position 3) I wouldn’t want to work at a company where my salary was significantly different from that of my colleagues.
Problem is, of course, that there might be companies which don’t have employees with comparable experience as yourself.
On a tangent, as a software dev with quite a few years of experience, living in one of the more expensive countries in the world (Norway), there are a bunch of (international) positions I do not even consider applying for because I assume the compensation is way below what I need.
Similar thing living in the SF Bay Area. I get inquiries from across the US for remote Clojure roles quite often. But the salaries in different states are so varied, and most are not going to be competitive (or close) with the range here.
Seems to me that there are 2 kinds of cultures. One culture is competitive and there sharing income information is a taboo, because if you have too little compensation relative to your peers you feel bad because it seems not just unfair but you appear as if you were admitting mediocrity, and if you have too much compensation relative to your peers then you feel bad because it looks like bragging when you don't necessarily feel better than them. Another culture, one that is much less visible and much less influential is a cooperative culture, there most people make around the same amount which overall is much better for everyone since it yields a fairer society and this question doesn't really bother anyone, it's openly discussed, but you don't get much of this culture anywhere where a programmer might work for top compensation, kinda by definition. It bothers me to a great deal how lots of people apparently try to cooperate (e.g. by giving advice and sharing other kind of information) while maintaining the assumptions of the competitive culture. If you think your income is such private personal information, I understand that you believe that you would lose overall if you were to share this information with the world. That can only mean that you are competing with me. Anyone trying to cooperate would share information and not try to use it as a weapon. Maybe I am wrong about this, but I am simple this way. Cooperating with the people who clearly want to pay me as little as possible for my work is not cooperation with me. I also know that relatively few but very vocal minority believes that sharing income information publicly harms them, but unless you are making top 0.1% or similar ratio to rest of your profession, that's not true. I also know that there exists ideas that competition overall yields some kind of mythical efficiency, that, although bad for everyone individually, it is good in average because the top %s are so much better off that it skews the measure. I really don't expect anyone here to believe in this, even though it's very prevalent in certain circles. :)
> unless you are making top 0.1% or similar ratio to rest of your profession, that's not true This is a very generic statement that's also not true. Just my own example shows that it's not true.
From your response I get the feeling that you don't quite understand what I mean, since I am talking not about specific people, but groups of people. Obviously, since it's a generalizing comment, you can find specific counterexamples. But does your specific counterexample actually disprove my generalization of the groups? And I must say, that without you saying what you mean, just stating the facts doesn't actually help me question myself. I would like to know more so I can update my views, if that's necessary.
Just to be explicit. In the quote I compare how much people would be compensated now vs how much we all would be compensated if the ratio of competitive vs. cooperative (non-sharing vs. sharing) would be flipped.
It wasn't immediately obvious from your previous comment that you were talking about groups of people. In that case, I cannot really object or confirm.
Certainly if you add specific legislation or culture at specific countries currently, this is definitely not the case. I also worked at places where sharing would've resulted me being fired even though it was technically illegal, I knew I couldn't do anything about it.
I am sorry that it wasn't quite clear, I tried to make it so. Thanks for the comment, it helps, next time I will be more careful about this comparison.
Priority on privacy benefits the ones who are good at negotiating and in principle it's better to have it this way. But in practice the full public model allows more equality and if you play your cards well also improves your chances when negotiating, but you're giving up something, sure.
it's not all white/black
I have personally seen people around me using that system to their advantage (in one case obvious inequality between men/women, another, same job title/experience with 50% salary difference)
(at least this is my experience, I went through both models, living/working in switzerland & sweden)
@danielglauser I had an interview once where they asked that question during the offer portion (very end, wanting to hire me) and I gave a range A-B, thinking that they would pick somewhere in the middle, but instead they offered A.
After that, I shifted my approach, waiting until an offer is being made and asking them to give a range first.
As a potential candidate, I prefer when companies say their range up front and ask if that works for me. We don’t need to hash out specifics, but now we know if we’re in the same ballpark or not.
This is also helpful because there’s often a power imbalance between companies and candidates, and evening that out a bit is a sign that a company is going to treat me fairly, increasing my desire to work there.
Thanks for sharing your perspective. As a hiring manager I’m trying to build a good team which means treating people well.
I think both (candidate and company) would benefit if the company stated the highest salary that they are willing to pay and candidate the minimum one. You split at the “middle” and both would win. At the end you want to be paid more than your minimum. And the company want to pay less than the maximum.
Here in the UK (and probably in the US too) there is no upside as a candidate to saying a salary number first, as you are probably leaving money on the table by doing it. Anecdotally, I've had several offers higher than what I would have said if you put a gun to my head. Under normal circumstances I wouldn't even be interviewing if the company didn't tell me the pay range for the role up front (and it was acceptable)
Best of luck 😄
What are the downsides of, when asked, just telling the company a very high salary that people on the same position can get? Do companies really answer with "we can't pay you that much and we won't tell you how much we can pay you" and not with "that's too high, we can only pay you X instead, let us know if you can agree to that"?
My one data point: When I applied for the job I have now, I was asked what my salary expectations were and gave a range A..B
. When I was offered the job, the salary that they offered was precisely (A+B)/2
. This made me feel a little naive (this is my first job in London and, until that point, I hadn’t quite believed that salaries really were that much higher in London than elsewhere in the UK). It also made me feel good because they could have just offered A and didn’t.
After I’d been in the job for a while and was involved with hiring myself, my boss (the one who made the offer to me when I joined) explained his philosophy behind asking for salary expectations: It determines the level at which he expects the candidate to be able to perform. The team often has some freedom to be able to hire engineers at different levels, depending on which candidates apply, but if a candidate asks for a senior engineer’s salary then they’d better be able to demonstrate during the interview process that they’re capable of performing as a senior engineer.
Having said all that, there’s a fair bit of range within each band so I can’t really see a reason not to politely state expectations at a high (but realistic) level.
What happens when a candidate asks for a low salary but proves themselves to be more than capable?
They'd better switch jobs to get paid fairly, in general
I imagine it’s a choice between a) the company takes pity on the candidate and offers what the candidate is truly worth b) the candidate leaves money on the table and is underpaid 😕
yes, once you're in it's way more difficult to renegotiate, the larger the company the worse it is
then you can be in position of strength for various reasons and that can tilt the balance, but it's not always the case
I read an interesting book about negotiation while back, Never Split The Difference by Chris Voss. Mr Voss is a former FBI hostage negotiator and sounds like he knows his stuff. His advice for these sorts of situations is to politely suggest a range A..B
where A is what you want (and is realistic) and B is a bit higher.
I have seen people, resign go work for competitor for a few months/years and come back with massive pay increase compared to previous salary
Yeah, at large companies (like the one I used to work for before I moved to London) make it very difficult to renegotiate. I left when I realised that I was massively underpaid compared to the market and my manager agreed with this assessment but told me that he wasn’t going to be able to do anything about it. He eventually offered me a pay rise (a huge one) after I handed in my notice. I told him, truthfully, that I would have stayed if he’d offered it to me a few weeks earlier. But my understanding is that managers at that particular place don’t have access to the budget that allows them to make that sort of offer until an employee walks into their office with an offer letter from somewhere else.
Yes, I totally agree. I think some people might not realize that you have to ask for a minimum that you’re very comfortable with.
(I’m not clear whether I could go back there and be re-hired on a much higher salary and am unlikely to find out at this point 🙂 )
It’s a joke to say the least to make a better offer when you decide to leave.
can be tricky with companies that value loyalty, but the larger they are the less they'll care I guess
@cdpjenkins I had a somewhat similar experience when I left from a big company. Short after it former colleagues that had a similar role I had, where given raises.
@gklijs exactly the same thing happened to some of my former colleagues in the above case!
The trouble with big companies is dealing with several layers of the company at the same. I was dealing with my manager (with whom I had a good relationship and who I assume wanted to keep me) but also with the unbending will of the processes that the corporate bureaucracy had put in place to deal with situations like this.
Yes, lots of things make it more difficult in big companies. In the Netherlands often they are also bound by agreements with Unions. So for some sectors there is a hard limit to what they can pay for a certain role. Which in practice means they need contractors to do the work, which is more expensive..
@seancorfield In your experience, is there ever any way to salvage a job opportunity where they ask you to do a coding test despite your decades of professional experience and many public open source projects… or is that just a dealbreaker where you have to cut losses and move on?
@paul.legato For me, at this stage in my career, that's a deal breaker. It was pretty much a deal breaker for me even 20 years ago, TBH. A company in Dallas flew me over from England for an interview and dumped a coding test on me -- on a Windows machine, using Visual C++, neither of which I'd worked with previous (I'd done all my C++ on Mac and Unix with much more draft-standard-compliant compilers) -- and I just got up and left early. The whole interview was pretty terrible but that was the "icing on the cake". Weirdly, they still offered me the job (I turned them down).
haha
I guess they liked you!
The feeling was not mutual 🙂
Maybe your company can build a “dating app for jobseekers and companies”…
Funnily enough, we get asked that more often than you might imagine...
the reverse can be just as bad. as an intern in university in Canada, I saw a really interesting posting from a small New Zealand software company, and applied. one of their people flew all the way from Auckland to Toronto, interviewed a couple dozen students. but despite it being a pretty straight-up rank and file coding job, they asked no coding or even technical questions, neither whiteboard exercises or a live coding test on a laptop. just general interview things, career goals, "tell me about a time when" etc. seemed like a huge waste of effort, if that's the sort of low-signal interview you're going for!
are there actually people who apply for jobs that involve coding that don’t know how to code? I always worked in small companies or as a freelancer, and this never came up.
Thinking about it, it seems like a nightmare! Applying for something you can’t deliver on.
I doubt you need to worry about people who can't code at all trying to bluff their way in. but there's at least an order of magnitude between great programmers and bad ones, maybe two. seems worth even a brief half-hour whiteboard exercise just to check the box. but that's for a coding position. if you're looking for a senior project lead who needs to speak tech but not write code day to day, then it's a waste of time I agree.
(and a solid open source portfolio should be plenty of evidence)
I see. In the other hand the coding challenges that people apparently get asked to do seem to be kind of irrelevant to the day to day. I like doing coding challenges now and then, they are little fun puzzles. But in the day to day most of the stuff is code structure/organization, data modelling, IO, data flow, constraints… the algorithms are mostly simple.
The real thing is very hard to test I think.
I think that’s one of the reasons coding tests are given these days. In my experience, most interviewers are actually quite bad at it, they know it, and so the only thing they can thing to do is give a test.
I find its a somewhat recent phenomenon as well. In my early days I never heard of such a thing.
Yes.
They get more work for the same salary.
I've told this story before, but maybe there's a new audience for it here by now... In the early '90s I worked for a firm of actuaries (in the UK) and we did mostly C and some Prolog and we targeted i386 and Inmos Transputer systems (Parallel C). "The Management" decided we should have a coding test for our interviews and decided I should write it (hey, ask the new guy with the compiler background to write it!). I said "Well, if you're going to test candidates you also need all your existing staff to take the test so we have baseline scores for every role level in the department" and they agreed that was a good idea... So we made my whole team take the test. The "Programmer" level folks all scored really badly on it. The "Analyst" level and higher folks all scored acceptably. The test was fine -- the problem was that the company had promoted "good programmers" into more team lead / management roles and hired in new programmers with no good interview process in place and so they had poor programmers doing most of the work. I wasn't very surprised -- I'd already told the head of the department that he could probably cut his IT department in half and still be as productive by having the more senior folks actually write code instead of writing reports. He wanted to build a kingdom instead.
I only used coding tests for entry level jobs, and only as a very short (less than 15 min) screener that we give up if there was any hint that the interviewee didn't like it. Obviously, if you can't write a conditional or a for loop correctly (with help) that is kind of a red flag.
That's not intended as an argument in favor of tests (I never give coding tests) but it is a testament to just how poor the interview process is at many companies, that they have no idea at all about the actual capabilities of the people they already have 😐
kingdoms pay better than it departments :D
I've done a lot of interviews for intern candidates at my old school, back to back with a colleague. we'd trade off, asking more high-level algorithms and design questions, vs. asking a more straightforward coding exercise, or a series of them. no trick, lateral thinking questions, like most Advent of Code things for example.
many, many times the scores were polarized. smart candidates that could talk through a design problem nicely, and I was sure were fine, but then couldn't finish the 10-minute warmup coding problem, let alone the more complex follow-ups. and vice versa, though that was perhaps more rare.
that's far from a perfect interview process, but either style alone would have been much worse than both.
that's one angle. the other is that you don't necessarily want to filter everyone who you can trip up with some process
My bias is that good coding can be learned. Sure there is talent involved, but in my experience it is mostly a question of willingness and mentoring. I teach coding in a school for designers, for UI and UX designers. And I found that with the right guidance people can improve and learn drastically
of course that was interviewing third-year students for pure coding positions.
I had people come to interview who clearly had no idea about any programming.
And tried to wing it.
Aren’t those people fairly obvious to detect without a coding test?
Not necessarily. Not as fast. Not as reliably.
But you’re going to pick that up during the interview process, right?
I expect it depends a lot on the actual process and the people doing the interview. For us, it wasn't.
I don't know. What I do know that I had at least one person work as a senior developer who for 6 months didn't commit usable code.
I would think that using @seancorfield’s Interview mind map would pretty easily highlight someone who doesn’t really know about any programming.
do you happen to have it at hand? Guess I should have bookmarked it
https://clojurians.slack.com/files/U04V70XH6/F01C97V92G4/interview.pdf
thank you!
@ben.sless For future reference, this is pinned in the #jobs-discuss channel. Open up the channel information sidebar (click the (i)
button, top-right, and then expand the Pinned section).
🤦 I even looked at that channel's info, just didn't look at the pinned posts. Thanks Sean!
Never underestimate Slack’s ability to obfuscate things. 😄
> here's our productivity software for remote teams collaboration, which is why we're an exclusively in-office company
@Darrel that's an entirely different question. Not being able to write correct code or not know any programming are not the same category.
“What’s your least favorite programming language?” “VB6" “Why?” “Well they really ruined things after version 5" “… uh, what else?” “Well…” Meanwhile I’m trying to silence the alarms going off all over the place.
My approach is to pair program FizzBuzz with interviewees. I think it’s much lower stress but can still tell you a lot
That probably could've caught the senior who couldn't code. But generally, it might be that someone just spent 6 months intensive learning, they don't yet know any language, asking such a question is pointless, I might see from the resume that. Asking leading questions might just scare people and induce a serious inferiority complex. I think we can agree that there is no one procedure that fits every situation, it's one of the most complex things that humans can do, figure out if they can work together productively, for years, without actually being able to work together for a while.
Pair programming is great, but I don't see many people do it.
Yeah I think it is the best way to interview for basic skills because you can see the way someone interacts with their editor, thinks through problems and collaborates
But I agree it is something many people say is good, but don’t actually practice 🙂
There's an organizational rule, don't remember its name, that the position you don't get promoted from is the one you're worst at; alternatively, your promotion stops at the position you're worse at
For the test task - sometimes you know the given person is able to do the test task and the solution will be awesome. But if a given person is not willing to do even a simple task, how much does this person want to work with the company? In SW development, it is not always greenfield project, not always the newest devstack, not always absolutely new task, where the dev learns a lot. My experience is, that there is a lot of developers, who doesn’t really care about the company they work for. And then there are devs who really pick a company and are willing to do something more to get the job. If mundane, simple task gives the recruiter a signal, who is in the interview and what is their motivation, it has worked.
Saying no to a test doesn’t always mean they don’t want to work with the company. Some people simply don’t test well. Maybe it makes them anxious or maybe they don’t feel they have the time they need to properly demonstrate their abilities. Any number of perfectly valid reasons are more probable than they don’t want to work with the company.
Test task is not for demonstration of abilities. Test task is primarily for filtering absolutely irrelevant candidates and in some way, show how people approach problems.
I think test task should be <30 % in the decision making process, but the existence of it is not negative. I personally hate whiteboard programming. I have no problem to tell that - guys, please, don’t push me to whiteboard. Give me a computer, doesn’t matter if MacOS or Linux, Vim or Emacs, just don’t push me into whiteboard. Except interview with Facebook, everyone was ok with that.
I broke a long-standing personal rule to not do tests and took one earlier this year (in part out of curiosity but also because it was for Clojure and I actually really wanted to work for a company doing that). I did pretty terribly, to be completely honest. There was some anxiety there but that’s because I had three guys virtually looking over my shoulder, critiquing every thing I said and typed. Even though they tried to set me at ease by telling me they know it’s difficult to do coding tests like that (which I appreciated), it didn’t really matter. My mind went blank several times simply knowing I have someone looking over my shoulder. I finally came to a workable solution but I knew it wasn’t good. The thing is; after the interview was over, I re-did the test and came up with a much better solution pretty quickly. I did so because I was working in a more real-world environment. In any job I’ve ever had, if someone is looking over my shoulder while I work without my asking them to, I’m going to ask them to go away. That’s not normal!
I tend to have a really hard time with that as well. FWIW, my strategy is to tell them up front that interviews make me nervous and they're not likely to see my best work. I've consistently gotten a response of "Oh god, I know, right? We'll take that into account." I don't mind being tested because I'd be hesitant to work for a company that didn't do something to confirm that they're hiring competent devs.
Sure, there is certain level of anxiety connected with it. I have realized that today, when we had coding dojo (implementing it in Forth which was new for most of us) and the one who have shared his screen obviously needed more mental stability than those who didn’t share and who were leading him in the mob programming session.
I think good interviewer should be empathetic and should know that remote pair programming on a test task on unknown codebase with a complete stranger is stressful and doesn’t lead to expectable productivity. Still, it can filter out people who don’t even know how to concatenate strings and somehow think they will ‘fake it till they make it’.
Very clearly this interview wasn’t a filter. They were pretty much grading every move I made. Maybe that was atypical but come on. It really wasn’t. We all know that.
In fact, I suspect coding test interviews are generally worse than the one I did. They’re probably throwing all kinds of nonsense a the interviewee that bares little resemblance to day-to-day life at that company.
At our company, we now use a combination of 1. culture fit interview; 2. very simple (pure async, take as much time, nobody behind your shoulder) task, 3. speaking about development interview, 4. developer seniority questionnaire (open questions, not just 1 good answer), 5. we trial @seancorfield’s mindmap too. Overall, the test task has no more than 20 % impact in the decision making.
And without this test task, I think we could hire people who love Clojure, can speak “about development” without being able to do even simple tasks.
Who are you guys ?
Which is connected with second topic people have discussed today - asking how much given person earns. Sometimes, we ask how much people earn, but we don’t use it to set the salary. In fact, there is internal mechanism and 2 devs, who are similar in their qualities, are supposed to earn similar money. So if a given person is bad in negotiation, if they are good in development, we want to compensate it (bonus, rate increases, other advantages). But asking how much people earn has one very good advantage. When you are interviewer, you get lots of data. And from that, you learn what is current competitive rate. So you know, what is common. It is not a signal to pay given person less. In fact, it is a signal, to increase average rate of the whole company. Mainly in a situation, where you would be hiring people who would earn more than existing employees even when the candidate has no significant advantages over existing peers. Personally, I don’t think it should be illegal to ask this question. It might be illegal to discriminate by the answer, but the question itself does not have to lead to discrimination/lower salary.
I can’t disagree more about asking what they earn. First, it’s none of your business. Second--though no less importantly--it has no relationship to the amount of value they’re going to bring to your company. Finally, if you want to pay them a competitive rate then you have all kinds of market data available to you based on a multitude of data points. You can easily use that to determine a total compensation package to offer them. Franky, in my opinion, there’s no other reason to ask them what their current/previous salary is than to determine how little you can get away with paying them. I apologize for being so blunt but I’ve talked to many hiring managers about this issue and every single one has said they ask for previous salary for that reason and that reason alone.
“Finally, if you want to pay them a competitive rate then you have all kinds of market data available” where can I get these data for Clojure?
I don't want a competitive rate. I want a cooperative rate. Sorry, but this shouldn't be a race of any kind.
You’re asking the wrong question. It’s not about the language it’s about the role. You don’t need market data for “Clojure developers” you need it for the role in question, and if you’re hiring a “Clojure developer” I would question why you’re calling it that, but at some point debating titles is moot
Maybe you are right and I should stop asking that question even when I don’t use it to disciminate anyone because of that. At the same time, I must admit, it is convenient to learn what is common. I feel it helps people at the company because we know how much we should raise every year and we don’t discriminate against anyone who refuses to answer this question.
The "Peter Principle".