
Engineers suck at finding the right jobs - mattetti
http://matt.aimonetti.net/posts/2012/11/14/engineers-suck-at-finding-right-jobs/
======
ChuckMcM
It is an interesting screed. I was thinking when I wrote up the comment about
how VP's might feel about leaving a position that there is an interesting
dividing line which doesn't get talked about a lot, Matt touches on it but
didn't really call it out, its this, "What are you trying to get done?"

Early in my career Steve Bourne gave me useful advice, he said the difference
between junior engineers and senior engineers was that senior engineers had an
agenda. More specifically they had an execution goal (like write a new file
system, or create a product that solves problem 'X') and they worked toward
it.

This is a both a hugely motivating and hugely scary thing, its motivating
because you don't have to ask "what do I do now?" the direction just falls out
of where you are vs where you are trying to go. It is scary because you can
find you're goal isn't compatible with any of the company's goals. When you
discover that what you want to do can't be done at the company you are working
at, you either have to change goals or leave. But its not a 'feel bad about
it' leaving it is 'hmm, this isn't going to work out here so lets go somewhere
that it could'.

The alternative to having an agenda is "Goofing off and waiting for someone to
give you a task." There are a lot of engineers who operate in that mode, do
their assigned tasks at an acceptable quality level and without too much
schedule slip. They are great to have around because people with agendas and
use them to move the agenda forward, but they don't make for very good
'senior' people because they really don't care what they work on, its not
their main focus.

It is important to note that you can't "fail" if you're just goofing off, as
one of my kids put it, "It isn't procrastination if you don't have anything
you need to do." You can however rationalize your low work output by the fact
that your management really hasn't given you all that much to do, so whose
fault is that? Whereas if you have an agenda, a goal, a destination, you can
fail to make it to that destination. "You said you were going to build a game
that could crush Farmville, you failed." Reading the blog post from Speck
about Glitch shutting down, "we failed to develop an audience." They had a
goal, they didn't get there.

Matt's advice that if you don't know what you want, you can't choose
reasonably is solid. Start by deciding what you want to do, and pick something
that will take a while as early goal achievement has its own problems.

~~~
michaelochurch
The bimodal distribution of effort is really true, although people flip from
one side to the other based on circumstances. Companies want people who (a)
give a shit, but (b) are willing to subordinate their own career goals
(including the long-term goal of becoming really good at engineering) to
corporate objectives for a long (more than 3 months) period of time. The
reality is that such people don't exist. People who give a shit won't let
their skills atrophy just because a manager needs grunt work.

You have the goof-offs that you described who have (b) but not (a), and the
self-executive types who have (a) but not (b). The people who seem to have (a)
and (b) just have _different_ career agendas. They want to entrench themselves
and gain social power. Often, they're psychopaths. They're a lot more ruinous
to companies than the outspoken and self-executive types that dinosaurs call
"prima donnas".

~~~
nostrademons
You don't think there are people who seem to have both (a) and (b) simply
because they hunted around for a company whose goals were aligned with theirs
and refused to accept jobs that weren't?

------
ricardobeat
The issue of seniority always bugs me. If a 26 year old guy who writes "good
enough" code can be a Senior, which I see very often, what's left?

Personally I wouldn't feel right with a title including "senior" until I've
got at least 10y experience, generated millions in revenue and lead a team of
>10\. And I'd still prefer not having a title. Unless the only way to increase
a salary is by taking the title, which seems to be the problem.

~~~
edw519
_...what's left?_

Where do I begin?

\- Drilling down multiple levels for greater understanding. Being the "anti-
poser" by knowing what's really going on under the hood. Sharing this insight
with others. Amazing what a difference maker this often is.

\- Subject matter expertise. Can you stay two steps ahead of your customers by
getting behind their eyes and seeing what they need before they do?

