Ask HN: Any other self taught devs terrified of interviewing these days?

195 points by ramesh31 ↗ HN
When I got into this industry 10 years ago, the world was a completely different place. Bootcamps weren't a thing. Computer Science programs were still something just for the nerds. And the industry was almost entirely autodidacts like myself who grew up immersed in technology and did it for the joy of it. Fast forward a decade, and now literally everyone and their uncle wants to be a software dev, and CS programs are churning out hundreds of thousands of graduates. The thought of competing against someone credentialed with 5 years experience vs. myself with 10 years and no degree, feels hopeless. It almost seems like the path I took back then would be completely impossible today.

220 comments

[ 2.9 ms ] story [ 249 ms ] thread
Considering how many candidates are out there who have B.S., M.S., or even Ph.D. degrees in Computer Science, but can't even manage to write FizzBuzz, I think your fears are a bit overstated IF you are actually reasonably competent and are capable of showing it.

Anyway, in my experience degrees are more about simply getting past the first-level HR filter than anything, and don't get you hire per-se. And with 10+ years of experience, you'll get past the first-level HR filter just as easily, so really it comes down to demonstrated competence. Can you show/convince (an) interviewer(s) that you are competent? If you can, you'll be fine.

I am doing PhD in CS. I solved and designed algorithms to solve very tricky and hard concurrency problems (mostly in the Linux kernel). I ported the Linux kernel to a research CPU architecture. I wrote complex system software to deal with memory models, heterogeneity and cross-ISA migration, modfying glibc, llvm, linux.ld and tens of other system software. I worked on KVM, kernel network stack, networked filesystems and implemented distributed systems levraging all of them. However, I have no single idea what is FizzBuzz, and if someone asks me to do it an interview, I would fail miserably. I also only code in C and lots of LeetCode type of questions are a nightmare for me.
> I have no single idea what is FizzBuzz, and if someone asks me to do it an interview, I would fail miserably.

If you know what you are doing even in the slightest, you won't fail.

No one will put you next to the whiteboard and say "do FizzBuzz", expecting you to know exactly what it is and what to do. They will say "write a function that takes in a positive integer as an argument, and then counts from 0 up to that integer. Every time a count is divisible by 3, print out 'Fizz'. Every time a count is divisible by 5, print 'Buzz'. If a count is divisible by both 3 and 5, print 'FizzBuzz'".

I cannot imagine someone who wrote all the complex things you did, but is not able to write a toy counter function like that.

To be honest, that's the first time ever in my life to read the description of FizzBuzz, which is ridiculous. But I was just answering the parent and providing a data point that proves the correctness of his statement.

But in general, I find LeetCode style interviewing very boring and dry. Like all of those "Given a string, find a substring that satisfies bla bla condition", or "given a matrix as csv input, read it then calculate some BS and find the best estimation for some other BS, etc".

When I was very young and naive, that might be fine, but at this point in my life, I just get super super bored and annoyed by such questions.

Instead, I prefer contextual questions. Like if you're hiring for a low-level network programmer, let me do some socket stuff in C or Go, implement a backoff mechanism in a given code template, discuss some TCP/IP congestion stuff, discuss some code, add a small feature, put a bunch of system calls and watch how I care about performance (blocking vs non-blocking, epoll vs select, shared-memory vs message-passing, context switching, etc) and how I handle errors, and also observe my workflow, how I check the documentation, the man pages, debugging, etc.

I think this is a much more reliable and less frustrating way of interviewing and I believe it attracts very highly skilled and motivated people.

FizzBuzz isn't leetcode. It's a filter for bare minimum programming and reasoning skills. It's purposely simple to avoid tripping people up with a seemingly hard problem that depends on insight you might miss while under the pressure of an interview. If you're so innumerate you can't check for integer divisibility you might not be a good fit for some programming tasks.

I've seen candidates fumble when given the problem of adding a node to the end of a linked list. Everybody is pampered now with swiss army knife languages that do everything for you that they don't know how anything basic works. Many of the HN crowd will sneer at the idea of this sort of low level coding but it is still important in many domains.

> Everybody is pampered now with swiss army knife languages

Wow. Who's sneering again?

> Many of the HN crowd will sneer at the idea of this sort of low level coding but it is still important in many domains

Yeah, we do. Because developer-cum-interviewers for companies writing marketing-optimized CRUD apps use these as filters (or to make them feel superior, take your pick), and sneer at people who can't bark out the proper magic incantation for reversing a linked list on demand.

And let's be honest. Unless you're in an exceptionally specific field with exceptionally restricted resources, using the "swiss army libraries" will create more performant code than a human can. Because those "pampered languages" have been optimized to ridiculous degrees.

If the job description is for an embedded programmer you should be prepared to work in that field.
> Because those "pampered languages" have been optimized to ridiculous degrees.

Haha, and then there are stories about python finally getting rid of the GIL - soon, probably, hopefully!

And that's only my favorite language.

There's no way in hell you would fail a FizzBuzz test if you have done the things you say you have done.
At the FAANG companies I’m familiar with, the coding portion is sort of a standard bar that everyone must pass, from new grads to 30-year veterans. The more senior you get, the less they matter.

If you were being hired into a specialist role such as for low-level networking, there would absolutely be a more detailed “Systems” interview where you would discuss in depth the topics you mentioned, usually in the context of a more open-ended “architectural” problem.

Interviewee performance on these “Systems” interviews hold a lot more weight at senior levels, not just for hire/no hire decisions, but in fact the level of your offer.

An issue is that a lot of mediocre people got into decently ranked positions and are now mediocre interviewers, too.
I think FizzBuzz and other easy questions being asked is a symptom of the opposite issue.

The field of interviewees is so mediocre that if you start with a reasonably difficult interview question a lot of them will flounder and will never get it. When I interview I like asking tiered questions. They build on each other conceptually and get harder.

The first one I ask takes good candidates 10-15 minutes at most. I've had some solve it in 2 minutes. You can write a not-too-ugly 1-liner in Python to solve it. Some candidates spend a full interview on that question and never get it. The question isn't a trick question, it requires a basic knowledge of data structures and directly translates to the (mostly simple) code people write every day. If someone solves this question it basically tells me that they're good enough for the second question, not much else.

But man, is it painful to interview someone who can't answer that first question with a harder problem to start with. I don't know if you've ever interviewed someone who just didn't get it, no matter how many hints you drop, but it is an uncomfortable experience.

That is why we have FizzBuzz. Asking a harder question first to a shockingly large number of candidates is a waste of effort. So we all have to FizzBuzz and then (hopefully) answer some real questions.

> However, I have no single idea what is FizzBuzz, and if someone asks me to do it an interview, I would fail miserably.

I'd suggest actually looking up what fizz buzz is before making that claim.

https://en.wikipedia.org/wiki/Fizz_buzz

I like it as an interview question because it gives insight into the candidate's thought process. I'm not as concerned that the resulting code works. My approach is to explain fizz buzz, hand the candidate a computer, ensure they have the tools they're comfortable with, and tell them to use whatever resources they need. Copy and pasting code from the Wiki page wouldn't be the worst that I've seen (and would be 100% acceptable to me if the candidate can explain what the code does). Write it in BF for all I care, as long as you can explain what it does and (ideally) run it.

At one job a few candidates stood out. I was running late as usual, so I popped in, realized I'd forgotten my notebook in my car, and went back to grab it. By the time I returned the candidate had literally run out of the office. One candidate wanted to impress us with his bash skills and got completely flummoxed trying to figure out how to implement the modulo operation in bash. What really stood out about the candidate we hired was that they reviewed the code and then ran it to verify the correct behavior before handing the computer back to me. They were the only candidate to do that.

I really hope you (or someone else in your interview loop) asks another question besides FizzBuzz.
I'm not quite sure where you got the impression that fizz buzz is the only interview question that got asked. I'm fairly process oriented so I find a lot of value in observing how someone works. But at some point it's just not worth it to proceed further.

