94 comments

[ 3.1 ms ] story [ 151 ms ] thread
Aline, this is a fantastic article. I agree with many of the points in principle, but I don't agree with the outcome. I believe a model where candidates pay 3rd parties for precise jobhunting help is economically rational, and can work - it's effectively what we're doing at http://offerletter.io.

Here's where you and I diverge:

1) Yes, engineers and other in-demand workers have ready access to jobs. I remember when I was looking for a good engineering job out of Amazon, I was basically spammed nonstop by virtually every party on the planet.

2) But the opportunity cost for poor job selection is enormously high. The difference between choosing between a good startup on good terms, and a less-good startup on less-good terms, can literally mean the difference between retiring 20 years early having your work used by millions of people, and just puddling around for a few years with, say, the occasional PyCon lightning talk for visibility.

At http://offerletter.io , we are doing precisely this - we are getting paid by engineers, designers and PMs for value added - in this case, during the negotiation process. Our team of Advisors guides candidates on the "last-mile" of offer selection and negotiation in exchange for a cut of the increase.

It makes too much sense - there's massive information asymmetry during the process, companies are full of shit, and many people outside of "the club" - however you choose to define it - just don't know what they're worth, or how to get it. While we can't justify charging the $10k-$30k that recruiters make, the incentives are still incredibly strong for us to do what we do.

And of course there's the ethical and human component, which is very strong - I tried more traditional recruiting for a while and just raw selling of companies is so tiring. I like helping people first - all of the Advisors do.

I'm not sure we're actually disagreeing. OfferLetter.io works precisely because you're focused on the negotiation part. There, your incentives are aligned (it's always in your interest and the candidate's to get them more money). And there, it makes sense to pay you because you're only paying if you do end up with a higher cash salary.

If you were to branch out into helping people find jobs, I don't think it would work. All of a sudden, you'd always be incentivized to find people cash-rich, equity-poor positions, largely limiting the pool. Money is important, but at the end of the day, it's just one of many factors. It just happens to be the most easily quantifiable one.

Moreover, if we ignore this disincentive for a moment, if you were to branch out into end-to-end job search (rather than just the negotiation part), you'd quickly become frustrated because for a lot more effort, i.e. everything before the negotiation, you'd be getting much less money than you would if you just struck a deal with the company side o the market instead.

If we're talking about incentive alignment being the primary driver, I personally don't believe it's impossible to justify taking an equity cut, if possible and reasonable (10-20%), with the mutual understanding that the outcome is going to be much better if we help with the beginning of the process. Building a reputation for being really awesome would be challenging - people would want to know that it's worth the fee. Two other big blockers:

1) Multiple levels of taxation

2) Startups will be wary of having random third parties on their cap table

There's probably other stuff too. But I don't think it's impossible, just very hard. There are other ethical concerns from this side as well - hollywood talent agents don't always have the best persona. It's part of why we're avoiding the "Agent" moniker at http://offerletter.io and branding ourselves as Advisors instead.

This is a long ways off, of course - there's a lot of work to be done even in at the narrow step of the funnel we're targeting right now.

re: #2, that's why god invented derivatives. contrary to popular belief, you CAN write derivatives on your private stock options - the derivatives will just also be worth nothing if the engineer leaves early / company folds / etc. and they will be a tax nightmare even if you take early exercise and handle everything correctly. i'd LOVE to see someone pull this off successfully though.
This is a great point. If you have more detail or insight about how we might go about this (or precedent around it) , definitely let me know!
Thank you for this! I was literally having this exact conversation 2 days ago with the same 'last mile' approach. I'm glad someone's already doing this.
:-) Drop me a line if you want to chat or discuss further! Would be great to know what you guys were considering (mallyvai at offerletter.io) - or just tweet at me - @mallyvai .
I could see this model work really well by focusing on a specific set of larger tech companies - ie, Google, FB, Twitter. I like that your incentives are aligned with employees, and not split (in the way that recruiters are)

You'd be able to amass some key intelligence on how to negotiate with various hiring managers and departments over time. Right now, this is tribal knowledge.

However, I'm not sure most of the value prop is not covered by a combination of sites like Glassdoor and PayScale, and a set of articles that guide you on how to do salary negotiations effectively.

GlassDoor and PayScale are great for general statistical research and "ballpark" analysis of offer information. But they're way less valid for the startup world, since equity grants are so wonky depending on stage, etc. Even within big companies, there is a ton of variance in terms of which orgs may be more or less generous, etc.

tl;dr they are no good at saying what you should earn.

Also, there is definitely a ton of salary and negotiation "advice" out there. But many of the people we work with, already tried reading it or talking to friends, etc. There is an enormous amount of stress and pressure at the last-mile, and a few essays in no way compare to someone with institutionalized knowledge actively working with you over Skype, coffee, or on the phone.

One of the first ideas I had in the space was a better Glassdoor of sorts. I discarded it quickly. http://offerletter.io is, fundamentally, very different.

I think you're spot on.

>"1) Yes, engineers and other in-demand workers have ready access to jobs. I remember when I was looking for a good engineering job out of Amazon, I was basically spammed nonstop by virtually every party on the planet."