\- Continuous improvement. (I know, a B.S. term if there ever was one, but
it's true...): "Good enough" is never good enough any more. Get better or
someone will eventually eat your lunch.

\- Communication skills. We all suck at them so much that this is often a
bigger speedbump than technical shortcomings. We have much to learn from ants.

\- Vision. Another nebulous term, but one that often makes a difference
between arithmetric and geometric growth.

\- Determining priorities. (Are we really working on the best thing?)

I can go on and on, but you kinda get the idea.

~~~
pan69
I think he was referring to the "title-itis". Titles make absolutely no sense
and they seem to be used as a currency by employers and as resume trophies by
programmers themselves.

To many times have I seen mediocre programmers negotiating themselves into a
BIG title simple because the employer didn't want to give that person a pay
rise (titles are free you see). Once they get the title, they sit on sit for a
few months and then they fuck off to work for another company. This way they
keep their title AND get a pay rise and all while being mediocre.

------
tinco
So, it is a noble thing Matt is doing here, but my skepticism always kicks in
when a post like that does not include a self evaluation.

I am sure you could fish up some great job opportunities for anyone who writes
you a nice e-mail. But is your own job the job you want from your career?

I mean, being tech lead on a big company is nice and all. But the company is
just a coupon distributor, I'm not saying that I work for the sexiest startup
in the world, but I'm just saying that 'up' is not always the most
satisfactory trajectory for a career.

I don't think I'd be happy for long at a company like LivingSocial, unless you
guys are hiding something behind there that makes it a very nice place to work
at?

~~~
mattetti
Good point, however it's a bit sensitive to talk about one's current position
and provide insightful feedback without hurting feelings or divulging internal
secrets. I left Sony PlayStation to join LivingSocial when LivingSocial just
had acquired InfoEther and Chad Fowler became the VP of engineering. My
motivation to join them was because I was interested in learning what it meant
to design a product, what is needed to make something successful and finally
to discover the gap between startup and entreprise since LivingSocial was
becoming more than a startup. Working with people I trusted and I consider
much better than me was also important. Is LivingSocial's product that
exciting? No, not really, we sell advertising for local commerce. But my goal
isn't to just work on a cool product (you don't do much cooler than video
games), my goal is to learn and bring value to place I work. I'm still
learning a lot, and a lot I didn't expect such as growth pains, challenges of
growing an engineering team from 20 to 120, what it means to have strong
engineers trying to work together, communication etc... To answer your
question more directly, I feel I'm still currently on the right path and while
the product might not be glamorous, I get to learn a lot and feel like I can
still contribute to the company success.

------
fecak
Recruiter of software engineers here, and liked the article. I can't begin to
estimate what percentage of job changes are attributed to the work of
recruiters (recruiting firms, not internal company recruiters), but I think
that one reason engineers sometimes make poor career decisions is that they
are being coached by recruiters to make them.

The technology industry has created a vibrant technical recruiting industry
that feeds off of it, and it is often an unhealthy relationship. The recruiter
(especially contingency recruiter) has a huge financial reward if he/she can
convince the engineer to take the job, regardless of whether it is a good
career move - the recruiter generally is paid as long as you stay 90 days. The
size of the reward in addition to the competitive nature of the business
creates some incentives that lead to trust and ethic issues. It is this
problem that inspired my article
<http://jobtipsforgeeks.com/2012/09/17/disrupt/>

If you are dealing with a recruiter that talks about the job he/she is trying
to fill before asking you about what YOU are looking for in a job, you are
probably not talking to someone that is trying to help you make a good career
move.

------
acuozzo
> Now is an awesome time to be a software engineer (probably best time ever).

I don't agree with this statement at all, as it's getting harder and harder to
find low-level work (e.g., C and *asm) and that's the __only__ kind of
programming that I enjoy doing.

I'll start looking for another career when I have to consider putting words
like ``full-stack'' or ``cloud'' on my resume in order to find work.

~~~
HeyLaughingBoy
Then start looking at companies that primarily produce hardware. Trust me,
it's getting harder and harder to find people who even know what a pointer is.
To the point where we simply assume the people we hire won't and we'll just
have to abstract it away for them.