I like fizz buzz because it's both a good low pass filter and a good jumping off point for further discussion. If you can't read the Wiki entry and wrap your head around fizz buzz, you're probably not a good fit. If you can then there's the opportunity to ask all sorts of questions (e.g. why did you choose this language, how would you test this, what would you do differently) and maybe even move on to a more complex program.

For the one candidate who struggled with bash, we started offering input around the ten minute mark. Stuff like "is there something else you could use instead of the modulo operator", leading questions to encourage them to check the man page (or google it), inquiring maybe a different language would be a better fit. That this person could wrap their head around fizz buzz was only a minor detail. That they were fixated on making a specific implementation work was a big miss. At this job specifically the tech stack was fairly diverse so there was a lot of value in being able to suss out the right tools for the job and less value in being able to bang out a more complex algorithm in clojurescript or whatever.

I tend to memorize it like this:

  If number modulus 3 is true, print "Fizz"
  If number modulus 5 is true, print "Buzz"
  If number modulus 15 is true, print "FizzBuzz"
My favorite examples are in Python and Lua, but I honestly adore Lua's version as it makes it really clear of what it does.

Here's an implementation of mine for reference:

    local startTime = os.clock()

    for i=1,100 do  
      fizz = (i % 3 == 0) and "fizz" or ""
      buzz = (i % 5 == 0) and "buzz" or ""
      if fizz == "" and buzz == "" then goto continue end
      print(string.format("[%03d]: %s", i, fizz..buzz))
      ::continue::
    end

    local endTime = os.clock()
    print(string.format("Total time %.6f seconds", endTime - startTime))
However, I have no single idea what is FizzBuzz, and if someone asks me to do it an interview, I would fail miserably.

A fellow commenter here has already addressed this point, but let me reiterate: you wouldn't be told "do FizzBuzz" with the expectation that you already know what FizzBuzz is. The problem definition would be explained, and it is a very trivial problem. That's why it's often used as a low level filter for programming interviews.

At a former employer we used to do just about everything we could to make the process as easy for the candidates as we could. We'd give them a laptop with an IDE running, the skeleton of the test app already in place (eg, main method, and any "plumbing" dictated by the language. We supported using Java and Python) and comments basically saying "flesh in the required logic here." We would give them, IIRC, 5 such "skeletons" and ask them to pick any one (or more) they wanted to implement and gave them approximately 30 minutes. Besides FizzBuzz the other ones were "reverse a string" and other problems of similar difficulty. And yes, you could use any standard library API that you wanted. And frankly, if somebody had said "I know how to do this, but I'd need to download library $FOO" we probably would have arranged to get them library $FOO ('net access on the test machine was disabled, as we really didn't want to test their ability to go find the answer somewhere else and copy & paste).

And despite all that, it was sad to find that very many candidates, even those with documented years of experience and/or advanced degrees, could not manage to complete a very simple programming assignment. Well... I say "sad" but there is another way of looking at this: it could be that FizzBuzz, "reverse a string", etc., just don't have any particular relevance and that this whole exercise is useless. I mean, if you have a person who's been gainfully employed as a developer for 10 years, and they can't do this, what does that tell you? Maybe it's the test that's wrong. Even though intuitively, I think most developers would believe that anybody who can't do this sort of thing doesn't really know how to program.

Anyway, back to the original point directed at the OP: being self-taught isn't really that big a deal, IF you can demonstrate some fundamental level of competency.

Why do you think it’s hopeless? Having a CS degree is just one attribute a candidate brings. I’d personally value 10 years without that 5 with but there are so many other factors to consider in candidates.
I'm not terrified of interviewing. I just think it's an even bigger pain in the ass than dating. The older I get the less patience I have for people who need me to sell myself to them as if I were a commodity and not a human being.

I don't think you need to be a feminist to say "WE ARE NOT THINGS".

I am not a resource.

I am not "human capital".

I'm a man who happens to need to work for a living. Deal with me as such or not at all.

> I just think it's an even bigger pain in the ass than dating.

It’s even worse compared with modern dating apps. Like dating apps, I can’t even trust that job applications are real and actually interested in finding someone.

And just as with dating no one I seem to like likes me and vice versa.

>I can’t even trust that job applications are real and actually interested in finding someone.

I got burned by this recently. A recruiter reached out to me on LinkedIn about a job opening at a company I had previously been interested in joining. One phone screening and one Teams call with two different external recruiters later I was informed that the company wasn't even hiring for that role.

Of course this was partially on me. If I had looked at the careers section of their website I would have seen that the role I was applying for wasn't listed.

Yeah I had the same thought. I get the feeling there are more than a few places out there posting jobs just to gather massive amounts of resumes with no intent to contact anyone.
My meat grinder has about 500 companies, 200+ I touch every three months. There are a lot of companies with same / similar ads for extended periods. Some of them I've applied to, and discovered after they'd been in the meat grinder for a while.

Wish I could do something with that info. A deadpool where the posting that's been up the longest wins the daily pool?

On the other hand needing to sell yourself, and being judged on how well you present yourself seems very much a part of being human. I agree though that the "human capital" language and the formalized processes at some places is a bit dehumanizing.
This is the uncomfortable truth.

We'd all like to be judged by our objective value, but the problem is, it's really hard to measure it, so we have to use some kind of heuristics. One of the heuristics is self-confidence which is supposed to come naturally with skill.

So if you hide yourself from the world, don't be surprised that the world doesn't see you. If you want the world to see you, it is your responsibility to sell yourself, in order to inform and assure others of your value. The valueable ought to be louder than the conmen, in order for world to work properly.

I don't mind selling myself if the person on the other end is worth it, this is almost never the case though in both dating and business.
And as bad as with dating, you're more demanded when you already get one or recently get one. It improves your value which ironically defeat the whole purpose of job seeking.
> I am not a resource

This is a very poetic and hopeful thing to say, but at the end of the day, it is simply not true. We don't get to just exist for the sake of existing. There has to be give and take with our external environments. There are a few relationships that bypass this (to SOME extent; see: mother/child) but by and large for the vast majority of human relationships, if you don't provide value—they aren't going to altruistically just give you money, love, time, etc.

So while you are correct that we are not things, we are humans, there is a level of needing to convey what wonderful human qualities you plan on bringing to the relationship. This is true in dating, interviewing, and making friends. There's no relationship you can voluntarily enter where the other party will be fine with you taking and not giving—and interviewing is simply outlining those terms—"selling" what you plan to bring to the table.

Can you dig further into the specifics of your worry? I find that most interviews focus on my knowledge or experience, I’ve never really had the degree come up. You are somewhat alluding to two problems though, interviewing with 10 years of experience and the path you took to get there. Starting out may be harder(although it’s an employees market out there right now so it may be a great time to start)

But it’s funny you say 10 years ago. I started 20 years ago and don’t feel like 10 years ago is that much different from today(though would say it seemed easier to start out 20 years ago)

I'm pretty sure 85% of the people I interviewed with didn't read my resume and my education never came up.
My resume is a list of projects I made myself. I had an interview where the interviewer obviously didn’t bother looking at my resume until he got on camera with me, and he asked, “can you tell me about your time at 5 day weather app?”

Needless to say I didn’t get the job.

I’m not in the US but from France.

I know two things for sure : - Hiring is stupidly hard. There is basically nobody applying. - For any non junior position, we dont even care about the degree. Personally, I don’t even read this part of the CV. Experience matters way more.

For me, as long as you are doing decent work, nobody will avan care about what degree you have. Furthermore, I’d say that companies filtering you on this is a good thing : you really don’t want to work for a company that recruit people based on a piece of paper they got decades ago.

(comment deleted)
I'm at a FAANG and I'm in the same boat. I don't care at all if you have a degree, the resume is just to get your foot in the door.

Interviewing sucks, but it's mainly because the people doing it are poorly trained, at least in my experience.