Do you think that might say more about the social proof of working for Amazon than the market for engineers in general?

Certainly the job market for engineers is great, the market for good engineering jobs, not so much.

Having been successfully vetted by a big name certainly impresses me as a golden ticket to the good floor.

>"2) But the opportunity cost for poor job selection is enormously high."

I could not agree more.

One data point, so take with a grain of salt, but somebody I know very well used offerletter.io and ended up severely underpaid (should have received ~$15k more).
Hey lquist - very sorry to hear about this. Can you encourage this person to reach out to me, or connect us directly? Can look into it ASAP. mallyvai at offerletter.io . Also would be great to hear (at a a high level, without disclosing anything confidential) - why you (or they) might have felt this person was underpaid.
I wish agents existed, at least for the contract market. Once a contract is finished, it could take a while until one finds the next gig, so having an agent would definitely help. A dream of mine was (before getting married and 'settling down') to be able to work contracts 6-9 months of the year, and to travel the rest. Temporary contract work would be ideal for that scenario.

I understand why the recruiting market is skewed in favor of recruiters and companies, yet I wish there was a bit more quality for engineers. In my 10+ years in IT, I have only met one reliable recruiter - someone I could call upon when I had a need, and who knew my background and skills. 99% would forget about me as soon as that particular position was filled.

The only good experiences I've had with recruiters has been with those employed directly by the company they're hiring for. There probably are good independent recruiters out there, but they're overwhelmed by the shysters.
It is very hard to find a good recruiter who is actually concerned about their engineers. Haven't found one yet
The best recruiters at staffing agencies function like talent agents and prefer to place contractors on gig after gig because they know what they are looking for and won't waste their time with irrelevant opportunities. The spammers you see are usually newbie recruiters from bad agencies.

Our website http://www.oncontracting.com aims to help contractors discover the best staffing agencies and recruiters based on the clients they have. The idea is if you are interested in contract jobs at Google or eBay, you should be able to discover and connect with only recruiters that can get you gigs there.

If the distinction is who writes their cheques, aren't they just called marketing people, and they work on the scale of selling consulting teams?
Another difference between actors and the engineers the OP is talking about is that engineers are salaried employees who do a job search every few years at the most, and actors are self employed freelancers whose jobs last at most a few months. In that sense it almost doesn't make sense to talk about the unemployment rate for actors.

An area where it may make more sense for engineers to have agents is in the freelance space. Any dev shop that has a sales team is doing essentially the same thing.

I would consider paying a finder's fee to an agent-type entity who could find me decent projects and keep my pipeline full so I didn't have to worry about it.

That's a difference now, but should it be this way? Realistically, any engineering project you work on should only be lasting a few months. If you built it correctly, you should finish it and hand it off to contractors for maintenance. Top-level engineers should be spending their time implementing hard new projects, not maintaining old ones.

Is there any inherent reason why companies could not hire top engineers on a contractual basis for 6-12 months at a time? Given how specialized many projects are, it seems it would be more efficient to do this than hiring a new specialist full-time for each new project. The only reason I see that companies do not do this now is because it simply isn't the norm.

Also, as an engineer, I would prefer to work on a new project every couple of months.

Many engineering projects (especially outside of software) can last many years, making engineer (knowledge and understanding) retention quite valuable, and the engineers involved wish to see it through. In addition, we should keep the nature of the firm in mind, and remember that keeping a team together has the potential to greatly reduce transaction and switching costs.[1]

[1] http://en.wikipedia.org/wiki/The_Nature_of_the_Firm

I'm familiar with that essay (did you also just watch Aaron Levie's stanford talk?), and that's a good point.

How greatly are transaction/switching costs affected when segmenting projects in 6-12 month intervals? I would guess, that when you're throwing senior engineers at projects, the switching costs are non-trivial, but low. It's probably an acceptable tradeoff to pay when developing specialized projects you don't expect to carry over to future ones.

There's also the argument of developing a labor force to compete with other enterprises. However, if the best engineers are in sufficiently high demand, it may be more economically rational for them to move between projects every 6-12 months, gradually increasing their pay-rate and improving their portfolio after completing each one. If this is the case, then companies would be forced to hire top engineers on a contractual basis (or pay them a significant markup annually), purely to compete in the labor market for top talent.

It was my impression that most top engineers already do this by either being freelancers or through poaching.

Or even, at the very least, by switching projects internally.

> Is there any inherent reason why companies could not hire top engineers on a contractual basis for 6-12 months at a time? If you built it correctly, you should finish it and hand it off to contractors for maintenance. Top-level engineers should be spending their time implementing hard new projects, not maintaining old ones.

Many if not most technology companies want their expertise institutionalized, especially when it comes to the most complex aspects of their business. This is where they create the most value and have the greatest opportunity to build competitive advantages. There is no incentive to outsource their high-value work to somebody who is going to be gone after a few months.

This is why companies like Google, Facebook and Apple are willing to lavish the most desirable candidates with significant cash and equity compensation.

> Also, as an engineer, I would prefer to work on a new project every couple of months.

Become a consultant. You may be able to make a lot more money, but:

1. You may find that there are no opportunities to work for the type of companies you'd like to work for because they don't hire consultants in any real volume.

