
Ask HN: Is it possible to get pigeonholed to certain company sizes/cultures? - amazonavocado
I&#x27;ve seen people speculate if they&#x27;ve been pigeonholed in their career, in terms of being stuck with certain technlogy stacks, or tools, or a type of industry. I wonder about something else, if you can get pigeonholed to a limited set of company sizes and cultures.<p>I feel like I&#x27;m pigeonholed with only being able to be hired by very small companies. Fewer than 20 employees small. No fortune 500&#x27;s, not even any full-time benefits or 401(k). They&#x27;re very unstable too. I usually lose my job before I could get another one lined up. I had roughly $8000 in my bank account when I graduated and today, ten years later I have only about $400.<p>I want out of companies that constantly make me walk a tight rope of self-care. I want to ask am I pigeonholed? Because I cast a wide net with job applications, going to larger companies. Even some major ones like Amazon, Cloudflare and Coinbase have phone interviewed me. But they don&#x27;t want to hire me. Like maybe these smaller companies are giving me a stigma.<p>Am I stuck in the small company loop forever? Unless I make some major lifestyle change like getting a master&#x27;s degree or completely changing my personality it seems to be the case.<p>So what do you think about this sort of pigeonholing? Have you been pigeonholed in a similar sense whether stuck with large companies, small companies or anywhere in between?
======
patio11
A master's degree will not materially improve your employment prospects but
will cost a lot of money and years of opportunity cost.

You should devote approximately one week to reading about how to interview
better and practicing and then get as many interviews as you can at companies
which are large enough to offer a competitive benefits suite. If I were in
your situation I'd optimize for brand-name ones first, since the last name on
your resume dominates people's impression of it. ("Worked for ten years at
university IT departments and small software companies then Yelp" rounds to
"ex-Yelp employee" according to basically every recruiter I've ever spoken to,
and there are a lot of companies which round to Yelp.)

Even if one thought that one was below the supposed bar for large companies,
they're sufficiently imprecise regarding interviewing that you have at least a
20% chance of an offer given ability to get onto a phone screen and pass the
local version of FizzBuzz. Make it your mission to get failed out of their
interview loop twenty times; it's virtually impossible.

P.S. One does not have to change one's personality to _present_ differently
for twenty minutes on a phone call if one believes that one's perceived
personality is causing the phone rejections.

~~~
amazonavocado
>A master's degree will not materially improve your employment prospects but
will cost a lot of money and years of opportunity cost.

I don't like "don't do it" advice without any compelling reasons. It is better
for me to try and fail than to regret not having tried it. I am going to seek
people who will support my desired path.

What if I wanted to work at NASA or Intel? Getting an internship from one of
these companies is hard enough. But not impossible, and worthwhile building
valuable connections from your internship for referrals to a full-time job.

But going to work there with no formal CS background, no inside referrals,
with a non-STEM degree, with tenuous experience is much, much harder.

So there is my argument for wanting a higher education. At least I stated my
argument.

~~~
csa
> I don't like "don't do it" advice without any compelling reasons.

The compelling reasons 'patio11 offered were that it will cost a lot of money
and years of opportunity cost. If you don't find those compelling, then that's
your prerogative.

The whole NASA or Intel thing... I think you hit the nail on the head with
"building valuable connections". I think you need to do this regardless of
where you want to work. If you decide you want to work at one of these places
or some place like it, make sure that you understand what is and is not
required for the job. A certain degree may be required (explicitly), there may
be age expectations (most likely illegal, but it happens), and/or there may be
soft skills that you may not have yet and may never acquire (a very real
requirement to get hired that is often overlooked by many people looking for
specific jobs).

FWIW, 'patio11 has some high quality experience with the engineering hiring
market and has written some seminal texts about it. Rather than blithely
reject his advice (as you seem to do here), I humbly suggest that you engage
with him in a more constructive way, perhaps by engaging with questions (e.g.,
about his thought process, about specific details on career direction that you
failed to mention in your original post, etc.).