I almost interviewed for a FAANG company recently (they put a hiring freeze in before I could get in the interview) and they literally told me to grind "Leetcode Hard" problems to prepare. I have 20 years experience but the kind of problems that are "hard" on leetcode are a very different than what I have done day to day during that time.

I wish my degree and experience would speak for itself. But in reality it seems like exactly that... the degree doesn't matter.

Edit: Last time I mentioned it I got hammered by people in HN essentially telling me I must not be good enough. But having done a lot of interviews on the interviewer side, I can say pretty certainly that Leetcode skill is not directly correlated with Software Engineering skills.

I dabbled in competitive programming a bit (~20 years ago) and can confirm this. Since everyone was talking about leetcode recently, I went and did a couple questions there. Smart people with some CS background but without specific training can reasonably expect to find medium challenging but not impossible. Hard usually requires some specific knowledge of the tricks to do those types of questions -- and these tricks are rarely used outside of specific niches. Solving leetcode type problems are generally kind of fun for me (might be considered an "acquired taste"), but I don't believe all programmers/software engineers need to grind them to become good...

I've personally never really applied those competitive programming skills in my 10+ years career (outside of interviewing...) Those who have done so are probably in the minority (and I suspect, probably over-engineered the solution a bit).

You know, everyone seems to say this but the reality is that once you get in that room--physically or virtually--the hazing rituals and in-group tests begin. As an industry and a culture we need to accept that this is the reality at many/most companies and that those companies need to stop saying "Oh woe is us, we just want to hire someone!"
Well, I have interviewed people who I know I will not hire based on the first 5-10 minutes. I schedule 30 minutes for the screening interview so I will still give them that time and be nice to them... with the intention of not giving away why I will not be hiring them. My motive is to not let them know so that they continue the way they are so that people like me are able to avoid them too.

Maybe they could improve if they were aware of the problems, right? No... and even if it was possible to change them, that is not my job. I'd rather hire someone else.

(Not giving away what I look for because I don't want people devising deceitful techniques to get through the screening. If you know, you know.)

No. I learned algorithm complexity in secondary school and started early enough that coding my own hash table was a normal exercise because the standard library didn't come with one (Turbo Pascal).

I also discovered competitive coding via the International Olympiad in Informatics (also a school thing, pre-college), and the kinds of problems in those turn out to be almost identical in form to today's style of coding interview. I only had to learn recursion and I could start hacking away at problems.

Fancy techniques like "dynamic programming" are normally amenable to memoized (i.e. cached) recursion implementations, but in practice most interview problems aren't even that hard.

Now, I went to college, but it was a mixed degree with business and it didn't teach things like hash table implementation, let alone pointers. Algo analysis material was weak. I was the best student only because I knew it already. The degree is mostly useful for visa qualification. I also got very good at pool.

I feel this. I’ve done pretty well for myself — I have decades of practical experience and have risen to be a principal engineer at my work. I can write what I feel is pretty solid, robust, performant, and well-architected code in many different languages across all ends of the stack from high-level UI to low-level system-level components. I don’t have a CS degree and am largely self-taught. I tend to struggle a lot with theory and I stink at algorithms. (I can generally understand them, but coding one from scratch would be a struggle since these fundamentals aren’t committed to memory and in the real world are rarely necessary to recall at the drop of a hat.)

Given my non-traditional background and keen awareness of my blind-spots, I really struggle with impostor syndrome. I also fear the interview process because I don’t want to look stupid and come to realize my past success was driven by chance rather than smarts. I also know how much of a grind the entire process can be and how it seems like many interviewers are more interested in making themselves look smart rather than honestly assess a candidate.

All of these things are probably more of a function of projection and insecurity rather than reality, but they all feel real to me.

I don't know if I can relate.

Was the industry really "almost entirely" autodidacts 10 years ago? Were CS graduates "nerds" in a way that autodidacts weren't?

It's still very possible to get into tech without a traditional CS education, and it's not clear why it seems hopeless to you to compete against someone with a degree -- ACAICT most interviewers don't even look at candidates' resumes.

Completely agree. 10 years ago is 2012. That really isn't a very long time ago. I studied computer science well before that and even then it wasn't true that the industry was "almost entirely autodidacts". That's my dad's generation, where a computer science degree wasn't even a thing you could get. You'd have studied math or electrical engineering or some such and you kinda got into the computer side of things, e.g. through the computer lab usage at university.

I can also tell you that for someone with 10 years of experience, I don't look for a degree at all when I hire. Sure, I will read your whole CV and will see whether or not you have a formal degree, but I won't throw out your CV just because I don't see a computer science degree. Whether you have a degree or not, I will check whether you know how to code, talk about software, design a system etc.

Also don't relate. Got my first job in tech about 6 years ago, last interview was 6 months ago. Found the interviewing process very easy and got an offer I was happy with after 1 week of searching. I'm not applying at big tech where you need to do 20 hours of real time leet coding. Just a regular B2B product where they quizzed me on ruby/rails for 30 minutes and another general vibe interview and that was it.

Reading the responses to this thread, it seems clear most of this is a lack of social skills rather than any change in the industry.

I mean I can only speak purely anecdotally, but I graduated with a CS degree nearly 20 years ago and in my ensuing career, 90% of my colleagues had either electrical engineering or computer science backgrounds, so I honestly have no idea what he's referring to.

If anything, I'd actually argue that there are more non-traditional routes to working as a software dev today.

This is true.. 20 years ago getting hired without a degree was difficult and excluded you from many jobs.. getting a java or c/c++ job was difficult. Now it's more open.
Not at all -- I have no degree with ~8 YOE. Recruiters and hiring managers don't even inquire about my education anymore.

I assume your worries come from the leetcode trend in interviews.

Personally, I let recruiters that are knocking down my door via LinkedIn or email my expectations up front. Salary & no leetcode (algorithmic problems), I have found a lot of success. There are many companies willing to give sane interviews with real world SWE problems.

Experience is highly valued in this field. Someone with 10 YOE isn't really competing with someone with 5 YOE. If you talk to anyone involved in hiring nowadays it's extremely difficult to find experienced devs. Experience will always trump education.

Someone with 10 YOE of desktop experience can't compete with someone with 5 YOE of cloud based experience for a saas opportunity.
I graduated in early 2000s, and I heard same things from CS students/graduates and self-taught developers. They all said the golden age of computer science was 60s, 70s, 80s, or early 90s when people got into computers for love of it not money. Now everyone is computers for money.

Sadly though I did meet a lot of students in my CS program who were in it for money and openly admitted they hate programming, logic, etc and cannot wait until they get a job and then move into management.

I graduated in 2003 form a Software Engineering programme. From the 100 people that started the 1st semester, only 15 of us got out. Of those 15, 4 of us had a Software Development specialization, around 5 specialized in Networking and the rest chose "Administrative IT" specialization.

Most students didn't like programming, but knew that there was money to be made in computer technology (we started in 1999, the internet was booming before the 2000 bubble burst).

With the demand for software, I don't think it matters that much how many devs are churned out. Most of them are going to be mediocre and have poor interviewing skills. Boot camp grads really don't pose serious competition to anyone besides other junior developers. With a resume that has good formatting and spelling, people skills, networking, and maybe a few personal projects, it's entirely possible to get hired today. With 10 years of experience, I'd be surprised if anyone gave a f--- about whether you have a degree in most cases.
With 10 years of experience your biggest problem is likely to be that the person reviewing you doesn't have half your experience.
I once told a manager that I'd been using C longer than he'd been alive.

He took it the right way. :-)

And one tip for junior who is first time job seeking: fake your confidence, and learn to fake your confidence while keep improving your skills.

Second, interview is a number game, though it's against you (..r time). Send as many applications (even though you barely or almost meet the requirements) and have as many interview as you can.

you have ten years of exp, you shouldn’t be worried about having no degree at all… unless you are not in US?
I'm not only terrified, but petrified...literally!