~~~
acuozzo
> Then start looking at companies that primarily produce hardware.

I have in the past. The problem is that I have a BS in Computer Science and
most hardware companies hire only Computer Engineers for low-level programming
work (among other things).

~~~
bitops
Do you have the possibility of going back to school? I don't know how old you
are, but maybe a masters degree in CE could help you.

~~~
acuozzo
> I don't know how old you are

25

> Do you have the possibility of going back to school?

Yes, I do, but I don't think I'd be able to handle it, especially with a wife
and a full-time job. Read more here:
<http://news.ycombinator.com/item?id=4702350>

~~~
bitops
Well, it certainly sounds like you're more than capable of working really hard
and achieving good grades. Having to struggle isn't a bad thing - the key is
learning to enjoy the feeling (not easy, I'll admit).

At least where I went to school they had family student housing for grad
students who were married. Going to grad school would likely involve you
taking a student loan, but then you'd be able to make more money afterwards.

Keep in mind that while you're under 30 (and assuming you don't yet have kids
and a mortgage) you have a lot more room and leeway to take risks than later
in life. Don't lock yourself into misery too early in life. :)

------
confluence
Oh look another X sucks at blah. I always reverse these sentences to get
interesting ideas. What if blah sucks at X - namely, what if jobs suck at
finding the right engineers.

Now we're talking :D

This is a problem in HR not engineering - whose sole purpose is to find good
engineers, pay them well enough so that they stay, make an environment good
enough to keep them happy, and put them on the right projects to maximise
value.

Guess how you fix this problem? You go Valve style. The problem isn't
engineers, it's HR who can't get their act together.

~~~
mylittlepony
What does Valve do?

~~~
ProCynic
Flat structure. Everyone just works on whatever they think is important.
[http://blogs.valvesoftware.com/economics/why-valve-or-
what-d...](http://blogs.valvesoftware.com/economics/why-valve-or-what-do-we-
need-corporations-for-and-how-does-valves-management-structure-fit-into-
todays-corporate-world/)

------
PaulHoule
There are fundamental issues here.

For a sales guy, you can say he brought in $X in revenue that led to $Y in
profits, so the value he creates is visible. It's a lot more complex than
that, but at least there is a theoretical basis to value his work.

I spent five years working on a non-profit web site that was used by more than
80k people a day. We estimated the site produced $250M a year in value for end
users. We also had no real plan for capturing that value or funding it so
there wasn't a pie I could claim a piece of at all, just what they said they
could pay me.

I've worked at a number of places where the model was spend $X to develop
something with Y developers over Z months and maybe we can sell it. These
often are fun jobs. This includes a lot of Y Combinator kind of companies but
also stodgy companies you'll find in midwestern towns.

I think the median project of this type either (i) doesn't ship a product in
the end or (ii) gets revenue that is a small fraction of $X. Again, there's no
pie to split.

This of course begs the question. Does working on a project like Colors make
you a negative net productivity programmer whatever you do?

I guess in theory a place like this could pay you heavily in equity or
bonuses, but with the odds of getting no payout that's really not fair if you
have to develop your skills, be highly responsible in so many ways and maybe
even support a family.

The companies where the revenue is more obvious are job shops, but these tend
to be horrible places to work. Of 5 that I had some involvement with, 4 of
them were outright failing businesses because the business plan made no sense
or they spent 12 years building web sites with an obscure language that is now
eol. The last one is profitable and growing but they had no benefits, low base
pay, but they might pay a bonus into your 401k at the end of the year based on
"the value of your contributions to the company." Well, the principles of the
company never got tried of yakking about the high value of the sales work they
do so you know who is #1 and #2 when bonus time comes around at the end of the
year.

So in all my years as a pro programmer, I can say I only worked for three
months at a place where my work had a clear connection to revenue it was
creating and compensation wise it was the worst job I've ever had.