Also note, as a general rule, people with highly-informed and high-quality
advice typically aren't looking for an argument, a debate, or (worse) a moving
target of discussion -- you seem to have taken your reply one or more of these
directions. The way you engage with people matters, and I wonder if this is a
limiting factor of your career development.

Regardless, best of luck in your search. I hope you keep us updated with your
status.

~~~
ccajas
>The compelling reasons 'patio11 offered were that it will cost a lot of money
and years of opportunity cost.

Your return on investment on a Masters CS degree will come over time.

For example, once you finish the degree, you should be in a better negotiating
position in your current company when discussing promotions as you have
demonstrated a willingness to follow through with personal development in
service of the company.

If you lose your current job, having a CS degree is great future risk
mitigation. While a portfolio and experience sounds good enough, you'd have to
jump more hoops through HR without a CS degree. But once you have it you could
get a job almost anywhere you want.

>FWIW, 'patio11 has some high quality experience with the engineering hiring
market and has written some seminal texts about it.

This is important to know. However, I think it would be better of patio11 to
open his comment by stating a short summary of this experience in order to
lend more credence to his suggestions.

>there may be soft skills that you may not have yet and may never acquire

I'm curious about this. Especially on the "may never acquire" part. You mean
that there are some soft skills that some people would never attain? That's
interesting to me and I'd like to know why.

~~~
csa
A few responses:

1\. “Your return on investment on a Masters CS degree will come over time.” It
_might_ produce a positive ROI over time. It really depends on what you do,
what you intend to do, and what you value.