After getting rejected for years, I have decided to stop from even trying.

It has cost me a lot of pain, physical and psychological, not to mention the emotional damage.

You know, panic attacks, stomach ulcer, colitis...the whole package!

I have been telling this for years, but people think I lost my mind :/

I'm fortunate enough that more and more friends that are around my age (40+) or even younger have noticed the same thing and don't know what to do.

I have no idea how to interview anymore; whatever I say it's either wrong or not enough.

  * If I speak more than they want, I'm wrong.
  * If I say near nothing, again I'm wrong.
  * If I say EXACTLY what they want to hear, they go "meh".
  * If I show my skills, I'm considered a smart ass.
  * If I don't show my actual skills, again I'm considered an asshole for hiding my knowledge from them, therefore I'm considered untrustworthy.
...I could go on and on and on and on, but this is your "Ask HN", not mine LOL!

Feel free to check my submissions and my comments on related topics and you will find you are not alone in this.

Virtual hugs my friend, we are together in this.

Update: I forgot to mention that I have a CS diploma which is basically worthless...trust me, the toilet paper you use has higher value than my degree, HA!

You have a web portfolio, a github account with a few open source projects, and an active linkedin presence?

That's what lands me jobs.

no tech degree. just a couple classes in statistcs & databases under my belt. other than that, self-taught via online resources (videos, ebooks, forums, chatrooms)

I recently went to a virtual meetup for help on a project and the organizer got mad at me for using a tutorial to scaffold my project and called me out on the call.

I was so frustrated by the ridiculousness that I just immediately signed off and left the meetup group and discord.

Oh I have a better story! :D

An HR called me after a 1 and a half years I originally applied for a C++ position at a FinTech company to ask me whether I'm still interested in it.

I replied "of course I am!" and she asked me to send her my resume, updated.

As soon as she received it, she immediately replied back "but here says you are an Assistant Systems Administrator; how about to arrange you another position that is closer to what you are currently doing?".

I was like "WOMAN! Read the darn line after what you read that says 'Teaching assistant (C++) during office hours', I have the necessary experience! Are you playing with me now, why did you even call me in the first place?!".

I nearly exploded from my nerves and she didn't like it.

She started shouting at me and closed the phone.

I checked her name online; lo and behold, the very first result Google returned was her (age 23) thanking an Anger Management Center for talking courses how to handle her wrath(!) with annoying customers.

I was speechless! You let a young, fresh graduate without previous experience to handle the most difficult department of your work...at a freaking FinTech company that deals with billions of dollars at a global scale?

Things have gone very wrong at so many levels...GLOBALLY!

Probably a nepotism hire
> I nearly exploded from my nerves

Why? Why not just calmly explain the situation? Why let your emotion get the best of you?

I saw you disregard someone else's advice as well earlier, I think you're forgetting that you have to mould yourself around what the market wants not the other way around.

To be fair, you should probably have multiple versions of your resume, each customized for a specific type of job. If this was a C++ job, relevant experience should have been the first item, not SysAdmin. Are there inexperienced (or experienced, but still dumb) HR people? Of course. But knowing that, you didn't present yourself in the best light to overcome a predictable obstacle.
Yeah this is a good approach I try to customize my CV off a base for every role. Even shoving it in a new company-name folder in Dropbox.

Even though the person is asking for them to apply they are probably asking a lot of people so are going to scan your resume looking for keywords and alignment to a role

Let me give you another perspective: you messed this one up. In multiple ways. Maybe the HR person wasn't great or professional, but you did a wide range of things that sort of demonstrated that the company might not have been a good fit for you. I'm trying to say this in the nicest way, but I see multiple red flags that would get you exited from interviews at a wide range of professional companies, and strongly suggest you revisit how you approach these sorts of situations.
So... you got angry at her and yelled, and then got more angry because she yelled back? Forget qualifications, I wouldn't have hired you either.
Thank you for your honesty.

I know I did not handle it properly, but since you were not in my shoes at the time of the incident, you should not condemn me nor judge me for my reaction.

There's a whole theme behind the scenes with this particular HR that led to this unfortunate reaction; still though, I appreciate your sincerity and I am thankful for that.

There is almost never a good reason to be impolite! Sometimes in interviews they try to piss you off with the exact purpose to see how you handle these kind of situation… you clearly failed! My first job after university was for a big tech company… during the interview the interviewer was very aggressive and borderline impolite trying to push me “over the edge”… I handle it with calm and politeness. Needless to say I was offered the job on the spot at the end of the interview (in real life the interviewer was a delightful kind person and all the rudeness was an interviewing technique)
Rest assured, I don't condemn you. But given what you've said about the experience, I would have judged you as unfit to employ in that moment. I'm curious about your focus on the HR person's history taking anger management classes: do you think that your own anger could be better managed?
I think we have a clash of cultures here, so I don't expect people to understand how insulting was her behavior in the first place that led to my reaction.

Let me remind you: > An HR called me after a 1 and a half years I originally applied for a C++ position at a FinTech company to ask me whether I'm still interested in it.

She literally ghosted me for 1.5 years while I was sending emails for months without response; even my calls were ignored, so I decided to stop trying...and then she decided to check her Discard email folder to look for possible candidates and when she read my updated resume, she went "oh, you are not a good fit"!

Then why did you even call?! Could not you just send me an email and ask me for an updated resume so you can check whether I'm suited or not for your company's needs?

I honestly don't understand you people, seriously.

> I honestly don't understand you people, seriously.

I'm not sure why you'd say "you people"; I'm not in HR, I'm purely technical, and I find many HR folks to be incredibly frustrating and even infuriating at times. But I do not express that to them. Rather, I have, but only through a mediator, after I've cooled off, to help ensure that I wouldn't say something regrettable. As frustrating as they can be, if you yell at the HR person helping my team find a new member, bzzzt, next.

(comment deleted)

  * Not everyone is for web development, even though I'm very fascinated with back-end development and solving sophisticated problems that are considered unsolvable. I have a Computer Science degree (a 2-year diploma, which basically is nothing comparing it to a bachelor's or a master's) and still cannot please them.
  * My important projects were in-house for certain clients under NDA, which ties my hands and cannot demonstrate any of them.
  * I had LinkedIn account and closed it after getting spammed countless of times. I have informed the company at that time and instead of fixing my problem, they would start sending me their own ads for Linkedin Learning courses instead LOL!
I hope you don't take this the wrong way, I mean it in a good way, but I want to point out that reading this comment you come across as someone who is difficult to work with. If you gave me that impression in an interview I'd probably pass on you too, no matter how great your technical skills are. The most important skill for me is how you can work in a team (what education you have isn't at all important). I'm not Google or Facebook, but there's a million people like me When I ask you to tell me about your experience, I understand that you can't tell me all the details, but even with an NDA you can tell me roughly what you did. Maybe if you worked on a secret project for Apple that hasn't yet launched it would be different - but if you gave that as an answer I'd understand and move onto other questions. If you just said "it's under NDA" I'd assume you are trying to hide something.

Who cares if LinkedIn wants to spam you? The only purpose of it is to help me look attractive to potential employees, so I keep it up to date but don't pay any attention to it. I turned off all email notifications and they don't email me, but if they did I'd just set up a filter. I get hundreds of recruiters spamming me, but that's just what recruiters do. I ignore them and get on with my life.

Interviewing is a skill, and it's something you can learn, so focus on that. Apply for jobs that you don't even care about just for the interview experience, maybe you'll get an offer and decide to take it :-) Skip FAANG or whatever requires you do 7 technical interviews where you reverse red black trees of doubly linked lists, go for smaller companies where the interview is typically just a few informal chats.

> I hope you don't take this the wrong way, I mean it in a good way, but I want to point out that reading this comment you come across as someone who is difficult to work with.

I am a very difficult person; I am diagnosed as HSP and have characteristics of autism.

> If you gave me that impression in an interview I'd probably pass on you too, no matter how great your technical skills are. The most important skill for me is how you can work in a team (what education you have isn't at all important).