2. Limiting yourself to two or three month engagements will exclude many of the lucrative opportunities, which typically demand multi-month if not years-long commitments.

Hi -- I checked out your other comments. I really like your perspective. If you would be willing to chat with me, I'm graduating in December and looking for the next opportunity. Email in profile, if you're interested/have time. Thanks.
In #2 are the "lucrative opportunities" for consulting on a multi-month/year contract or were you referring to the equity/benefits/stability of being a salaried employee?
I was referring to lucrative consulting opportunities.

Side note: the "equity/benefits/stability of being a salaried employee" are somewhat overestimated.

1. Equity has risks associated with it that are discounted during good times but become painfully obvious when the business cycle turns. Think Google or Facebook are great companies with bright futures? You can buy their shares without having to work for them for 4 years.

2. If you're working as a high-end consultant, you will easily be earning enough to create a tailored benefits package for yourself. For instance, you can set up a self-directed 401(k) and defer up to $18,000 of your salary (2015 limit). Your business can also contribute up to 25% (or 20% if you're a sole proprietor) of its profit as a profit-sharing contribution. All told, you can stash away up to $53,000/year pre-tax in a 401(k).

3. Stability is an illusion. Most salaried employees are at-will and can be terminated at any time for any reason, or no reason at all.

I completely agree with you. And honestly, I'm surprised how many people on these salary/negotiation HN threads say startup equity is a serious part of their financial plan. I treat any equity offer like Monopoly money -- it's probably worthless, but if not then it's just a nice surprise.

By the way, any advice for salaried engineers who'd like to start consulting? Anything you wish you'd known or things you'd do differently in hindsight?

Few people get rich on salary. There are many, many examples of folks rich off of equity. They are clearly different propositions, and the value people assign to them depends on the person.
> There are many, many examples of folks rich off of equity.

This is true, but you need to look at who they actually are. The majority of folks who become fabulously wealthy off of equity (read: owning a piece of a business) are the folks who start those businesses and manage to hold on to most or all of the equity.

Most of these businesses are obviously not in tech, but if you want to filter out non-tech companies, the power law distribution of equity-derived wealth in Silicon Valley still doesn't favor employees, even those who join companies early on.

And yet I know several personally. Wealthy off of equity from being early employees. Maybe half a dozen. That's enough to make a person believe.
Yes, there are anecdotes of individuals who had a large payout from being an early employee. It's a major risk/reward proposition, and the likelihood of the reward is quite low.

It's basically like being paid in lottery tickets. Fine so long as the rest of your salary is enough to pay the bills, not fine if you depend on it for your retirement, and either way, some of us would prefer the well defined payout of cash.

Except its not really like that at all. You get paid in cash plus equity. The value of the equity part is somewhat under your control. Hard to affect the value of the lottery ticket.

It may seem hopeless, and indeed many other factors do make good product companies fail. But when other factors do NOT intervene, then the remaining value does depend on your execution.

I think you both are right and therefore you both have answers to your own question. The freelancer model is supposedly ideal: the company pays for a project, the engineer works on it for a definite time, and then both move on. No internal politics, promotions, boring projects, relocations, layoffs, etc.

The price to pay is that you have to find a job every 3-9 months, and that's not easy, even if your skillset is in high demand. You'd have to invest a significant amount of time. Conversely, the company couldn't build upon assets that they invested heavily in to acquire (job postings, resume screenings, interviews, offers, training, firing, etc.). If a reliable 3rd party could act as the agent for engineers, vetting their skills and credentials, maybe this market could become more fluid, but even if the benefits would be huge, the article clearly explains why the environment is not favorable.

It would make sense to bring on someone with knowledge that isn't held in house (i.e., you need to interact with X, and no one is familiar with X, so hire someone for a few months who knows X backwards and forwards), on a contract to contract basis, but it doesn't make sense to do that for the entirety of new development. The cost to bring someone up to speed can be quite sizable, and you're looking at paying out that cost again every time you replace a contractor.

Similarly, I really, -really- dislike the idea of institutionalized discrepancies between "the rockstars who develop" and the "grunts who maintain it". Because then any problems with your code after the initial "it works"...are blamed on the maintainers not being good enough, rather than the fact you wrote it as quickly as possible, without concerns for long term sustainability. In fact, it provides an incentive to getting code written as quickly and sloppily as possible, rather than as robustly and maintainable as possible.

Great points, re: discrepancies. In a way, I'm seeing both sides of the coin with a client for whom I designed and developed custom business software. Initial monthly budget gave me the flexibility to be a rockstar that actually put in quality tests and refactored for long-term maintainability.

The client is happily using the software and has many more ideas to implement, some of which I supplied! The system helped them explosively grow their business but over time has become part of the daily business routine which inevitably means they want to reduce costs.

Naturally, this means we are building fewer features each month but the cost focus pressures me to sacrifice some refactoring, testing, and UX quality which makes me feel more like the grunt that maintains it. On the plus side, my effective hourly rate has improved since I negotiated a fixed monthly fee into our contract and I've had time to find a couple more clients :)

