
Ask HN: How to sell myself to a company downplaying my holes in experience? - ccajas
I&#x27;m going to lead with a particular example. Everyone probably understand the value of code testing, though I haven&#x27;t seen it in my personal experience, to see fellow developers at work writing their own tests. I&#x27;ve been with five companies and they all follow a QA-focused process.<p>What we typically do is mark an issue on our project tracker (Redbooth, for example) as something like &quot;send to QA&quot;, wait for the lead developer to push to the staging server, which can take a while because the lead dev is usually outsourced and living in a very different time zone. When he finally pushes the code, QA is able to test the new code to see if the issues have been fixed.<p>As the developer I&#x27;m not expected to write my own tests there. I don&#x27;t know what regression means (is that like linear regression?) and wouldn&#x27;t know which testing framework to use. However, more and more, I have been interviewing with companies that prefer automated testing and developers writing their own tests.<p>They might ask me what my experience with unit testing is, my mind draws a blank and simply say I have no experience with it. I&#x27;m sure that&#x27;s a turn-off for them and now probably see me as a rogue who plays by his own rules, wreaking a tornado of havoc onto well-structured code. Anyways, I want don&#x27;t want things like a lack of automated testing experience to be an &quot;anti-selling point&quot; anymore. But the companies I worked at didn&#x27;t have a business case justifying why they should spend expensive developer resources that detracts from something that just works already.<p>&quot;I don&#x27;t know X but I will have no problem learning it!!&quot; is also not the saving grace at an interview like some people think it does. There has been no instance of me saying I can pick up new knowledge quickly in an interview in which the company gave me an offer. It&#x27;s getting to the point where now I have to sell businesses cases to remain employable for other companies. Anyone help me out with this, starting with this particular example with TDD?
======
itamarst
Here's what I would do:

1\. Spend a couple of hours doing some research. So you'll learn "regression
test" means "automated test to ensure a bug is fixed and doesn't reoccur", and
about some automated testing frameworks for your language of choice.

2\. Spend another hour doing some minimal automated testing with one of those
libraries.

3\. In interview when asked about testing you explain "At my previous employer
we mostly focused on manual testing, so I did that, and then QA person checked
it and usually my manual testing was good enough, so I'm pretty thorough. But
I know automated testing is important so I've spent some time looking into it,
and I'd probably be using <testing framework you found in step 1> for <your
language>."

Basically:

1\. Don't lie.

2\. Spend small amount of time to make sure you have basic albeit superficial
knowledge, which is a _lot_ better than "dunno".

3\. Communicate you can learn on your own.

4\. Communicate you care about quality.

Some general advice for interviewing for jobs with technologies you don't
know: [https://codewithoutrules.com/2018/01/23/job-with-
technology-...](https://codewithoutrules.com/2018/01/23/job-with-technology-
you-dont-know/)

~~~
wingerlang
> automated test to ensure a bug is fixed and doesn't reoccur

This is not necessarily true, you can perform a regression test manually as
well.

------
swatcoder
First, framing: obviously, every company would _love_ to hire candidates who
are proven experts in _their_ methodology and _their_ technology and _their_
industry. But it's just as obvious that this isn't possible. So hiring
involves compromise. You don't need to get every question "right" in order to
be a winning candidate.

Second, as itamarst said: always be honest, but also be curious. If you're
consistently seeing something come up in ads or interviews for the places you
want to work, dedicate the time to research it thoroughly and earnestly. You
can't invent experience, but you can demonstrate enthusiasm and preparedness.

Third, fulfill the compromise: look for jobs where you're already a very good
fit for other details like familiarity with their industry or with a
particular solution. The more you stand out by some measures, the more leeway
they'll afford you for others.

------
sloaken
So do you know what unit test means? You said at the interview you could learn
it, so have you?

At interviews I loved asking a question I did not expect someone to know, but
they would feel embarrassed by not knowing:

You know what trees are? <of course>

You know what binary tree are? <of course> Please explain...

Do you know what a 2-3 tree is? <usually not, so I explain>

You know what a balances tree is? <yes>

You know what a B tree is? <yes>

What is the difference between a Balanced tree and a B tree? <silence> Ok so
this seems like a technical question right? Wrong. There are several possible
answers:

1) I have no clue (this is acceptable)

2) say something (I will write down every word you say, after the interview I
will look it up, because even I cannot remember the answer. If you are right,
then good for you, this question counts no more than answer #1, if you are
wrong, depending on how wrong, you might be eliminated. I do not need someone
who feels such a need to be an expert that they make up stuff)

3) I do not know but I know how to find the answer. (this is really what I am
looking for. You will not know everything but should be able to work stuff
out. But that only gets you 0.5 points. You must look up the information and
email me the answer. 24 hours is as good as 10 minutes after the interview.
Although I hate it, it should be in the stupid thank you note.

For any skill you do not have but you understand it, try and relate it to
something you already have been doing.

------
bjourne
IMHO, not understanding testing is a very big hole. It is not like not knowing
what the latest and greatest Node.js web framework is. An interviewer could
quite reasonably eliminate someone by not having worked with testing before.
Your best bet is to learn about testing well enough to eliminate this hole.