That's good to know; that helps me clarify a few things in my mind and I should try to find jobs that I could work solo, if possible.

> I'm not Google or Facebook, but there's a million people like me When I ask you to tell me about your experience, I understand that you can't tell me all the details, but even with an NDA you can tell me roughly what you did.

I give them enough information to get a rough idea of what I have done, but cannot show them the whole project nor the names of the companies; but I do let them know what type of architecture I have designed and implemented for each project.

> Maybe if you worked on a secret project for Apple that hasn't yet launched it would be different - but if you gave that as an answer I'd understand and move onto other questions. If you just said "it's under NDA" I'd assume you are trying to hide something.

I have explained above how I handle it.

> Who cares if LinkedIn wants to spam you? The only purpose of it is to help me look attractive to potential employees, so I keep it up to date but don't pay any attention to it. I turned off all email notifications and they don't email me, but if they did I'd just set up a filter. I get hundreds of recruiters spamming me, but that's just what recruiters do. I ignore them and get on with my life.

Not all people like such thing nor can I handle social media; it affects me emotionally and causes me symptoms of severe sadness to the initial state of depression.

I had to look for my mental health to stay safe. It's not a comfortable feeling seeing countless people being "successful" with how many certifications, masters, and PhDs; it made me feel the last person on earth, like a complete worthless human being.

That's why I had to close it down.

> Interviewing is a skill, and it's something you can learn, so focus on that.

I have tried for 2 decades now. I fail miserably with interviews.

The way I function is first knowing the person I'm about to talk to so I can be stress-free. I know, such thing cannot work with an interview process, but what can I do? It's not something I can change forever...that's how I have been my whole life!

> Apply for jobs that you don't even care about just for the interview experience, maybe you'll get an offer and decide to take it :-) Skip FAANG or whatever requires you do 7 technical interviews where you reverse red black trees of doubly linked lists, go for smaller companies where the interview is typically just a few informal chats.

Currently the market is limited where I live and they have high demands and expectations.

I wish I had more professional experience, but I don't I'm afraid.

>I get spam from Recruiters** on LinkedIn

Spam back. Recruiters contact me-- that's 95% of the reason I am on LinkedIn: So potential employers can find me.

Now I've had Amazon, Meta, and Google contact me. Amazon I worked with as a consultant so I was in their system. a Meta recruiter found me on LinkedIn. and I applied to Google and a few months later they reached out.

In call cases, they've viewed my Web portfolio, Github profile, and LinkedIn page.

This is "Marketing".

It's one thing to have "Skills". But if no one knows you have skills, then you must market yourself in order to use the skills in the course of working for others.

Skills + Marketing => Get job => Be productive => Build career & Make money

But you can't do it efficiently without both Building Your Skills and Marketing Yourself.