------
lumens
Looking at this problem through the lens of engineering is obvious for most HN
readers, but it's an issue everyone faces.

It's very hard to understand what opportunities exist for YOU specifically in
the employment market. Seeking out potential jobs is laborious and you can't
take the time to talk to every recruiter that calls.

What would be better is if you had a good way to safely broadcast what is
interesting to you professionally and indicate the types of opportunities
you'd like to hear more about. Safely is the key word here. The system breaks
down if it puts your current gig at risk.

Check out <http://www.mightyspring.com>.

We're working on solving this exact problem. Our goal is to help people stay
on top of the employment market and be made aware when a really special
opportunity presents itself.

------
khetarpal
If engineers suck at finding the right job, and companies can't find the right
people, then this problem is screaming for better solutions. The challenge
here I see is that every employer is looking for 'rockstars', even if the
actual job responsibilities may not require one.

So, if I'm a 'rockstar', its a big hurdle to separate the reality from the
marketing pitch of the magic job. What can be used as a signal for filtering
good quality jobs from the less desired ones? It's surely not money, because
plenty of big companies will pay you ample to make good power points.

I think a startup that can figure out the right mix of signals to indicate the
_job quality_ , which may be a combination of challenging problems, team,
work-environment will really hit it big.

~~~
gte910h
>The challenge here I see is that every employer is looking for 'rockstars'

I think there should be a developer tier at 250kish (valley prices)

If you can justify that, we'll call you a rockstar.

Then we'll give you status to go with it in the company (as you're making more
than your boss), sort of how external consultants often get that and get to
recommend TONS more stuff than line engineers do.

If a position says rockstar, and doesn't pay a quarter mil, we pan you on the
web as lying about needing a really highly paid, super highly skilled
position.

~~~
khetarpal
I'm thinking about a way to call bullshit on such job descriptions. Not sure
money is the answer though. What about interesting jobs / startups that can't
pay that much?

It would be nice to get a crowd sourced mechanism that involves employees /
ex-employees / vendors who could provide a well rounded view on what is the
job really like, and not just some marketing spiel from hiring manager

~~~
gte910h
So you think the "freedom and status" is the important part, not the
compensation?

That works. Give them titles that go with that. "Chair of Computing", "Cross
department head of ___" etc, "Technical Architect".

Don't ask for developers if you want people on the 4-5 sigma of ability. Ask
for _high status positions_. Give them board seats. etc.

------
oboizt
It really is an exciting time for software engineers. I'm a soon-to-graduate
student and have gotten so many job offers that I had to pretty much stop
talking about it with friends/family. Does anyone else feel awkward admitting
how easy we have it in tech right now when there are so many people struggling
to find jobs?

~~~
elemenohpee
Yeah, I got a call from a recruiter when I was out to lunch with non-
programmer friends. The fact that I was annoyed by it drew some death glares.

~~~
PommeDeTerre
Maybe they should be taking some programming courses, or reading some
programming books, rather than glaring.

~~~
elemenohpee
Not everyone can or even should be a programmer.

------
Apreche
This whole thing seems like it is written by a recruiter having a hard time to
get people to leave their current jobs for new ones.

~~~
mattetti
Hehe, I'm not a recruiter (I'm the OP) but probably like yourself, I get a lot
of them contacting me on a regular basis. Knowing what to do next and or if
our current job is worth it is a hard challenge. I just shared my own
experience.

~~~
oinksoft
You may not specifically be the recruiter but it's no mystery that you guys
have been aggressively hiring, and being over capacity is no doubt something
somebody in your position would be acutely aware of.

So pardon me for agreeing with parent that the post sounds like it was written
by somebody having a hard time finding good candidates.

~~~
mattetti
That's a fair assessment, however LivingSocial has its own recruiters and they
are doing a great job. So far I got a few companies reaching out to me to let
me know that they have some open positions and I know of many others in my
network. I'll do my best to try to match people.