Well if company uses something or does something that is not common in market place and becoming fluent in it takes month or two. Changing engineers all the time would mean that no matter how hard core coder would come he would be total newbie in terms of productivity for a while compared to average programmer who just stayed there and knows both the programming environment and target market for programs inside out.
> Top-level engineers should be spending their time implementing hard new projects, not maintaining old ones.

Au contraire. Top-level engineers should still spend much of their time on maintaining projects they designed, otherwise they start forgetting what works in the long run and what does not. It's not that good engineer throws in some secret juice only most advanced know; it's that good engineer knows what makes problems when maintaining the system or scaling it up.

Only unpopular or unscalable software projects are done in a few months. What you're describing is already the norm for custom internal software or other categories of software that aren't necessarily designed to scale beyond a specific purpose. This kind of work is often outsourced to contractors who are hired for months. But the reason that these projects have a definite time horizon is because they are seen as the cost of doing business, not a core revenue generator.

Successful, scalable, revenue-generating software projects that compete in a big market, on the other hand, are never finished. Microsoft still has top engineers working on Excel and Windows. Google almost certainly has some of their best people incrementally improving Search and Maps and Gmail. Many of Amazon's top engineers are working on improving AWS. Apple's certainly not transferring their best engineers off iOS.

The economics of software competition is such that making even a very small improvement to a successful software project that scales to millions of users can be worth billions of dollars, while creating entirely from scratch something that is half as good as another extremely valuable software project can be worth close to nothing. This means an extremely large number of top engineers are going to be working on incremental improvements to successful products purely as a matter of economic necessity.

Also, the idea that top-level engineers should constantly move to new projects is superficially alluring because new projects are supposed to be fun and challenging and the best people should be rewarded with fun and challenging tasks, but in the real world, engineering is mostly about constraints. From a product standpoint, coming up with a new product is challenging, but from a software engineering standpoint, greenfield development is not very challenging because there are so few constraints that make engineering difficult.

Edit: I'd also add that in companies that specialize in the type of projects I described in the first paragraph, what you're advocating is pretty much what happens - the best developers in non-product companies often become architects and managers who get to make technology choices, talk to clients, produce specs and/or working prototypes, while their less-talented, lower-ranking peers are left to deal with the details and implementation issues. When quality isn't important, this is efficient.

Edit2: I think part of the reason why people get the impression you do is that most people's greenfield projects are disproportionately fun hobbyist projects where they get to be the sole guy in charge, whereas most people's non-greenfield projects are disproportionately corporate projects where they are subordinate to the wishes of many others, including other developers, managers, product people, customers, designers, etc.

>Successful, scalable, revenue-generating software projects that compete in a big market, on the other hand, are never finished. Microsoft still has top engineers working on Excel and Windows. Google almost certainly has some of their best people incrementally improving Search and Maps and Gmail. Many of Amazon's top engineers are working on improving AWS. Apple's certainly not transferring their best engineers off iOS.

I'd suggest that products of this size and scope are an extreme minority of projects in general, that projects of the class you describe in your first paragraph are the norm, and an agent would help for those. Also, agents are good for renegotiation (and outside work, for that matter); David Letterman still has an agent. His agent negotiates his continuing to work on the same project, and monetizes his experience within that project as he accumulates it.

I would think the opposite, it's hard to think of a class of software where a project could ever be described as "done", even the most boring business applications have constant scope change as the nature of the business changes.

The only example I can think of might be a video game, but even this is becoming less the case.

> Top-level engineers should be spending their time implementing hard new projects, not maintaining old ones.

Maintaining old but widely used code is a hard project.

The last time I was involved in a project that was over in a few months, I was still doing hardware development.

If we get a project out the door in 3 years, that's considered amazing. Then it's in the field for 10-15 years. I can't imagine working on something that's over in a few months.

I'd say the opposite. The current engineering market is too much like the contractor world.

Real progress is made by working for decades on a particular team, on a particular problem set. See the work done in Bell Labs in the 40s and 70s, the work done at Cray in the 70s and 80s, and the work done at Intel at the beginning of the transistor revolution.

A strong team of people, working together, growing to fill in each others weaknesses - that is what produces the best results.

One of the big benefits to having a talent agent is that they negotiate your rate of pay, with an incentive to maximize it since they're paid a percentage.

It's a little different from consulting shops that might want to maximize the rate the customer pays, but often pockets any 'extra', with your rate staying the same.

Talent agents also know the market infinitely better than the talent does, since it's their day to day job to deal with the going rates.

Add in the benefit of them getting to play the 'bad guy' in negotiations if need be, so you can keep good personal relations with the client. Hell, a good agent is practically expected to be pushy.

For top talent doing short term freelance work, it would definitely have some benefits.

>>with incentive to maximize since they're paid a percentage

No, in this case dealmakers will often want to just make more deals and may even negotiate less aggressively for you.

For example a realtor would rather sell your house for less immediately rather than risk a transaction falling through.

The commission upside of pushing for a 20k higher salary is often just not worth the time compared to getting the next deal done.

Interesting read although it seems overly focused on the differences between Hollywood and certain types of engineering in the average difficulty of finding a job. I suspect it's more about the huge differences in how the market works for typical actors and typical engineers as opposed to their relative employment rates. And some of it probably boils down to "it's just the way things are done."
This business will only grow in the next couple of years. Programming, as a skill, has little-to-no barrier to entry. More and more classes are teaching people how to program.