** Regarding Recruiters on LinkedIn: I simply use a text expansion tool like Espanso ( https://espanso.org/ ) to paste a message to them, usually something like this (Note: this is a "strategy" just like marketing. For any problem/challenge, develop a strategy to tackle it.):

Thanks for contacting me! Unfortunately since I am contacted by <insert some number here> recruiters per week it is not feasible to meet with them all.

Before we meet, could you please tell me:

-> Who is the company? (optional)

-> Is the role 100% remote & am I permitted to live outside the USA?

-> What is the salary range?

-> Is the role for a Full Stack Javascript (NodeJS, ReactJS, AWS --> my areas of expertise (Learning React-Native currently))?

-> What steps does the interview process involve-- How many steps, What is involved in each step?

-> Do you have a full job description you could send?

Here's my resume.

Thanks, MyName -- https://www.MyWebsite.com/ https://www.github.com/MyProfile/ https://www.gitlab.com/MyProfile/ https://www.linkedin.com/in/MyProfile/

>I have no idea how to interview anymore; whatever I say it's either wrong or not enough.

Consider it like dating. It doesn't matter what you say as much as it matters whether or not you're compatible.

Dating can be easier, at least for me; with interviews no one can figure out how to make it work...
Yep, I totally identify with you. I saved up and bought an nvidia gpu and am about to start learn about video editing to see if I can get into that field.

I’m pretty tired of getting laughed at and the rampant dishonesty.

I once interviewed with a company that I really liked. And they liked me. They were doing really weird abstruse AI shit, heavy algorithmic stuff. The head guy was a Ph.D. in whatever field they were in, and I interviewed with him and some really good engineers. The questions they asked were HARD algorithmic questions, right up there with Google. I was a nervous wreck throughout.

They passed. They were kind enough to offer feedback. They said they liked my responses and felt I had the right skill set, but I didn't sound confident enough. Which is just... how am I supposed to feel, in an interview deliberately designed to be challenging, going up against the top minds in their field? Am I supposed to wear a douchey, smarmy grin throughout this process and act like this whole deal ain't no thing? Maybe I really wasn't smart enough for the job because they're looking for someone with the smarts and background to solve their problems without breaking a sweat.

Again, if you are not the exact perfect cinnamon roll of a candidate the company is looking for, do not expect to be hired.

It’s all about shucking and jiving and I fucking hate it. I’m like you: a nervous wreck for interviews and tests. I’m capable as fuck /when I have time/! Just not with someone pressing and judging me.
Sounds like you dodged a bullet to me.
The way I like to tackle this is to interview sporadically, at least every other year when I have a stable job and I'm not actually looking. It takes the pressure off and if nothing else, can be useful to just practice my interviewing skills. When they ask why I'm looking, I tell them the truth... that I'm happy where I'm at but just looking around and that you never know what opportunity is out there. I don't see this as a question loyalty. You don't owe the company you work for anything any way. But it's a matter of you making life choices on your terms, and when you deal with the type of anxiety that I do, you have to take control lest it control you!
You’re right!

I advise my direct reports and people new to work that you should seriously interview every six months.

As a manager, the one-to-ones we have when my people are interviewing are much more goal oriented and concrete, and give me actionable information to help them get more out of their career.

That typically helps them, our team and our shared mission. Sometimes it leads to departures, but they and I are conscious about why - we can’t always give them the work or the opportunities that they are seeking. Sometimes it’s remuneration; it’s either a useful datapoint which can be matched and used for salary adjustments through our org, or a unicorn offer which we can’t match in cash, but which offers a discussion about growth and maybe their own priorities.

In nearly all cases it’s just a huge win.

It's really interesting to me that you aren't getting more in trouble with this just due to salary alone. I know Netflix follows your approach and I think it's fabulous. However, Netflix also doesn't have paybands and their strategy is to see the other offers as the candidate's true market value and then pay them slightly above that. If you cannot do that, I would have assumed this to be a certain way to lose your top employees quickly.
Once salary has reached a certain point, the total compensation, benefits and professional satisfaction or CV opportunities as well as healthy work/life balance, in addition to social environment - all start taking on more weight.

People do leave for pure pay concerns, but it’s not that simple for many.

Also: this strategy might not work so well in places where future financial security isn’t so assured, as where I am. Thinking about the USA or some developing countries where I grew up - piling up capital is so critical to survive surprises ranging from illness to state failure, so ymmv.

Good point. Now that you are pointing this out I see this reflected in the behavior off my friends. I have friends in the US who make very high salaries but are much more focused on that and piling up money for retirement as quickly as possible whereas my friends in Europe are earning much less but are prioritizing happiness. At the same time some of the offers I've seen for the same people at different companies for the same person differed by significantly more than my European friends' entire compensation.
I saw your past comments. You should check if you don't have ADHD. The treatment fixed me!
Well, they have diagnosed me with HSP (Highly Sensitive Person) with symptoms of Autism Spectrum Disorder.

I changed my nutrition, plus some other bad habits which reduced its intense; now I am way better than past times.

Why do you need to reread something a bunch of times? Could it be lousy working memory?
> I have no idea how to interview anymore;

Same. Anytime someone says the market is hot, I get irrationally angry.

It's probably hot for kids in their 20s with ex FAANG experience. Not so much for the rest of us.

It's clearly not hot enough to remove leetcode interviews as part of the screening process. I changed jobs almost a year ago and almost every company I applied to had a leetcode section.
And the leetcode isn't easy either, even for regular / non high tech companies. I barely passed the test, and I'm confident that I'm at least around top 20-30% of programmer skill-wise with tons of free time and passion to program during my university.

I can't imagine if my peers that's less fortunate or less passionate with programming to be able to pass.

No FAANG experience, only worked at 2-3 (very) small startups. I have basic JS / Web dev skills. Total of 6 YoE. I created a profile on dice.com and have gotten probably 20+ hiring manager-stage interviews so far.

What industry / YoE / skillset combination do you have? Seems like full stack engineers are writing their checks these days.

Mostly ecommerce, but varied. 6 yoe. Backend/Python.

I have applied to hundreds of places, grinded leetcode, studied advanced system design, and am near giving up. Becoming a famous actor is probably easier than this.

Unfortunately, it’s also like that working at some places—not just in the interview process. The day-to-day can be excruciating involving each of your bullet points inside of 8-10 hours, on repeat.

There’s a lot more humourless bureaucracy than there is else it seems. It just gets packaged up in the popular mode.

It’s kind of like the Vogon with slightly savvier marketing teams and a Patagonia jacket.

My manager has more or less decided that degrees are useless, given the failures that major, well-known universities are graduating these days, so… it’s not everyone, for those who are terrified of the people with degrees.
Change your mindset. With 10 years of experience, in my last two job searches I felt incredibly well positioned to interview for senior roles, and ended up with dream jobs in both cases. I have no degree. I've noticed a trend in the last 3 years where companies require a degree OR equivalent experience. Which is awesome. If you're a great engineer and you're friendly, be confident in yourself!

I did struggle initially with the "coding challenge" nonsense used as a candidate filter these days, then realized I'd never paid attention to data structures and algorithms (which is covered heavily in computer science degree), so I spent time learning this and I was fine. I still wish these would go away.

TLDR: Don't worry about competition. Worry about yourself.

The "... or equivalent experience" has been in job descriptions for as long as I can remember. Since the 80s, for sure.

I have only seen one instance of a software engineer not being hired because they lacked a degree, and the three or four of us in the org who also did not have degrees were pretty upset at a certain idiot manager. I wish I'd kept track of that candidate, because they were on fire and going places.

If it bothers you so much why not do a degree? It’s like 2 years
A standard university computer science degree is 4 years full time. Generally past that age it's not possible to put your life on hold to go to school full time, so even 4 years can be pushing it.
I did a two year masters to become a programmer. My brother went to law school part time. It’s not easy but if it solves the problem should OP not even consider it?
Not sure where you're at, but in the US a masters is generally only available to someone that already has a bachelor's. I'm not saying it isn't worth it, but the traditional bachelor's path is 4 years of full time work.
Have you (did you) consider hiring an interview coach?

Often the first few layers of interview are the most difficult, then it eases up as you get to just talk to real human beings.

Having someone help you play the game to get to the next step could be helpful.

(None of this is to say I condone the asinine hiring paths so many companies have adopted.)

I had been programming for over ten years when I first ran into FizzBuzz, suffice to say I failed the exercise and wasn't offered the job. So I just moved onto the next interview and passed that one.

Sure, you can't prove that finding subcycles in a directed-graph is an NP-Hard problem on a whiteboard, or implement a linked-list or invert a binary tree by hand: But what you have is hard-earned common sense and a meaningful understanding of how software evolves over time. This is valuable to any company and many have identified that they are in desperate need of it.

Why did you fail Fizzbuzz if I may ask? I have heard a lot about people with 10 yoe but who can't write 3 lines of code in an interview, and I have always wondered what was the cause. It can't be that all those people just got lucky and never did anything for 10 years.

I'm sure you realised after the fact this was absolutely trivial and you could have finished that in a few minutes. Also, what changed that you passed the next interview? What didn't you also (I assume) freeze in that one?

Not OP. But my worst fear with fizzbuzz would be that I'd forget the damn modulus operator. In python % is used for string formatting and I would have to quickly Google it to be 100% sure of any gotchas. Doing that in an interview the people would think "wow, 15 years of exp and doesn't know the modulus operator!!".
When I interview people, I wouldn't dock any points for saying what you just wrote. I care more about the way you think than if you perfectly know the language's syntax. If anything, that's a positive for me. The modulus operator can be tricky and do not behave the same in every language, the fact you're aware of that and you would have a quick sanity check is a great sign in my opinion. It can be the start of some further conversation.
I have no idea how you'd fail Fizbuzz, if you had been programming for over the 10 years as you claim.

Speaking as a programmer, knowledge and trivia of "hard-earned common sense and a meaningful understanding of how software evolves over time" is not useful to the actual building of software at all.

(comment deleted)
Frankly I don’t se me how you could fail FizzBuzz even after having been programming for a month…
Sheesh, most jobs just want a warm body that can type so many lines of compiler-ok code per day.

"Show up on time" is not just for Hollywood.

The thing about Computer Science nowadays is that the machines are stupidly fast so that a lot of the algorithm stuff is redundant. Bubble sort can be good enough or isn't even required for implementation as the higher order primitives are already implemented. In a lot of ways it's why SW development nowadays is nauseatingly awful. Sprints and all that web baggage have killed the enjoyment and challenge. The only challenging SW roles I see nowadays are close to the HW.
> The thing about Computer Science nowadays is that the machines are stupidly fast so that a lot of the algorithm stuff is redundant.

Accidentally quadratic is such a thing there's a blog[1], and it's regularly the source of problems of a certain blogger who debugs problems in Windows that are usually causing his "stupidly fast" hardware to run bog slow[2].

Just this week, I hit what seems to be an accidentally-quadratic bug in macOS's tail — tail! I'm not even sure how you write an accidental O(n²) in implementing tail, but yet macOS tail takes 7 minutes to process a log file on my system that GNU tail can process in 80 milliseconds.

Regex regularly lead to oops-O(n²) due to devs not grokking the greedy nature of the star character, and for a while last year it felt like every week some NPM package was getting a security vuln. for a DoS vuln. due to quadratic regexes.

Understanding how B-Trees work — and more importantly, when they don't — in database queries is a perennial source of bugs in every company I've worked at where queries get written that won't hit an index, and don't get noticed until they're hitting production levels of rows. Dev confusion entails — "but the index has the columns I'm querying!" … yes, but that's not how a B-Tree works.

And it's not just the order-notation. I've seen, numerous times, people re-discover topological sort, or worse, hack a solution onto a problem where the problem is a DAG, and the solution is topo-sort, but instead you get something that isn't topo-sort, and just performs worse. Gitlab's CI failed to model CI jobs as a DAG[3], and as a result, will not launch jobs in some cases that can be run when they can be run.

> Sprints

Yeah, these destroy dev's souls.

[1]: https://accidentallyquadratic.tumblr.com/

[2]: https://randomascii.wordpress.com/

[3]: I hear it has been fixed, but I've since left it so I've not had an opportunity. Regardless, the point is that the solution was obvious … if you know the theory. Or even contemporaries, like Make.

> Just this week, I hit what seems to be an accidentally-quadratic bug in macOS's tail — tail! I'm not even sure how you write an accidental O(n²) in implementing tail, but yet macOS tail takes 7 minutes to process a log file on my system that GNU tail can process in 80 milliseconds.

If you're curious you might be able to find out why for yourself: https://github.com/apple-oss-distributions/text_cmds/tree/te...

It's presumably based on an old freebsd (circa v3 or v4) version of tail.

(it's possibly you may already know this is out there, but it used to be a lot harder to find macos-related source code and they only recently put it all up on github so just in case)

The easier way (or a supplementary way) would be to reproduce the slow situation, open Activity Monitor, choose the `tail` process and click "sample process". You'll get a stack trace.
> machines are stupidly fast so that a lot of the algorithm stuff is redundant.

This is just not true. Growth rates matter a ton and there is no way around that. A better conclusion to draw from your point about hardware would be that algorithmic performance is the only performance worth optimizing for, which is more accurate, but still not the case.

Also it's not as if software is just getting faster, it's getting slower, so something else has gone wrong.

> Also it's not as if software is just getting faster, it's getting slower, so something else has gone wrong.

Javascript, electron, developers don't know how CPU works, developers don't know how to manage memory so that it's optimized for CPU prefetching, abstractions and libraries out the ass that make it impossible to reason about performance. Modern software is an absolute mad house, and developers think they can get away with it because computers will always get faster. Computers are very very fast, the problem is that software is written such that it doesn't take advantage of it...and I'm not even talking about multithreading.

> The thing about Computer Science nowadays is that the machines are stupidly fast so that a lot of the algorithm stuff is redundant.

Plenty of basic computer science problems are not well understood by a lot of devs out there. One of my current projects has a daily data import process from each customer. Some of the states were taking well over 2 hours to import with a good CPU, lots of memory & fast SSD. A bad data import or a mistake could cost the company a decent chunk of money & upset their state customers. Plus we would have to re-import which meant another 2 hour wait.

The prior code was modifying the string every field instead of using pointers when importing the data. That took a 2 hour plus import down to under 1 minute. There was also encryption being done on certain fields. Re-using some keys instead of generating them for no valid reason every line ended up bringing the import down to 10 seconds.

They are until they aren't. Or you add latency into the mix. I've seen far too many N+1 problems, quadratic loops and full table scans to believe that computers are fast enough such that understanding data structures and algorithms is unnecessary.
Most of the issues on delivering value at work I face these days are figuring out how to get the teams that own the various internal platforms we use to authorize me to do things on those platforms. Or waiting on a vendor to deliver what they said they would. Or getting interrupted by the 1000th mandatory firmwide migration project this quarter that has to be finished today, or else. Or waiting for the CI/CD environment to come back up after they had to finish the 1001th mandatory firmwide migration project.

I wish I had software issues, at least they would be interesting.

I'm exaggerating a bit, but this is the life at an enterprise company for many devs.

Machines are stupid fast but cycles are cycles, and O(n^2) time complexity will always be suboptimal. There are (I feel) so many examples of stuff getting locked up because it's just for loops, right?
I can't agree. I find most interviewers are very utilitarian here--they want proof you know your stuff, not proof of formal education. A CS degree is great, and I wish I had one (for the knowledge more than the sheepskin), but talented developers with some soft skills should not have a problem finding work in this industry.
>> When I got into this industry 10 years ago, the world was a completely different place.

10 years is a lifetime in the tech industry.

>> The thought of competing against someone credentialed with 5 years experience vs. myself with 10 years and no degree, feels hopeless.

This is a vague comparison. Someone with 5 years of stack-specific experience vs. someone with 10 years of general experience?

Personally, I am very bad at interviewing. I need lots of practice before any interview. Don't be afraid to ask others for help for interviewing prep.

Why be scared? Worst case is they don't hire you and there were good odds of that regardless. Take an interview-- if it doesn't go well, you'll know what to beef up for later.

if you learned it for the joy and have 10 years work experience on top of that you've got some massive advantages that many new graduates will lack.

I am an old timer, back in 1978 after getting my PhD, I interviewed with a bunch of companies. One was Bell Labs. I remember the recruiter, did not make me take a test on programming or anything. He just asked me to explain the most interesting project that I had worked on. I told him about a music synthesizer chip I had designed... after about 20 minutes of going on about it, I stopped and said sorry, I went on too long. He just said, nope, you are exactly the type of person we are looking for and hired me on the spot.

I think there is a piece missing now days, I could just be an old fart that does not know what I am talking about (probably), but it's the idea of finding someone with passion, even if they are not the slickest programmer in town.

You said the magic word: passion!

For some reason they confuse passion with puppy-love or enthusiasm and they become either sarcastic with you or lose interest immediately, they interrupt the interview, and let you go without any warning.

Nowadays you need to go through SWAT and military training to be considered a candidate to get an email reply.

To me this is a clear indication that the market is extremely saturated and something big is about to happen...there's no other logical explanation behind this madness at all levels and categories of jobs.

As a long time dev with "passion", it's often my passion that has got me in trouble on projects. Having people on my team who are doing it just as a job for the money have helped prevent me from making mistakes.

There is a long history of devs choosing a tech because they want to learn a new tech or expand their skills instead of the right tool for the business needs. I'm guilty of this.

At the same time, a passionate employee put on the right task & managed well is a great asset. Like everything in software, "it depends", "trade-offs"...

I talked about a fullstack node project I was working on during an interview last summer. I went on for 20 minutes maybe explaining why I used the tech that I used and what I planned to do with the project. It took up the scheduled time and he said, thank you, Mr. 7speter. I got a timid little email from the recruiter saying they were pursuing other candidates.

This was for a customer service position.

> This was for a customer service position.

Nice

Speaking as someone who has been on the other side of the interview table for a customer service position, you probably focused on the tech side a little more than the people side. It sounds like you were probably over qualified as well. Usually we were looking for someone who would stick around for a while after they were trained.

Just something to consider. I hope your job search worked out or is going well.

>people side

Its a fullstack portfolio project built for the sole purpose of me learning crud. Its not going live, theres no people side. The manager was raising concern anout my experience as a developer

Just a random person interjecting, but, you don't understand what CRUD is? Or how to execute? Why did you feel the need to build an entire fullstack application just to practice it? When there are plenty of materials available online, further, it's just not the kind of thing you need to wrap an entire app around to learn. It does sound kind of weird, to be honest.
Sounds like you were lucky and ran into the right HR person.
There are a couple of things that make this kind of tricky imo, even as someone who generally wants to find passionate people when hiring. Over my career though, these things have led me away from using that as my primary motivator:

The first is that there are just a lot of people out there nowadays who can convincingly talk about programming for an hour and still somehow not be able to code their way out of a paper bag. Frankly, though, this is really rarely obviously self-taught people. It's usually people who have degrees but managed to kind of skirt around doing actual work during their degree, or who have advanced degrees and it's just been too long since they did much practical coding.

At the first job I had where I was involved in hiring we started with a talking interview and then did a small coding test (which was: write a program that outputs some text of a particular format, take as long as you like, come get us when you're done or if you have questions). Eventually, we had to flip the order around because we had so many people come in who seemed really promising and then literally couldn't write a loop in a language they chose.

The second is that just selecting for passion also selects for a bunch of unrelated traits like free time, wealth, etc. There are plenty of really brilliant coders out there for whom it's just a job. As with literally any job. Many of those people don't really have the luxury of having a history that's littered with working on things they were actually excited about.

In the end, the social forces that created bell labs and the general sense that coding is a thing people do because they're passionate about were/are probably temporary, and programming is likely to become more and more "just a job" for most practitioners. And there shouldn't really be anything wrong with that.

All that said, I do think people pass up programmers with potential a lot. Everyone wants someone who can hit the ground running, but in my experience a lot more mileage is gained in the long run by hiring people who grow into their role. I think to really find these people you often have to go deeper than just looking at their passion projects. A good coding session can tell you a lot about how they think and communicate. And that's where you find people with potential to reach beyond their history.

Let me give you one more example from my experience (after the labs), where I was on the other side of the table where I was the hiring manager, I was up against it on a project and needed a super star programmer. I interviewed a bunch of people and they all had awesome credentials and did great in the interview, except for this one guy. He stumbled and could not answer any of the questions. I was struggling to make a decision but was sure he was on the no go pile.

The next day he sent me and email, in it he had every single question I had asked him verbatim (I did not see him taking notes and I do not think he recorded it) and he had every single answer perfect and then some. He said in his email he got nervous in interviews but said he is good at researching things and said he could solve any problem if I gave him a chance.

I took a risk and hired him, he was fantastic and pull my irons out of the fire. He was one of my best hires ever. So, you never know.

I love this story. I wish it was easier to hire for that. I've had candidates that solidly passed my gut check but got vetoed on technical calls because of trivia. Our company has a format for interviews that has worked well for us but I'm positive we've lost out on potential because of where we set the bar. I go into every phone screen and interview with the intent to hire the person speaking with and I try to make that clear. I think this has done well for me and the candidates because we both have the same goal.
Yup, one reason why I am no longer a manager, I switched tracks to research many years back. I felt it had become untenable with so many other people they started inserting into the process it was no longer really my call who I hired.

Also, I sort of shortened the story above, but the other intangible thing I saw others maybe would not have picked up on is when I gave all the candidates a tour around our set up, we had these Symbolics computers to do some back end AI stuff (early days stuff) and we needed a Symbolics slayer. I just saw the look in his face when he saw those things, you could tell he was truly excited about working on them. They all said they wanted to work on them of course but just how he looked at them.... I just felt like that was going to make a difference.

In today's world it would not fly if I told HR that I was choosing this guy because he looked at the computer equipment they way a dude looks at a sexy lady.

> In today's world it would not fly if I told HR that I was choosing this guy because he looked at the computer equipment they way a dude looks at a sexy lady.

I'm pretty sure that you can imagine the sort of problem you might be setting up for the organization. If not, I'll spell it out: if you select candidates based on whether they are eye-fucking the hardware, you may just end up with a bunch of technosexuals on the payroll who aren't necessarily as good at their jobs as you hoped they would be.

I definitely really like it when people come back with more thoughts after an interview. Accounting for nervousness is always a difficult thing to do, but important. Definitely the stories in this whole thread about people who were told they weren't "confident enough" imply people not taking this into account.

On the other hand, I was once involved in hiring someone who we thought was nervous but it turned out the signs of nerves we were seeing were probably DTs. They didn't last very long for mostly unrelated reasons, though it's possible we could have done better by them as well. Still, it's sometimes hard to parse out what even looks like nerves in an interview because it's usually treated as such an adversarial process.

Mostly these days I try to focus on making it feel less adversarial when I interview, to try to get people over that nervousness and treat it more as a conversation. It's amazing how far you have to go to convince people you're not trying to trick them though, because of how many standard interview questions are (intentionally or not) trick questions.

One of the questions I ask candidates is what text editor they prefer. I don't particularly care what they use, but I do care about whether _they_ care. I think it touches on the passion thing: do they care enough about what they do to invest time and effort into looking at the best tool that suits them...
Eh. My favorite editor is Vim. But right now I'm writing code in Java. Guess which editor I'm not using much lately?

No matter how awesome your particular hammer is, it should be set aside when you're working with screws.

Never fear! You can still use vim keybindings (probably) :) .
> Never fear! You can still use vim keybindings (probably) :) .

IntelliJ has a good plugin for vim key bindings.

Vs code has one, but it's sufferable at best.

It's my experience that these IDE plugins are more insufferable the more power user you are. Vim is far more than asdf and :wq.

But I digress.

IMNSHO, the IdeaVim plugin is worse than useless.

Even the most basic of commands, like '' or u, never do what you expect (i.e, what they should do to be consistent with vi/vim).

And the more compelling features, like q:, are simply not implemented.

That is before even addressing the more minor quibbles, like the fact that when your search wraps around the end of the file, you don't get anything in the "status bar" indicating that fact.

Really, these people should be ashamed of themselves for putting "vim" in the name of this plugin.

On the other hand, in a previous life I had tried a paid ($100) non-free plugin for Visual Studio, and it was much much better.

Yeah, I could wax rhapsodical about my Emacs config and the HUGE productivity boosts I get by using and programming Emacs. But let's be real. I'm likely to get one of two reactions.

If the interviewer is 50 or so, or older: "Emacs... people still use that?!"

If the interviewer is under 50: "Emacs... what is that?"

Either way I'm going to get dinged for clinging to a clunky, obscure editor that's not even from this century.

So next time an interviewer asks me what my favorite editor is, I'm going to tell them VSCode, because it has the best tooling and most developers use it.

under 50; vim for life

but also, emacs is pretty cool but I figure i'd mess around with elisp way more than actual programming

That's the real genius move, avoid config sinkholes by forcing yourself to use vimscript
precisely; i don't even consider using vimscript a possibility.
I’ve been using Emacs since the early 90s. I recently started developing in TypeScript for a big project. Found out about TIDE and company-mode and it’s been absolutely mind blowing. I now have all (of maybe most?) of the capabilities that my intelij colleagues have but frankly I feel I’m way more efficient.

Bringing emacs into the 21st century with this technology is life changing. Still run it in full screen terminal mode.

My team can’t comprehend how I can ssh into a box that’s running tmux which had all my shells a full-screen eMacs instance, tons of context, history etc all waiting.

I can reboot my laptop and not loose any of that. I can ssh in with tmux and I can instantly pick up where I left off. And from any host. My laptop, work desktop, etc.

I never got asked this question, but I tend to show off my customised settings by not touching the mouse once in a live coding test ;)
I think even if candidate cares, they'd be afraid that you judge them on the choice. And the safest answer is that they don't care.