~~~
koide
Do some of your contacts offer green cards or is this a geographically
restricted offer?

------
jere
>I remember a family friend telling me when I was a kid that computers are
going to be the future and that there will be a lot of jobs in this field.

That's great. I had the opposite. For some reason my dad was convinced
computer programming was on the decline and was 100% against me going into
computer science. I did engineering instead of CS and later regretted it.
Going back to get my MCS now.

------
hans
Also when you get to early 40s doing web dev or web apps, especially if you
dont have a GooG or stanford degree, your competition for work is essentially
early 30 somethings, and age discrimination really becomes apparent. I have no
idea what to do next for challenge and m0ney.

------
w1ntermute
I thought the author sounded familiar. He's the person who gave this blatantly
sexist and offensive presentation, _CouchDB: Perform Like A Pr0n Star_ , at
the Golden Gate Ruby Conference in 2009: [http://ompldr.org/vZ2I1cA/gogaruco-
couchdb-090418194027-phpa...](http://ompldr.org/vZ2I1cA/gogaruco-
couchdb-090418194027-phpapp02.pdf)

~~~
mattetti
yes it was me and as you just discovered I'm not perfect and made many
mistakes in my life ;) Note however, that I try really hard not to make the
same mistake twice and this lessons I learned 3 years ago stuck with me. The
question is how relevant is your point? Are you trying to help the discussion
or attack me personally?

~~~
gte910h
Glad you grew out of it. Moving from "hurtful" to "aware of how that bothered
people, and willing to avoid that" is the halmark of personal growth and a
sign struggle to be better.

------
jader201
I appreciated this post, and it's good timing considering I've felt lost in my
career for at least a year. I switched jobs 6 months ago, and am already
considering changing again. I've had several interviews, and in spite of the
fact that everyone I work with tell me what an asset I am and how talented I
am, I can't seem to find a good fit.

I'm a .NET developer, and am considering changing to Rails, just to see if
that opens up better/different opportunities. But that's a big time investment
for me -- having a family leaves me with little time as it is -- and I'm not
even sure that will leave me much better off than I am now.

I really could use some direction, but have not been able to nail down a way
to find direction. Matt, I may take you up on your offer.

I would also welcome and general thoughts from the HN community.

~~~
cglee
Jader - don't want to spam this discussion, but many of our students at
railstutors.com have the exact background as you. If you have 10-15hrs/week
for a month, we can get you to a proficient level with Rails.

------
jvehent
Don't look for the right job. Look for the right company, and evolve once
you're in.

~~~
bcbrown
That's what I did in my last job search. It's paid off wonderfully. The first
three months weren't especially exciting, but now I'm working on very
interesting problems, and growing a ton.

------
Sniffnoy
> We are good at solving technical problems in an objective way but when it
> comes to us, to our jobs and future, we seem to have a bit of a hard time.
> Why?

Obvious answer: A good technical problem can be fun, while such real life
things are just tedious and stressful, so you avoid thinking about them.

------
ehuard
Good post, as it happens I'm also pondering the things you're talking about. I
like that you to offer to talk things over with anyone who asks! I'd be
curious to know what you learn from it.

~~~
mattetti
I'll try to do a follow up post, so far I've been really impressed with the
emails I got. They raised a lot of great questions such as what it means to
built a career when you aren't willing to relocate etc...

------
ntide
What would you say to a college student who's just starting out?

~~~
booop
Work very hard and hang out with the right people.

------
bjhoops1
Like the author in his conversation, I found myself reading this article
looking for the answer to the question of what I should career-wise myself.
doh!

------
shmerl
_> “Money doesn’t buy happiness” and it shouldn’t be your primary reason to
accept or leave a job._

Great phrase.

------
linpythio
Very valuable attitude.I think to be a indie developer is better for some
developers.

------
michaelochurch
OP: what do you think of open allocation?

[http://www.quora.com/Software-Development-
Methodologies/What...](http://www.quora.com/Software-Development-
Methodologies/What-is-Open-Allocation)