On one hand, it's great so many people are learning to code. I'm a firm believer in the cause. However, it will also inevitably flood the engineering labor market with a lot of noise.

Companies don't want to spend time sifting through piles of resumes from people who started programming in rails six months ago. "Talent agencies" offer a nice value prop to companies: filter out the noise. I suspect we will start to see more of these companies popping up in the next few years, and the business model will gain traction as more of the labor force moves into engineering.

Another niche that can theoretically exist is the "superstar" engineers. If the best engineers got paid 10x more than the worst, the best agents could obtain salary improvements in the 100k's for their clients, for which a commission would make sense. This will probably not exist, for reasons "we will leave for a future blog post" (tm).
Heh, I wish 10X engineers got paid 10X more.
Would a Talent Agent work for remote workers? Lots of engineers I know would love to work remotely, but when they tried, they couldnt find high paying consistent jobs without putting in considerable effort marketing and building relationships. Could be worth looking into.
This is an interesting idea. I expect there may be some opportunity here, at least while working remotely isn't ubiquitous.
Only a few people can make remote work for them. Its hard, you have be very focused and well planned. And you have to find other social opportunities. I dont see a lot of companies, specially startups allowing it.
Check out TopTal.com. They're a marketplace, not an agency, but achieve similar outcomes.
I used to have an agent. We tried really hard but companies pretty much refused to work with us or worked very reluctantly. I thought the deal was really good, I do my awesome work and my agent gets me in front of best places I could do that work, but unfortunately we couldn't make it work.

When I say hard, mostly we tried for few months and it didn't work.

P.S. To clarify, I would happily pay a cut from my rate to my agent, that was the deal. I wouldn't mind upfronting as well, but we both knew each other well.

This things take time :-) If either of you are really phenomenal and well-known then it should be possible - good people have a lot of leverage. It's not unusual for certain directors, C-level people, etc, to bring in third parties to negotiate on their behalf or work with them during the process, for example.

What's your background? are you still looking?

That was my thinking and certainly would help to have someone negotiate and present you properly. I am not looking but if you ping me, we can be in touch. My background is rails/javascript, I am lead at parkwhiz at the moment.

I always felt that relationship between recruiters and us was not right, both sides are not motivated to build relationships. I did build some and got some really nice people to help me when I need it. But this is more exception then the rule.

What did these refusals look like? How were you presenting to these companies?

I'm surprised; if I approached companies and offered them talent without asking for money, they'd jump all over it. Or was the issue that this person was trying to negotiate on your behalf as well?

Agents can and should exist if only for bargaining on salary and benefits. The average person in just about any field could benefit from an agent to negotiate on their behalf.

Most people simply don't negotiate any part of their job beyond initial salary. Sometimes people might negotiate benefits, but that is somewhat rare.

More importantly, unlike traditional contracts with expiration dates, the average person doesn't renegotiate their deal very often or at all. They take what they get from their boss, hoping to get at least a cost of living increase, which is more and more rare.

All of this means that each year you are effectively earning less if you don't renegotiate your deal. What was maybe a good deal 5 years ago is now worth 11% less than it was when you started.

So, unless you are renegotiating your deal, you are agreeing to keep a deal that is less valuable each year.

Knowing that, having an agent or any mechanism to force negotiating on an ongoing basis would be a huge step in the right direction for most people.

It would be awesome to have a professional negotiator bargain for salary/benefits. But, I'd be worried that most, if not all, employers would simply refuse to speak with them. How would that even work?

Company: Here's your annual cost-of-living increase. Me: Ugh, I think you should talk to my AGENT! Company: Our policy is to only discuss compensation with the employee. Me: ???

http://offerletter.io takes a similar but distinct tack - we generally find that advice tends to work better. A little bit of coaching and mentorship can go a long way here. Drop me a line if you want to chat! :-) mallyvai at offerletter.io
> There are people who still have trouble finding work in the status quo. Examples might be engineers who:

> don’t look good on paper but are actually very good

I think (hope?) I fall into this category. She talks about five on-site interviews being the usual limit for a single job search. After twelve years I have only ever had five, and it isn't for lack of trying.

Actually I think my interview performance history is pretty good. I have had about twelve phone/live screens, of which I passed nine, resulting in five on-site interviews.[1] Those on-sites yielded three offers, of which I accepted two. The problem is, the response rate to my resume submissions is horrid. Even when I have an "in" at the company. I heard too many times while switching between programs at my first employer something to the effect of, "We would have never hired you by looking at your resume, but I'm glad we did." I have other, similar statements concerning underestimation of what I am capable of.

Maybe what I need is more of a marketing specialist than an agent, but I have always imagined that to be the primary job of an agent. I really need someone to help me figure out how to present myself better. I would actually pay for that service; I guess, as she says in the post, there are not enough of me to support a business. Is that something that could be combined with a conventional recruiting operation, though?

[1] Two on-sites I declined, one on-site didn't happen because the company decided not to hire for the position[2], and the third on-site never materialized because the company just stopped talking to me.