Would you ask them their favorite programming language, and if they say Perl very passionately?

Also, it often depends on the ecosystem.

no point in hiring for passion if the job itself is gonna be hardly related to what's someone is passionate about, it's going to be taking tickets defined months in advance from PM who is no longer there and composing existing pre-made components into a sad little pr
Favourite project is still my favourite interview question, on both sides of the table. I love hearing what someone is interested in or passionate about, and I have plenty of interesting projects I can talk about.
We should hire plumbers this way. “Tell me about your favourite plumbing project” for 20 minutes.
Well, "worst plumbing disaster" followed up with "so, what lessons did you take away from that" works, and the coding (or ops, or security, etc.) equivalent works just as well.
Only people I've been enthusiastic to hire have been people who were enthusiastic about technology. Go figure
In '01 I got a job with very little experience under my belt. I interviewed at a small company with a website, and they wanted to hire their very first developer. They had no idea how to evaluate me, so the CEO sat me down, logged me in as root, and told me about two bugs on the site. I solved the bugs, and I was hired. Times have definitely changed.
Having finished your PhD may have also helped... ;-)
> He just asked me to explain the most interesting project that I had worked on. I told him about a music synthesizer chip I had designed... after about 20 minutes of going on about it, I stopped and said sorry, I went on too long. He just said, nope, you are exactly the type of person we are looking for and hired me on the spot.

This is exactly the type of person I still hire to this day. Your specific skills are less relevant than your ability to communicate, your drive and passion, and your shared interests with the team. I've rarely got a bad hire out of this method.

Where can somebody queue for you? (-:
I'm more-so terrified of taking the risks that would be required to break "back into" that part of the industry. I have been developing since I was a kid in some capacity. Life took me down a different path career wise that put me in just enough of a comfortable spot to make me nervous about switching it up. I feel like I have a lot of intuition and experience throughout the years - it's just not enterprise-level nor something that someone in a senior dev role could attest to.

I finished my BSCS recently because it was paid for (GI Bill), and I kind of feel the opposite about it than you do. The amount of "shotgun" messages from recruiters from LinkedIn, etc have certainly increased, but I don't feel any closer to breaking into a dev role high enough up the food-chain to make it worth the risk of leaving my cush fringe-industry position. I have been asked internally if I'd like to help out more with dev-related things, so I guess that's a start.

I'd look first at the contacts you've amassed throughout your decade in the field. I'd be willing to bet that's where your best opportunities will come from. Good luck and stay confident!