2\. Re: negotiation. Check out ‘patio11’s seminal text on this subject (other
good articles on there as well): [https://www.kalzumeus.com/2012/01/23/salary-
negotiation/](https://www.kalzumeus.com/2012/01/23/salary-negotiation/)

3\. Re: risk mitigation. A robust professional network is almost always more
valuable and more resilient than a MS CS. I actually think that this is OP’s
biggest opportunity/challenge.

4\. Re: Summary of experience. I looked at your profile, and it seems like
you’re relatively new here. ‘patio11 is one of HN’s most prolific posters. His
posts have declined dramatically in frequency (due to work?) over the past
year or so, but he is one of the grand hommes of HN. Check out this link:
[https://news.ycombinator.com/leaders](https://news.ycombinator.com/leaders).
‘patio11 is third, and that’s with a year plus of minimal commenting. Note
that I have a very large scrapbook of smart things he has said in HN comments.

5\. Remember that leader list, check out #1. ‘tptacek and ‘patio11 actually
started a business together focused on the hiring of software engineers. It
shut down for reasons unknown, but HN was (largely) rooting for them. It is
still not entirely clear why they shut it down other than “hiring is broken”
(i.e., employers claiming they want $TRAIT, but demure when a candidate with
$TRAIT is presented to them, usually for something nebulous like an undeclared
standard for culture fit). Anyway, both of these folks have a great deal of
direct and indirect industry experience, and they have a habit of saying very
smart things on a regular basis.

6\. Re: soft skill limits. Short answer, cognitive biases. Slightly longer
answer, first the problem needs to be acknowledged, and then — maybe — it can
be solved. There are myriad psychological reasons (e.g, cognitive biases,
mental disorders, etc.) for breakdown to happen at any step of this process.
Is it _possible_ to attain almost any soft skil, sure. Is it probable? Not for
some people.

~~~
amazonavocado
>A robust professional network is almost always more valuable and more
resilient than a MS CS. I actually think that this is OP’s biggest
opportunity/challenge.

You are actually right about that. I do not have a robust network. It could be
a negative, but I also learn that you don't have to allow negative traits to
define you, or your worth.

I have learned this from someone else who works as a software professional,
who is bipolar and depressed. He also works at a fortune 500 making 6 figures,
and takes on leadership responsibilities. He says that he hates himself, but
loves his wife, and that despite being antisocial, it doesn't have to dominate
him.

He also says his personality and social network does not affect his ability to
work, and he works hard for his team. If he can do it despite his
shortcomings, so can I. Dwelling on your negative qualities are a distraction,
and incorrectly convinces you that your negatives have to commandeer your
self-worth.

I will need to follow in this guy's footsteps. Forget about my lack of a
network as something that defines me. I have to play to my strengths, and
downplay my weaknesses.

------
flente
If you got a phone screen from Amazon, et al, it means they saw your resume
and thought your experience looked interesting. You were not filtered on the
basis on your work history.

When these companies rejected you, it was almost certainly because of your
interview performance, not your experience. The good news is that you can
practice for interviews. There are many resources online. Good luck!

~~~
amazonavocado
The feeling I get is that if my resume is good enough to get into the
interviews, then it must be something about my presentation that has been
conditioned from me due to working in smaller places. Like it could be
something about the small company jobs might be making me talk differently
about my job experience. And that could be turning off the big company hiring
managers.

Kind of a like a farm guy trying to make small talk with someone who's only
lived in a big city, it will be noticeable. It makes it harder for both people
to find common ground. Does that make sense?

~~~
sonnyblarney
" it was almost certainly because of your interview performance"

This will be a function of one's company culture.

FANGS have a pretty high operational bar that's sometimes hard to grasp from
the outside, without internships, friends and networks of exposure.

BigCos have varying levels of professoinalism etc.

But both tend to have specific expectations that can be hard to grasp when
from a smaller company.

At smaller companies I find people tend to generalize, and work on smaller
projects obviously.

At BigCos there's much more opportunity for specialization, and sometimes huge
codebases and if you've never worked on something like that it can seem
unwieldy.

I think a frame of reference is important for setting interview expectations
etc..

~~~
jhayward
> FANGS have a pretty high operational bar that's sometimes hard to grasp from
> the outside, without internships, friends and networks of exposure.

Bingo. I think having an "inside" view of expectations is key to interviewing
at these kinds of companies.

~~~
amazonavocado
Yeah, I truly agree with this. Couple the fact that I have a non-STEM degree
and no internships. I picked up my first web dev jobs just from scouring
Craigslist. Smaller companies that were open-minded enough to give a junior
dev a shot. But I did stop using CL years ago and use better resources for job
listings now.

So without any insider info on how big companies operate on a high level all
the way down, outside of reading web articles or forum discussions, I have to
put the pieces together on my own. My personal network is pretty diffused and
fragmented, too. I know a person I met at a tech meetup years ago, he now
works at Amazon. But he's too busy to reply and doesn't seem interested in
being a referral.

As silly as it sounds I thought the small-to-big company would be the most
logical career progression, as I even compare it to a music career at one
point. In that you first have to produce and sell for an indie label before
getting picked up by big shots such as Sony. But my reality is me spinning my
wheels in the small co/startup circuit still waiting to "make it big".

~~~
abeyer
> I have a non-STEM degree and no internships. I picked up my first web dev
> jobs just from scouring Craigslist. Smaller companies that were open-minded
> enough to give a junior dev a shot.

Given that, are you sure you're 100% on the technical side of
interviewing...particularly algorithmic type questions? Whether you agree with
the approach or not, they tend to be more common and given more weight with
bigger companies.

~~~
amazonavocado
Amazingly, the only company in the tech hubs that has given me any algorithmic
questions is Amazon. But I am not deluded enough to say I am 100% doing well
on the technical side.

All the other companies with some reasonable amount of public exposure, (like
Zillow, Coinbase, ArenaNet, to give a few examples) interviewed me on more
holistic and technical concepts, such as how would you use an API to build a
website, or how would you design a database, etc.

------
mkozlows
Whenever you're making a transition from one type of company to another, the
hiring manager is going to be very concerned about whether you understand the
kind of transition you're making, and are able to bridge that gap.

If you've been in an enterprise environment and are interviewing at a smaller
company, they're going to be concerned that you're a hidebound cog who just
sits there and waits for someone to tell them what to do (in triplicate), so
they'll be looking for signs that you have initiative, that you don't think of
things as "someone else's department," that you have the flexibility to roll
with things that deviate from a strict process; if you've been at small
companies and you're interviewing at larger ones, they're going to be
concerned that you've just been ignoring all best practices and doing stuff
with bubblegum and baling wire in a half-assed way.

My suspicion is that in those interviews, you didn't really allay those fears.
Maybe you seemed impatient with process, maybe you came off like a cowboy,
maybe you said things like "yeah, I know you're not supposed to make live code
changes on production servers, but sometimes that's just the most effective
way to get things done, you know?"

Or... maybe the company size thing is totally unrelated, and you just didn't
wow them, who knows.

But it's not at all impossible to go between different types of companies, you
just need to be aware of what's going to be different between them, and how
you can be an asset to that type of company.

------
gwbas1c
Hopefully I don't get downvoted, but here goes:

I've had the same job starting at a small startup, through growth and
acquisitions, and I've been involved in hiring through the entire process.

Here's the dirty secret: startups try to be selective; but they're really
desperate to hire. This is because startups are so mismanaged and risky that
they have a lot of trouble getting someone competent to interview. When we
were small, most people we interviewed were either incompetent or incapable of
the challenge. Anyone competent got an offer.

As part of a mature organization, hiring is different. Most candidates can do
the job, and actually want to work for us. (Unlike a startup, we now have good
management and won't go out of business tomorrow.) Thus, we're more concerned
with behavior.

My "competency test" interview has now evolved to more of a "tell me what I
want to hear" interview. It's very effective, because almost all hires do the
job well without wanting to perform useless refactoring because I didn't pick
their favorite framework or brace style. It's also effective because I know I
can communicate about higher level design topics.

I suggest, at a certain level, to just concentrate on telling your
interviewers what they want to hear. This doesn't mean lying, or
misrepresenting yourself. It just means that you need to understand who is in
charge and play along with the same game everyone else is playing.

I'm also very clear about that when I interview a candidate. I now say
something like: "This is a short interview and I try to ask questions that fit
into the time. Some of the coding questions aren't real situations. The goal
is to have a conversation about code, so if something is akward, just play
along and do your best."

~~~
amazonavocado
>startups try to be selective; but they're really desperate to hire

That is a paradox I am still trying to figure out LOL.

Ostensibly, startups are huge on culture fit. But also at the same time they
want someone who knows a certain stack in and out, and can't attract those
people all the time.

So startups and large companies are selective, in different ways?

And that is really gonna be a game changer for me, in turning my interview
strategy into something that satisfies subjective needs.

I guess it's because so many candidates, as you say, can do the job because
they perform well on an objective basis that larger companies have to reach
into other less objective criteria to filter them out?

~~~
gwbas1c
The hiring criteria of a large company isn't as subjective as you think. It
just comes down to, "can you act like an adult and get along when you don't
get your way?"

This isn't subjective at all! It just means that a technical interview is more
than getting a correct answer; it also means that a technical interview is
demonstrating that you can behave in a mature environment. That's why part of
my interview turns into "tell me what I want to hear."

Because startups are horribly mismanaged, you can get away with certain forms
of immaturity as long as you produce results. Larger companies don't put up
with that.

~~~
amazonavocado
I'd like to be a fly on the wall on some "sample" in-person interviews to see
what I have to do and how to do it.

~~~
gwbas1c
Basically I ask some questions where the requirements are ambiguous, and the
solution is non-standard. Other times I ask someone to write a simple task
using an outdated API.

Why? Someone who can't figure out the ambiguous requirements will require a
lot of handholding. I don't have time for that.

Someone who argues about the requirement to use an outdated API either doesn't
get the point of the question, or will ask to refactor years of perfectly
working code on the first day. The outdated outdated API goes through so many
core concepts that it's an awesome interview question. Someone competent
should move through it without any struggle!

Even worse is when I ask someone to write some manual SQL and they tell me
that doing SQL by hand is outdated! Instant rejection! I want to know that you
understand the underlying concept without relying on magic. Manual SQL is
easy, if you're competent.

Or, I had someone tell me that passing values to a constructor in C# is
outdated... Not when you're using immutables for thread safety!

That's what I mean by play along and tell the interviewer what they want to
hear.

~~~
wink
That sounds reasonable enough. My last experience was more of a total non-
adjustment to the actual candidate.

E.g. asking such bullshit vague questions that might work on a recent graduate
because you could assume that's a software engineering 101 question but if you
actually asked them what exactly they meant, even just the scope or language,
or offering 3 different paths of which one you'd like to sketch out tot hem ..
blank stare, repeating the question.

------
tony-allan
Yes. It happens all the time and has certainly happened to me. I don’t have a
simple answer.

It isn’t just small to big companies. I also had an problem moving from
enterprise to a smaller web related company. In that case, I went back to
college part-time and retrained. Hard work but it turned out ok.

I also did a series of government projects, which I really enjoyed, without
thinking too much about it and then had a hard time moving away from that.

The truth is that whatever you do, someone is going to pigeonhole you. It is
just human nature.

I try hard to build skills in what I want to do next and then try to work on
projects that use those skills.

One other thing I did was to present papers at user group conferences – often
about what I wanted to do in my next project!

------
gedy
I've interviewed people with your background and company sizes, and one
general thing I've noticed is they are pretty good at their company stack and
tools, capable of doing lots of things, can talk in depth about their previous
work, and were successful in their jobs. However, the drawback is bigger
companies frequently want someone with experience to be a master of a few
things, and less a generalist. Not defending it, but I've rarely seen a
corporate hiring manager excited to hire an experienced dev based on them
coming across as: "Oh I can learn anything! What do you need?"

------
bsdpython
If you have a bunch of companies on your resume that no one has heard of then
it doesn't help. If you are getting interviews though then there are other
factors at play that I think you are dismissing. Are you fluent in in-demand
skills? Do you do side projects? Did you do interview prep, especially coding
exercises? What would you say are your biggest strengths?

------
fouc
You probably need some capability of working with a team.

I'm going to assume you're a developer. Imagine working with a team of 5 to 10
developers. Plus a team of QAs. Plus a team of Ops. Plus a team of DBAs.

There's usually a process like working on code in a feature branch, passing it
on for code review and then merging the feature branch into a development
branch, where the QAs will deploy it to a staging server to check your changes
(unless they deploy off the feature branch alone), and then eventually the
development branch is merged to master for deploy to production.

So basically people aren't merging code to master or development out of the
blue. People aren't typically sshing into production servers and changing code
on the fly. Developers probably don't even get any access. And so on.

Anyways, not sure if you're already familiar with all that or if it gives you
new insights into how working for a larger company might be different.

------
a-saleh
I would give you this advice:

Try to follow up with people that interviewed you, you might actually learn
why you didn't make the cut. This might be harder with large companies, but
even during the interview, a question like 'If this doesn't work out, I plan
to apply again in 6 months or so, anything I should do in the meantime to have
better chance of success' might tell you something you didn't already know.

Second, I heard that if you go through interviews, the chances to get a job
can be quite low, I heard stories that went along the lines 100 applications
-> 10 phone screens -> 1 onsite interview.

It might be easier going around meetups, open-houses or conferences and
talking to people, you might learn about open positions that would fill sooner
than they get to a public job-board :) Last job I got came from a conversation
with a former high-school friend over a beer.

------
PopeDotNinja
Generally speaking, getting a job is about being & sounding like someone the
interviewer(s) can relate with.

Let's say you work at a big company in an environment that does not prioritize
testing. You are heading into an interview at a smaller startup that LOVES
testing. When one of the startup interviewers asks you how you feel about
testing, they want you to answer the question in a way that makes it sound
like you'd be enthusiastic & competent at testing "all the things". If you say
"I don't have time to write tests at work", you're almost certainly not going
to get the job. If you say "I love testing, I write tests whenever I can, a
certain employer I may or may not currently work for makes it hard to me to
increase test coverage, and that's a factor in why I'm taking the time to
interview with you", you're going to almost certainly get the interviewer's
attention in a good way. The other part of selling yourself is that you, as
far as this employer is concerned at least, really need to love testing.

Get it?

So what does it take for you to look & sound like the person who would get the
job at Amazon, Cloudflare, or Coinbase? What does it take to be like what you
sound need to sound like? Can you get that experience at work by taking
initiative? For the experience you can't get at work, what can you do to get
it outside of work? Do you need to buckle down and tear through Cracking The
Coding Interview & LeetCode exercises? Do you need to work on a personal
project that showcases the skills you can't develop at work? Figure those
things out as best you can, push yourself super hard, and you'll get one of
those shiny jobs that breaks you out of your current career paradigm.

Also, don't overlook the value of being really good at something people really
need. That's a basic supply and demand thing. If you're a badass VB6 developer
or MUMPS developer, those are simply not a hot skillset for almost any
employer these days.

~~~
amazonavocado
Then my goal, ostensibly, is to find a large company with interviewer(s) that
are like and sound like me. Instead of trying to blend in, I will try the
other approach. Try to find my "soul company" within the major big companies,
so I don't need to artificialize myself. There are many big companies to
choose from so it's very likely I just haven't found one who has a lot of
people like me.

------
asanwal
Would you say you have a specialization or are you more of a generalist?

Bigger orgs often tend to want specialists while early stage cos love
generalists who can do a bit of everything.

Also, scale invites challenges that someone in companies of < 20 will not have
encountered.

Hard to know without more specifics but sometimes comes down to the “different
wars need different generals” mantra.

------
captain_perl
In the first part of my career, I was usually told I was their second choice.
But their number one pick chose another offer and I got that Fortune 500 job.
So perseverance works.

Now a couple decades later, I have the problem that nobody believes anybody
can be that good on the short offline tests. So I have to schedule skype
interviews where the interviewers can see me and and verify that I know far
more than they do.

The second problem is actually the more difficult problem to have, but there's
a certain sense of accomplishment. I'll deal with it. :)

------
pnathan
I do not believe this is a thing. I've seen a lot of migration between company
sizes.

I would, however, believe that you are presenting in such a way as to not
harmonize with the expectations of the interviewer.

I've done a fair bit of interviewing on both sides of the table, with
reasonable success - at least, I am mostly happy with it.

I am happy to talk to you 1:1 - email in profile.

------
paulsutter
Try getting a contract role with the type of company you’d like to join, then
perform awesomely and be a great person to work with. If it’s a fit you’ll get
converted to full time. Just be sure to target companies that are very
actively hiring

------
DataJunkie
Yes it can happen both ways: pigeonholed to small or large companies, but I
don't believe you're stuck with it.

You might have a personal marketing problem, or you might have an interviewing
problem.

Small companies can be great. I tend to think "startup" when I hear small
company, but I think the same rules may apply. Your tech stack is probably
more fluid and you can learn new technologies more easily. These are great
skills to have. But... if you are not clear about what type of work you want
to do and how your skills apply to that work, it is easy to turn off a larger
company because they can't fit you into a role (a "box"). A good recruiter
will try to shop you around the company a bit, but there's a limit as to how
much time they are willing to spend doing that.

Story: I recently had a set of interviews for a large company (the recruiting
process was a mess and a joke) where I was bounced from place to place and
nobody (myself included) could figure out where I fit in the company. I feel
that company was very tight lipped or unsure about the roles they were hiring
for, so I had no better answer than "I'd be happy in either position" to which
one of the hiring managers said I would be a better fit for a startup. I came
into the process very wishy-washy about what I wanted. Considering this didn't
happen with any of the other companies I applied to, I blame this company.
Everything was secretive and somewhat adversarial. I ended up at a much larger
company with a much better reputation.

Point: If you are not clear about what you want, you may get stuck in the
small company loop.

The good news is that you are getting phone interviews at larger companies.
Before you take an interview, research the company and its culture, don't just
rely on what you know about the company. Focus on what you have accomplished
at your companies, and not the tech stack you use. I've heard a lot of
candidates tell me about the complexities of the open-source stack they've
worked with, and that's great, but I want to know how they will help us in our
mission. Those types of nitty-gritty answers would better fit smaller
companies, in my opinion (unless I am specifically asking about how they did
something).

Also, larger companies have a pretty standard interview process. Data
structures/algorithms and coding phone interviews. You need to practice,
practice, practice on Leetcode or some other platform and even re-read an
algorithms book. Smaller companies tend to be more holistic and use take-home
projects, have you participate in a hackathon, whatever, but to get into a
larger company, you need to learn how to play the interview game rather than
just being a great coder (irony intended).

~~~
amazonavocado
Out of the comments here so far, I really resonate with this the most.

In particular the paragraphs where you talk about how larger companies want
you to be a specific fit for a role. I've noticed that a lot of times my
enthusiasm for working at a company comes out like "put me anywhere you feel
is best, I won't let you down!" and it never occurred to me that some managers
don't like filling in a lot of the gaps themselves.

So if that comes across as being indecisive then it must be a clear sign that
I do not know how I would fit in. Sometimes I do get a manager saying they
want to hire for a specific department and I just roll with it. And when you
describe your experience, then it sounds like going with a "just put me in
wherever" attitude ironically makes you sound disinterested even if that was
not the intention.

As far as studying up on the data structures/algorithm specifics, I've been
around enough big company discussions to have realized it. I go against the
common grain in that I actually prefer whiteboard interviews over take-home
test projects, too. Because everything about the interview is transparent and
both sides essentially invest the same amount of time and progress with it.

------
Spooky23
Try consulting. It might be a transition that will give you the right mix of
chaos and “get it done” while exposing you to bigco lingo and thought
patterns.

------
flatfilefan
Try asking for feedback on the rejections. Did you?

~~~
amazonavocado
Yes. Most companies don't want to provide feedback due to liability reasons.

Only big exceptions are TripleByte and Enova. They told me that I come across
as too "junior" in giving explanations despite my years of experience. The
smaller companies are probably holding me back in career growth.

~~~
timv
_Disclaimer: You 've only given us a few paragraphs to draw on, so we need to
fill in the gaps and make some assumptions. You'll need to test whether those
assumptions actually fit with who you are._

From your intro, my guess was that this would be a senior/junior mis-match.
With 10 years of experience, employers will think of you as someone who should
be a senior engineer, and they are likely to be evaluation you based on that
expectation. That might be your expectation too - you didn't really say what
sort of roles you were applying for, but if you're applying to "senior
engineer" roles, then each company will have an implicit set of expectations
about what a senior engineer can do. Some of those expectation might be made
explicit in the role description, but many won't be. The role might talk about
"mentoring junior developers" but there's an implicit expectation about the
_content_ of that mentoring - you have to know certain things in order to be
able to teach others about them.

Those expectations will vary by company, and even by hiring manager. Some
interviewers will think "A senior Java engineer _must_ know spring+hibernate",
but if you've spent your career working in the Hadoop ecosystem, then that's
not likely to be true. Or "A senior engineer must understand the trade-offs of
unit-testing vs integration-testing" (and be able to give the answer that they
want to hear) but that's a question that is more relevant for certain project
types, and not every engineer is going to have an opinion on that.

A likely problem here is that your 10 years of experience haven't given you
the right set of skills to be able to answer their interview questions in ways
that satisfy their (probably unreliable) interview filter. Maybe you really
don't have those skills, or maybe you have them in some form, but not in a way
that matches the interviewer's expectations.

Some time ago, when I was hiring into a medium/large bank, my expectations for
a 10+ year engineer would be that you could be given a loosely defined
problem, work your way through the details to understand the real task to be
solved, design a solution (typically changes to be made to an existing
system), implement and unit test that solution, assist in developing a system
testing plan, assit in implementation, and understand the implications for
support/operations. Each of those steps has a bunch of further detail that
varies greatly by workplace, and interviews have "right answers" that assume
you've done this enough times under similar enough conditions to be able to
reach the same conclusions as they've reached.

As an anecdotal example. I remember hiring for a particular role, and one of
the questions proposed a scenario where a particular business function was
currently being driven from a spreadsheet, but they had outgrown that, and
wanted to automate more of the workflow, and wanted to run a project to build
a web-based internal system for that. How would you approach that? One of the
candidates said something along the lines of "If they have a working
spreadsheet, then I wouldn't want to change that. There's lots of risk in
reimplementing it, so I would look at tools that could be used to put a web
front end on top of the spreadsheet, and automate it that way." That was the
wrong answer. It was a valid answer, and they explained why they wanted to
take that approach, and "because risks" is somewhat reasonable, that team was
not big on risk-taking. But whatever that candidate's experiences had been,
they had led him to propose a solution that didn't fit with our expectations,
and made what we considered to be the wrong trade-offs (and he persisted with
that proposal even when we prompted him to go in a different direction). It's
quite possible that some other company would say "Yes, that's exactly what we
wanted to hear, you're hired!", but he wasn't the right person for us.

So - what's the solution?

You might try angling for a less senior role. It's hard when you have
seemingly relevant engineering experience, to pitch yourself as a mid-level
engineer, but you might need to find a way to do it. Then the expectations are
lowered, you can get in the door, find out where your previous experience was
leading you astray, and then be promoted to a senior role (or switch to a new
company, now that you have the skills you need for the interview). You might
need to trim your resume in the process so that you only mention the last 5
years of experience, and don't look too senior.

Alternatively, it might just be an interviewing issue. You might just need to
translate what you do know from "small company" to "big company". Try
something like [https://interviewing.io/](https://interviewing.io/) and learn
how to explain the skills you do have, in terms that big companies like.

\--

 _edit: s /prompted/promoted_

~~~
slow_donkey
I'm curious what a correct answer to your interview question would look like -
would you mind expanding on a plausible approach?

~~~
slow_donkey
I just realized you already gave a very thorough list of your expectations.
Thank you!

~~~
timv
You're welcome, but I'm happy to at least elaborate on why that answer was a
poor fit for us:

\- It presumed that the existing spreadsheet would be flawless and bug-free.
That is almost never the case; ad-hoc spreadsheets are often riddled with
mistakes.

\- It presumed that it would be a high risk/expensive task to replicate that
spreadsheet in a technology that was more suitable for the job. Yet (if you
assume that the spreadsheet was essentially correct in its function) it is one
of the simplest implementations - you have a working specification for the
behaviour you're implementing. If you are not confident in your ability to
replicate a working spreadsheet, and then test that your new code behaves
identically, then what are you going to be confident to build?

\- It presumed that the technology used to automate the spreadsheet would
replicate its behaviour faithfully. But that's only true if you use the same
underlying application, so you'd only get the benefits if you automated
_Excel_. If you used Open/LibreOffice, or Apache POI, or something similar
then you still have all the risks that come with a reimplementation.

\- It failed to account for the operational complexity of such a solution.
Automating a spreadsheet is fragile. The resulting system would likely be a
nightmare to operate.

\- It failed to account for the long term maintenance cost of running a suite
of business applications that are cobbled together from bits-and-pieces
without any planning or cohesion. In that environment you should assume that
an application will be in service for 7-10 years with the possibility of it
running for 20 or more years. One of the biggest ongoing costs for that team
was the number of bespoke applications we had, each using esoteric
technologies and inconsistent design approaches. For example, a project to
upgrade the underlying Operating System (or web browser, or database, or ...)
would need to test each of those apps and potentially fix bugs. Which meant
finding the source code, working out how to build it and package it, etc. Not
to mention the cost of trying to stay on top of security patches for the
underlying components and libraries. Consistency has massive value in that
sort of environment.

You learn those lessons from experience - _if_ your experience has been in a
similar sort of working environment. I don't presume that every senior
engineer has that same set of experiences and will agree on the same set of
priorities and tradeoffs. But if I'm hiring you and paying a senior engineer
salary because you have experience, then it needs to be experience that is
applicable to the sorts of problems we face and the decisions we need to make.

------
enjoyitasus
Yes

~~~
amazonavocado
Elaborate?

What are some examples of this?

More importantly I want to know if you read the content of my post, and what
are your thoughts on that content and your personal reflection of it.