[2] Or so they said. Maybe they switched me from "pass" to "fail" after telling me I passed.

It has happened to me that I was turned down for an engineering position whose main focus was working with a tool that I had developed the year before, because the other guy had a MSc and I didn't. HR people are weird.
Maybe you should have offered them a support contract instead :)

The credentialism in this industry is often infuriating though, I agree.

That is where I see a big value proposition in agents for engineers, even in "hot" markets: cutting through HR's crap. That doesn't change, no matter how hot or cold the market is. I feel like that has been part of my problem, not knowing how to finesse my way past those gatekeepers.

I still have trouble marketing my relevance to technical people, though. I don't have a very forceful personality, nor am I comfortable talking about myself without becoming (in my mind) a know-it-all douchebag. I need help and coaching on that front, too.

This is an interesting side effect of http://offerletter.io , I've noticed - we've been aggressively institutionalizing knowledge around many of these kinds of processes. Tends to give folks we work with a leg up.

(Incidentally - We offer precisely this kind of help and coaching - let me know if we can help! mallyvai at offerletter.io :)

Sending out resumes is a terrible way to apply for jobs & the response rate is always horrid. Don't beat yourself up about that.
Yeah, and a better way would be for somebody who specializes in creating relationships for the purposes of hiring to bring you to the attention of people they know who are looking for people like you. Sounds like an agent!
It's true. I compare it to shouting into a void. The void does not often answer back.
I would definitely pay. It is quite uncomfortable to sell yourself.

Perhaps here is a great idea for a startup!

It's funny; you almost fall into both categories. Potentially not looking great on paper (not sure if this is actually true) and being in a niche space like NLP.

If you want to chat about how to market yourself or try to figure out where some of the issues you've been running into during your search are coming from, I'm happy to. aline@alinelerner.com

> Engineers were super excited about this. Until I mentioned the part where they’d have to pay me, that is.

It's a curious thing in an age where people prefer to cut out the middleman-- e.g. stock brokers & travel agents. Some people still want (need) their own Jerry Maguire to find a job.

Depends on what the middleman provides. If it's domain expertise that'll take time and money to gain, they're useful. If it's just connections, well, the Internet is making that obsolete.

And if it's just storage, Amazon's breathing down your neck. ;)

Headhunters use this same sort of model. For example, take a look at the finance industry. They interview talented, young people with 2 to 5 years of experience for specialized positions (private equity, investment banking, corporate finance), then try to match up that person with one of the positions in their database. The potential new hire isn't charged a dime. The headhunter charges the hiring firm a percent of the new hire's starting salary (30% to 50%).

The assumption behind this model is that:

1) Companies are willing to pay for the best talent

2) No in-house capability to recruit or choose to spend their time on the core function of their business rather than screen individuals

3) (Salary + placement fee) > cost to recruit that person themselves

I've never been through a job application / interview process that didn't result in an offer. 4 interviews, 4 job offers, 3 taken, in about 11 years in this industry.

That probably means I haven't been aiming high enough. But I'm also very selective about who I'll consider interviewing with, yet I'm not particularly active in searching. Unless a company comes to me, and I like the company, I'm unlikely to interview. This pretty much guarantees that I'll never work for a big company unless via acquisition.

I think there's definitely a problem in "matchmaking". I'd like to be approached by more interesting companies doing interesting things, but I'm not interested enough to spend the time to actively seek them out.

Most approaches are by startup of the week types. And I was never contacted in the first 5 years I lived in London, while I was working remotely for a California-based company (Borland then Embarcadero) - it wasn't until I switched to a local job that I turned up on their radar.

Your experience is probably well outside of the norm. I remember both tech downturns, and I would have given and arm and a leg for some kind of "agent" during those periods.
Remark:

If I could pair with a "engagement specialist" who would find me a reliable stream of contract work at the usual rates for contract work (i.e., adequate to handle benefits) & skim off the percentage, I'd be extremely open to that idea.

Marketplaces like, e.g., odesk, are simply worthless to me.

Frankly, I'm surprised that instead of recruiters or agents, there aren't firms dedicated to employee assessment.