Personally, I think it's the only long-term solution to this bilateral
matching problem: engineers can't find good work, employers can't find good
engineers. The problem is that most software engineers are indeed unskilled
(and therefore few companies are willing to start interesting projects that
might make use of skill) because high-quality work is so rare. It's a vicious
cycle and open-allocation is the only way I can see of breaking it.

If they're intrinsically motivated, engineers are worth millions per year. If
companies left them alone and were able to capture even 10% of their true
potential, they'd do better than any closed-allocation shop.

There's an indirection that occurs whereby engineers apply to companies-- not
specific projects or work sets-- and (until they've been at the company for a
while and can change jobs without embarrassment) relinquish their right to
choose what they work on. (A certain once-great search giant is notorious for
abusing opacity.) They have no control over how they start in the company, and
if they're not especially socially skilled, this will determine what kinds of
projects and opportunities they get in the future. This indirection gives a
lot of power to middle managers, who don't have the vision or inclination to
design and allocate work in a way that would enable engineers to have real
careers and improvement, and the result is an industry where stagnation,
burnout, and middle-age obsolescence are the norm.

~~~
mattetti
I have mixed feelings about open allocation. I think it's very dependent on
the context and the company's vision. @ChuckMcM wrote something very
interesting explaining two types of engineers, some who are self driven and
have an agenda and the ones who don't. I don't think that as engineers we are
particularly good at understanding the business value we can bring to a
company and how to improve a product. I think that some engineers work better
with a lot of freedom, but most don't. I think that actually a good solid
layer of "proper" management is way more useful. A good manager is someone who
doesn't get in your way but help you realize your full potential while
following the company's vision. Granted, that's not what most managers do, but
I do think that most of us need some leadership, some directions to help us
focus. To summarize, I think that we need strong leaders and some flexibility
at the engineering level dependent on each individual temperament, the company
culture and the team's objectives.

~~~
michaelochurch
This is a good response, and I generally agree with your synopsis of what a
good manager is.

One of the misconceptions about open allocation is that it's a "free-for-all".
It's not. It's more like an _applied_ research environment where people are
free agents to some degree, but still are expected to follow-- to contribute
to something sanctioned-- if they aren't ready to lead yet. Open allocation
companies still fire people, but it's very rare, because "intrinsic low
performers" (as opposed to people who lose motivation due to dysfunctional
environments) also turn out to be very rare.

Open allocation doesn't mean, "You show up and do whatever you want." It
means, "We expect you to contribute to the business but it's your right to
choose how you do so."

My problem with traditional management is that old-style managers aren't
really the leaders that the workers themselves would select, but puppet
leaders, chosen from above. Also, when companies give managers the right to
unilaterally fire people, or to damage their transfer packets through a
globally-visible performance review system, they allow managers to turn into
extortionists who force people into subordinating to the manager's career
goals rather than doing what's best for the employee or the company. Since
middle managers also get a lot of pressure from above in these sorts of
companies, that's usually exactly what they become, not because they want to
be extortionists but because their feet are to the fire as well.

I think that "management" as a cultural institution is archaic. Leadership,
communication, and mentorship skills will _always_ be in high demand, but
that's not what a manager is. A _manager_ , from the term's roots, is someone
hired by an owner of recourses (capital) to maximally exploit them. People
often get angry with their bosses when the manager ignores their career goals,
but they shouldn't, because that manager is just doing his job. He works for
the company, not the employee.

Managed environments lead to localism, by which I mean the extreme trust (e.g.
the right to unilaterally fire people) placed in managers allow an environment
where the manager's stated goals (which are often neither aligned with the
corporate objective or the employee's needs, but the manager's career
objectives) take priority. You have lots of indirection and wasted effort and,
usually, morale problems as a result.

Open allocation, on the other hand, trusts people to work directly for the
company. There are still leaders and followers, but the employees are
implicitly trusted in deciding whom to follow.