The value add to employers would be a standard assessment tool, reduced screening time for employees that can be eliminated quickly based on lack of skill, and using an assessment that is potentially better correlated with good employees than things like degree and school, or previous employer (decreasing both false positives from people who can't hack it despite their credentials, and decreasing false negatives by letting people with the skills demonstrate them).

For prospective employees, you get a single assessment that may open up a lot of jobs. Since the company doing the assessment isn't the one hiring you, they can tell you what you need to work on, even provide training opportunities.

Imagine someone telling you, "You aren't quite what we need, take these onlike courses and pass them and we will almost definitely be able to find someone to hire you."

And by acting as an intermediary between prospective employees and employers, the time cost of submitting resumes to employers that aren't well matched is decreased.

Further you might be partially eligible for a job, but lack specific skills, and they can ask if you are willing to take a temporary pay cut in return for on the job training as you work.

One of the things personally holding me back, is that you really need to be in school to get an internship. I already have a degree, just not in CS, and I'd love to be able to learn on the job at the intern level, instead of feeling stuck unless I go back for a master's degree.

I think there is a real opportunity, not just for such a company, but for a company that creates a standard or standards for assessment and licenses it/them to different companies.

Further, such assessments would be useful to assess not just individuals, but educational programs. Compare performance for people who graduate from different programs, including online training.

> I'm surprised that instead of recruiters or agents, there aren't firms dedicated to employee assessment.

It's a very hard problem that hasn't been solved yet.

What are you going to test? Logical problems? Programming puzzles? Knowledge of algorithms? Knowledge of technical details? GPA?

None of them strictly correlate with how productive / useful a programmer is.

how productive/useful a programmer is is, frankly, a slippery concept. Especially since things like attractiveness, gender, race and so on can be shown to affect such assessments unconsciously.

Seriously, we live in a world where height is correlated with salary. http://www.apa.org/monitor/julaug04/standing.aspx

My degree is in psychology, not computer science, so let me see if I can give you a general answer with a specific example of how you might work to figure out this.

Short Answer: Research.

Long Answer:

You'd start with a hypothesis, and you'd test it and then improve your testing based on the results. You try to nail down what you can, and eventually you have an internally consistent system, which is about the best you can do.

For example, you might say, "Knowledge of Big O should be positively correlated with job performance."

First you come up with an assessment of knowledge of Big O. A test with variable questions that assesses such knowledge. You probably test the assessment by comparing how well a person does if they take the test twice (using Pearson correlation, or maybe Spearman), to see if you have test-retest reliability, and dividing the questions in half randomly, and seeing if it's internally consistent.

So you know your test appears to be reliable... you can't necessarily say that it's measuring Big O perfectly, but you can argue that it's measuring Big O knowledge to some degree.

You'd start out with a big company, or multiple companies, and assess the programmers there, then use something like relative income (controlling for company, gender, the afore mentioned height, whatever) to see if you are right. Or use another metric, git commits, lines of code. You are dealing with a system where nothing is perfectly correlated with being a great programmer, where how highly you assess a person may be based on characteristics that don't earn your company any money but which you are unconsciously biased towards, but you can still differentiate based on something.

Let's say that yes, it seems like better programmers know big O better. Then you might assess big O skills of new hires, and track them to see how successful they are. Maybe you find out, yes, those that knew big O better did better, which is important, because it might be that people that did better then end up needing to know more about big O.

Maybe you might give some number of randomly selected new employees a course on big O, and retest all of them afterwards to measure improvement, and then see if the ones who were trained do better then the untrained ones.

At that point, it's probably worth while to test people's big O skills before hiring them. So you take your big O test and improve it so that people can't memorize the test, and start testing people.

It might also be worth giving new hires a course on big O, if you can show that such training improves their value in the company.

Is Big O everything somebody needs to know? Probably not. But it's still more information then you had, and you can maybe get a sense of how it's useful.

Conversely you might find that people that know Big O better do worse as employees. Or that it helps certain programmers more then others... for example people making graphically intensive games or developing databases may need to know more about it then people who work with stuff that I/O bound.

Who pays for the tests? If candidates must pay then you will filter out any candidates who are unwilling or unable to invest the time and money required for completing the tests. If you ask the employer to pay then they must have some way to filter candidates before they assign them the tests, otherwise they have to pay for 100s of tests.

And this is even assuming that you can construct generic tests that correspond closely to the requirements of the employer.

I'm not sure who pays for them. I think that paying for an assessment that actually tells you what you need to improve to get work might be useful for people. I know there are plenty of people who either are too confident, or too insecure about their abilities. And if it's a better assessment of ability then what HR currently uses, then isn't that worth some of what a company pays for HR?

Probably it's something that would need to be worked out by the market, hence my idea of one company that comes up with the assessment and then licenses it, and multiple licensees that use the assessment, experimenting with how to pay for it.

You could also assess existing employees, and figure out ways they could improve, or why one employee does better than others. In fact that might be a good way to begin research, albeit with some clear biases based on existing hiring practices.

Also such assessments would arguably be less biased by things like unconscious sexism/racism, which could be useful for figuring out raises.

I don't think that such tests would necessarily replace in house interviews. The goal isn't to create a perfect assessment, the goal would be to improve assessment. Let another company do the equivalent of a phone screening.

As for generic tests... there are things that companies assess. knowledge of big O for example.

Also such assessments could be used to assess more then individuals, things like the relative benefit of training programs. And eventually you could assess particular assessments based on performance, so you could improve the testing itself.

It just seems silly to me to have every company do ad-hoc assessments on their own, when the whole industry could benefit by reducing inefficiencies.

Thing is that there are already tests out there that test for programming ability but they tend to either be very academic and mathematically focused like project euler or on trivia related to specific languages or technology.

When you have a working team, chances are that you already know most peoples strengths and weaknesses as it relates to the job function, so a test isn't so useful in finding areas for improvement. When hiring someone new you are either looking for people with the same skill set or a complimentary one.

The problem remains that the best hires are probably in enough demand and know that they can get a job without having to take your test, especially if they need to pay to take it, so the people most likely to try and get a good score will be the worse hires who have a strong incentive to try and game the test which would be easy if the questions don't change often.

Also, if the test were proven to be a reliable assessment of skills across the entire industry then people who scored highly on the test would quickly start asking for much higher salaries. But what employers are looking for is to get a lower salary on employees who have a good skill match for the employers specific problems even if the don't score well in some areas. So there is a reason for employers to develop their own tests.

I think the problem here is just the complexity of the issue. I doubt there can be a standardized test to evaluate you on your software engineering ability. If such a test could exist I'm sure University Degrees and GPAs would be the only job requirement. However, not so sadly, GPAs are still only a good heuristic.

I think the problem of understanding if a person is a capable engineer is so specialized that only a better engineer would be able to evaluate adequately. In which case, are these companies really going to hire and pay engineers competitively to be recruiters/evaluators? And even still, 1. their evaluation would only be for the specialization that was evaluated and 2. Depending on the amount of time spent evaluating, to predict a candidates average performance over time, through stressful times and through calm times, rather than just their perhaps peek or perhaps low performance over the stressful evaluation period, will be exceptionally hard. Maybe I'm wrong but this is just from empirical evidence that I've gathered working with people in university and in the real world during my career.

Don't get me wrong, I agree, as demonstrated by its high barriers to entry, it is a real opportunity if someone is able to simplify or scale this. However, I'm not as optimistic as you seem to be that this is even possible.

I hope I'm wrong, it would sure make my life even nicer. I would just start working as a freelancer, and take six month vacations since it would be so easy to "get back in the game".

I already sort of do this with codewars, albeit not as precisely. I have my interviewees get to level 4 before I hire them - and I can go bck and see how clean their solution to problems are, generally. It's worked very we'll so far.
Would Clearfit.com fit the bill?
(10x Management cofounder here.)

Yup, this pre-vetting is a key part of the service we provide for companies. (We work for the talent, but of course we need to provide value to both sides of the marketplace.)

A large company, which will remain unnamed, works with a handful of engineering contracting outfits, but they like us because we're the only one they trust to provide them with good talent out of the box. With the other companies, they have to go through the full interview rigamarole for each contractor; with 10x, they just tell us what they need and we hook it up.

It sort of happens for freelancers in UK. Recruiter gets the cut of what employer is paying, frequent job changes are very likely (2 years in a "worst" case) so good candidates are worth taken care of.
(Cofounder of 10x Management here.)

Thanks for the shout-out, Aline! You point out the main difference in our models, which is exactly what makes our talent agency work: the key is the focus on contract/freelance placement.

Recruiters who do full-time placement optimize for the short-term -- a single transaction -- which leads to all sort of misaligned incentives and shady practices. With 10x, we work with the same talent over the course of years, so we optimize for the long term and help the people on our roster for (ideally) the duration of their careers. And the talent is more than happy to pay for our services.

>>> "Agents make sense when it’s hard to find a job or when the opportunity cost of looking for work is high enough to justify paying someone else.... For engineers, because the shortage is in labor and not jobs, paying out a portion of your salary for a task you can easily do yourself doesn’t make much sense."

This reminds me of the "adverse selection" argument we hear a lot, i.e. the best programmers have no trouble finding work, so wouldn't an agency only attract people who aren't good enough to source their own opportunities? The simple answer to this: Tom Cruise has no problem finding work, but he still has an agent. He wants to spend his time acting, not negotiating, invoicing, collecting, etc.

You also mention that the talent agency model works for niche skills, but then you say there isn't a big enough market for these skills. I'd disagree with the second half of that. Technology is getting increasingly specialized. Software, hardware, electrical, all have sub-fields and sub-sub-fields and sub-sub-sub-fields. The same general model applies to most of these sub-sub-sub-fields, and there are absolutely enough of them to justify a market.

In fact, the niche skills lend themselves especially well to the talent agency model, since companies don't necessarily need to employ those people full time. Data science is a good example of this... a lot of companies could benefit from the insights of a data scientist, but most of them don't need a salaried data scientist on staff. Through 10x, companies large and small have a la carte access to pre-vetted specialists (and generalists), on demand.

I think that assessing technical talent is fundamentally different than other types of talent, because technical stuff can be measured more effectively, and talent for writing code or designing and then implementing an architecture is also easier to measure than, say, social skills. However, there are other aspects that we should not underestimate:

1) How well this person works in a team? 2) What's his/her goal in life? Is he "done", and looking to "park" in a job until retirement? Or still very willing to learn a lot? 3) How professional is his work? I mean: does he write documentation, does he care about shipping software that is elegant and functional, etc. Etc.

There are two companies that I admire for what they're doing in this field, at two different stages:

Gild.com - a very unique approach to measuring technical talent, by using a proprietary algorithm that takes your github, stack overflow, etc, mixes all up, adds some juice, and voilà: you have a score. A successful, estabilished company.

CloudAcademy.com - younger and smaller, they mix tech snippets, videos, and an amazing quiz system to assess your skills (currently focusing only on Cloud Computing stuff, e.g. AWS, Azure, Google Compute Platform, Rackspace, VMware vCloud Air). They also added practical labs. What's interesting is that after 20-30 minutes of assessing your skills, they get a very clear picture of what you know and what you don't, which I believe is very hard. (Disclaimer: I am an advisor and investor in the latter.)