You're not worth hiring unless...

Andrew Brown ๐Ÿ‡จ๐Ÿ‡ฆ on August 04, 2019

The Junior Developer A junior developer who said I was the smartest person in the company and frequently asked for my help once told me ... [Read Full]
markdown guide
 

I was asked to convert from decimal to binary on a whiteboard. It's not a difficult algorithm, but it makes no sense to expect someone to have that algorithm memorized. What possible use would I or anyone else have for being able to regurgitate that during a real project?

 
 

You're not supposed to memorise that "algorithm", you're supposed to be able to solve a problem in a very familiar domain.

All that is needed to solve this problem is to know binary is base 2 and decimal is base 10

 

Good job Phillip. Now erase the board and do it again in Cobol.

 

Thereโ€™s nothing to memorize, itโ€™s very basic math. Though I can imagine self-taught web/UI developers having no idea about math and doing there job just fine. So in my opinion it would be a very good thing to ask from someone applying for C/C++ job involving writing fast and efficient code, but if itโ€™s like integrating 20 year old 5M line PHP monstrosity with Cassandra, then itโ€™s useless indeed

 
 

On the other hand, most C/C++ developers don't spend a big part of their day writing algorithms to convert from decimal to binary and anybody can easily find the algorithm online, so I wouldn't expect even someone who's been working with embedded software in C for the past twenty years to necessarily have the algorithm memorized. I still think it's a worthless interview question.

it's not about that particular algorithm, it's about weeding out devs who cannot come up with something as basic as decimal-to-binary conversion. A former boss of mine used questions like "What year did the First World War start?" to cut, well, not enough intelligent people off - worked pretty well actually

I disagree with either of these types of questions being used to measure a person's intelligence. Lack of knowledge is not the same thing as lack of intelligence. As a thought experiment: What if Leonardo DaVinci were asked to answer either of those questions? He would not have access to our knowledge of history and most likely not the mathematical experience converting numbers to different base systems. I don't think most people would consider his contributions any less significant or that he was less intelligent because he didn't know some random tidbit of knowledge.

A former boss of mine used questions like "What year did the First World War start?" to cut, well, not enough intelligent people off - worked pretty well actually

Why would a history quiz be on a programming job interview and be used to judge intelligence? I consider myself pretty well versed on history and I don't even know the answer to that. Why would the year Franz Ferdinand was shot be relevant at all to the job?

@phillip What makes you think Leonardo would be a good software developer? :)
@mike It was just a quick test if the person was actually learning something during his high school years. Also it was in Russia, for the US you might want to replace it with something more culturally relevant as people born/raised outside Europe are usually pretty hopeless at European history (unless there was a movie or music band)

Oof, history was never a good topic for me. That's why I got into tech and not studying history. That'd be a great way to weed me out of wanting to work for a place, asking me history questions during a technical interview. lol

 

Sure it's basic, but if you don't do it all the time or had to do it all the time it might not be obvious to you. I saw this a lot in college. I double majored in EE and CS so I got to see the CS stduents struggle with very basic EE stuff in some classes and EE students struggle with basic C coding as well.

As an EE major converting between binary, hex, and decimal as well as understanding things like registers, low level memory management etc was easy for me when it came up in CS classes, but it was all new or not so easy for the CS majors since it isnt something they had to deal with all the time.

 
 

I wrote a code for all base to all bases converting but negetive bases with fractions and i know Bubble sort, so Im worsy?

 

Worth noting sometimes hiring people are HR and have little to no knowledge about what they need. There was a post where Swift was only 3 years old and someone made a job post and required 7 years of experience with swift. I usually avoid companies like that and advise others to do the same. One problem is I hate companies that use buzz words to sell to client and most of what they do is lying... We should avoid those companies and try to offer better experience to our customers before it's too late and we ruin the industry

 

True, most of the times he departments have no idea how to properly hire developers because they have absolutely no idea of what developers do, know or should. Focusing on keywords and trends saves HR from the hassle and there are not enough metrics to judge the success rate of this kind of filtering I guess. I guess having developers hire developers would be the correct course of action in any small to medium sized company.
Just my thoughts though.

 

Here in Chile head hunters are bananas, their entire job could be replaced by a checklist form. The usual interview goes like this:
Do you know A pattern?
Do you know B pattern?
... Z pattern?
And then comes dependencies
Do you know A library?
And so on and on.
And it is absolutely bullocks. You are hiring a jr? Ask about arch pattern, that is ok, but if the company cant provide training! That is a red flag.
You are hiring a senior? Then why even ask about architecture patterns that is literally the job of a senior, there are houndreds of architecture if you are senior you know 1 then you can learn any other.
And the dependencies things, pure BS, it is a library, it has doc! Either train your hires or allow then time to learn.
The perfect fit is the equivalent of a fairy tale, and then they hire and live happily ever after. I rather real work software with problems and team to help.

head hunters are bananas

I laughed so hard reading that

 

It is complicated to have devs hiering devs in larger companies. But dependent on a team that needs a helping hand it could be easily done. Write what kind of project is it and what kind of dev is needed than let the lead developer or someone capable enough do the short tech interview to check is someone a good fit and also let then check the CV. If you need a senior java dev just to keep on working with new features you could decide to hire c# senior of 5 years of experience because it's an easy switch. Now if you need performance related stuff you would probably go with someone that did actually java and not other languages. This should usually be discussed with managers and the devs involved not just upper layer

 

I hope Devs interview, HR's Follow their own algorithm, if you are an else, have a nice day sir.

 

Exactly, I read somewhere that they need a jr developer with the experience of a senior developer and with the salary expectation of an intern.

 

My previous job said mobile interface developer, with experience in Angular, TypeScript and Ionic, thinking I was going to work on mobile-first web or hybrid mobile projects.

HR: Do you know bootstrap?
๐Ÿ˜

HR: Have you worked with CSS3?
๐Ÿค”

HR: Congrats, you have been employed as mobile interface developer.

What I do at work is building Android apps using native env. (Kotlin & Java). I dropped this job for good.

 

I don't understand the expectation to write on the whiteboard in interviews. I think managers need to understand that the biggest thing to look for in developers to hire is their interest to learn and how they work with others. These 2 factors alone express what a candidate is capable of.

I also wince whenever a company mentions how strongly they value "a very active and healthy GitHub profile" (took this from a job position) when considering a developer. I for one struggled between coding at my last job and the expectation to have all these side projects to show on the side. If someone with that mindset were to see my profile at one point, they would've just made an assumption that I wasn't what they were looking for and dismiss me immediately.

 

I totally get that. It's as if having a job in tech, and tons of experience isn't enough - you HAVE to have dozens of side projects and contributions to open source. Kind of scary for someone who is good at their job, but doesn't want to do this every waking moment.
I've met some ppl who could code really well, but I would never want to be on a team with them (snarky lone wolves).

 

This is literally me. I hate taking on side projects because I have a full-time job and I want to focus on it. It increases my productivity.

What if I leave my current job and apply for somewhere else and they don't pick me because I don't have a lot of "projects"

I think my current hiring manager was impressed with my YT channel, I have 13 videos on tuts and how-tos dating back to 2015 with over 100k views... I had only internship at my previous job and I was given a fulltime role at my current job... I think hiring managers need to know more of the position.

 

Good thing I am nearing retirement. I'd never actually use GitHub or contribute to open source. Is that controversial? =P

Just made me think of John Carmack using floppies as their "shared repository" for Doom or something

 

Thats actually the craziest thing about working in our field. You're expected to work on code 9-5 as well as going home and doing more coding. Its like your job is meant to be your hobby, your life. You're effectively meant to increase your value as an employee in your own time without being paid for it.

 

This ๐Ÿ’ฉ-vision also prevents developers having side projects like building a tree house or making music, which, I think, is more healthy and keeps you refreshed (Unless your biggest hobby is your project on Github).

I would only require a fresh graduate, or a long time not-working developer having personal coding projects. Otherwise I don't find it healthy.

 

Yes! I have soooo many more hobbies outside from coding that it's such a struggle sometimes, especially since I'm looking for work now. ๐Ÿ˜“

 
 

Anyone heard of Revature? I applied to their Jr. Developer position and a recruiter called me within 2 days. They were impressed with my portfolio for someone who was semi-new to programming. They straight up ended the conversation when I clarified I didn't have a 4-year college degree. They told me that was literally the only requirement for the job. They were willing to train. Their exact words were, "If you had just a degree in, let's say, English, it doesn't really matter, we would hire you right away. Unfortunately, without the degree, we can't go forward with you". My work in Python, CSS, HTML, and JavaScript meant less to them than a Bachelor's of Arts degree with no technical skills. I was heated to say the least.

 

Revature is a HUGE red flag. Be glad you had not done it.

 
 

Same thing happened to me with them. I've been in the industry for over 10 years and was relatively over-qualified for the position they were hiring for (I just wanted to work in a small town and they were the only tech company there). Revature is a joke company. You dodged a HUGE bullet.

 

I just wanted to work in a small town

This is a problem myself and I know many others.
10+ years experience but the companies but small-town companies are so far removed from the tech industry latest standards they can't even recognize that you're high-quality talent.

The only way I'll be able to work in small-town with high salaries is running my own company and in honest it will be my employees who will get that benefit not me.

 

Thank you. I thought I was crazy for a while. They make it seem so nice but, I'm glad to know it was a blessing in disguise.

 

I wish I could interview more folks with no degrees. All they have to tell me is that the degree was not worth the overinflated cost and then drop a massive portfolio on me. Ahh dreams...

Any here ever interview someone without a degree?

 

I'm a sec without a degree of any sort. I've been doing IT for the past ten years without so much as a cert. Why pay someone an absurd amount of money to teach me something I can reach myself. But employers don't seem to think it's the same technology or something...

 

I've been working for 10 years without one. It never comes up during interviews, but it always comes up during appraisals ๐Ÿ’ฉ

 

Almost as bad, in my opinion, is when organizations recognize the tendency to focus on keywords, and they proceed to use all of them. You see postings like "Must be proficient in at least one major language: Java, C#, Python, Ruby, Go, PHP...At least one front end framework: Angular, React, Vue, Aurelia...At least one cloud platform: Azure, AWS, GCP... There might also be clouds of other keywords that I've rarely bothered to read in detail, because most of the time they're minor details at best.

I can possibly see a couple of reasons for this. First, they want to find somebody who can become proficient at whatever is needed (like your example), and they want to show up in keyword searches. Or, they really do have that kind of stack, which could be frightening, but might be ok if it's a consultancy.

One thing that helps when I'm reading a job posting, is to follow the list with something like "we use AWS, we use Go, we use Vue. As an applicant, this helps me to understand your stack. Then I can move on if I'm looking for something else. Or, I can choose to study up if I like the organization.

It seems to me as if there are so many applicants that some companies are willing to brutally filter out people based on arbitrary keyword matching just so they can get the list to a manageable level. The result is people who are just as good at gaming the system, but might not be as good a fit as people who were filtered out.

 

My company's job postings include the requirement of being proficient in any major framework. (React, Angular, Vue) even though we use Angular primarily. We do this because we look for good talent and our okay investing in educating someone with potential on the ins and outs of a certain framework. In fact most of our developers came from a react background. (including me)

 

As long as that intent is clearly communicated in your postings. Otherwise, I feel like I still want to see specifics of what I'd actually be asked to use. It helps juniors decide where to specialize, and it gives established folks the flexibility to be more picky. If the company was awesome, I'd be willing to go for it if I didn't know a particular framework. I'd like the opportunity to address that in my cover letter and in my early conversations.

EDIT: A short anecdote... Last year, we interviewed two people for one position. One person had a veritable ๐Ÿ’ฉ-storm of keywords in their resume. The second person had a more focused resume. The boss ended up hiring the first person because they theoretically ticked more boxes. The resulting ๐Ÿ’ฉ-storm caught the boss completely off guard.

I believe I'm working with that ๐Ÿ’ฉ-storm at the moment...

I know one ๐Ÿ’ฉ-storm, he feels bossy about one framework and thinks it will work for all without looking at the cons

 

I see adverts saying things like "We'll take people with no experience in foo, as long as they can show experience in bar" followed by a tech test that must be done in foo.

Why waste people's time???

I agree that that is a really bad practice on those companylies' parts. My company does have a coding challenge, but we let people use whatever framework they are comfortable with. (We have gotten some and passed candidates with coding challenges in all major frameworks)

 

I think the primary framework is important to state. I'm starting to see job postings that list almost every technology under the sun or none at all (in a way to be inclusive), but in reality, they make deciding to apply or not confusing, espically, if you ideally want to go to a place that uses a modern component based framework (React, Angular, etc).

For example when places list both jQuery and React.

I understand why some companies ask for jQuery and React because our company is working on the project updateting clients' projects from jQuery to React. In order to do that you have to understand both libraries very well.

hmm, yah that's totally fine. In fact, my past job, I did that (upgraded older apps) - so I think it was my fault I wasn't clear in my example.

My main point of issue is when organizations are not up front about the 'primary' technology when they list dozens of wildly different stacks to for the sake 'inclusiveness'.

IE if a dev wanted react knowledge but ended up working on jquery their whole time, they would probably not be to happy.

 

This fits their mindset they rather have you arrive with a vague sense of what they actually require.

 

At my company, the exec in charge of our software regularly says: "I don't want to pay someone to learn", then asks for something that doesn't exist, or for us to use some technology no one has ever used previously. I haven't decided if he doesn't think about what he's saying, knows what he's saying but is fine being contradictory if it suits him for the moment or to make a point, or is maybe just a bit dense.

It's like this everywhere. I think software on some levels is fundamentally broken. It's at the center of most tech, which is an area of business that sees continuous innovation, yet we still see job postings listing a laundry list of skills that match the company's entire stack, none of which everyone at the company understands entirely. It's just a farse. No one really knows what they're doing I don't think.

 

Ability and motivation to learn is one of the most important thing I look for in a dev. I don't care if you can write a bubble sort. I care if you can dive into my existing code base, understand it, and make positive contributions.

I pay people to learn every day. What I don't want to do is pay people to NOT learn.

 

Yep, and I bet your software team appreciates it and does a good job because of your approach.

 

My company encourage us to learn and to educate teammate. I love it because I am learning some thing new every and will to transfer my knowledge to other teammates. They also move us to different teams for us to learn different stacks what ever each team is using. I think it is a great idea an positive outcome.

 

I love this. I have when I hear,"oh we want someone with x years using this language." That says to me that you're stupid because any dev knows that you can pick up another language. It's the concepts.. The reasons behind doing things a certain way.. Not syntax. And don't ask me to do something you don't do regularly it haven't done in a while just to try and trip me up. Furthermore, no coder codes completely from memory. WE ALL USE GOOGLE! So if I can't solve the problem like I would in the real world, don't ask me. What really gets me is the frameworks. Any developer with a solid understanding of JavaScript should be able to move between angular,Vue,and react. These are all just wrappers that abstract away a lot of common tasks. But again it's the concepts and what's going on in the background... How data is sent, processed, and stored, protocols etc, These things never change

 

You're right with the "noone knows what they're doing" part

 

I became a freelancer qualifier after suffering that madness. I realized how many good engineers where dismissed for no good reason on interviews. First thing I told my customers is: let's stick to real coding! (Aka no binary trees crap) and second: framework agnostic technical challenges.

You're totally right with this post and I see it's an international thing, because it's happened to me already (like not knowing enough React, in their freaking opinion). I am in Spain, I wonder if it happens globally but it needs to stop. A good developer isn't the person who knows exactly xyz stack, but the person who can quickly get up to speed with that stack and any other in the future. Plus all the project experience, people skills and so on. Engineers should not do HR stuff, tunnel vision and opinionated egos don't make good qualifiers.

 

This is so true. Not just for the big players in the house either; small-ish companies somehow got it in their head that for a dev to be worth a damn, they must know RoR, Python, PHP, React, Vue, AND Angular. It so frustrating when searching for a job and literally a dozen emails come through with โ€œYouโ€™re a great matchโ€ sentiments. When I get to the HackerRank portion of the interview process, I feel inadequate because I donโ€™t have all of the skills of the Unicorn Dev they are seeking. References and proven track records are meaningless. Itโ€™s driving good, experienced people out of the industry.

 

I had one a few months ago: You are not worth hiring because you wrote something in one line what would take ten lines - although it works.

 

TL;DR: Write code for humans more so than computers.

There is a legitimate concern there though. Code that can be done in one line is neat, but in the long run, the more cognitive load your code requires to grok, the more expensive it is to the project and the team. I don't remember the exact figure, but something like at least 75% of a dev's time is spent reading code. Therefore, every developer should endeavor to make that large portion of time more productive.

 

I can understand all the need for writing descriptive code, but these days fluent code writing is so ubiquitous that every library provides it. Even test case writing is being redesigned to be written in Fluent style. So when someone asks me to sum all odd numbers, why would I write a long, lengthy loop instead of a single line that is elegant, readable and fluent?

Stephen Grider mentioned "avoid fancy methods in interviews because the questions are intended to be an interactive thought process exercise." Write the long answer and then ask to refactor.

 
 

Engineers have self-focused mind. They are looking for people that are similar to them. If recently they needed to implement something hard, they will use that for their next interview.

 

That's actually very true.
The concern is that you really need different people on a team, not just ten of the same :D

 

Agreed. There is not one solution, so your not hiring "you".

Having diversity in work education and experience creates the opportunities for more and better solutions!

 

If I ask an applicant to solve a problem I'm more interested in their though process than the answer. As for language knowledge, does it matter if a Java dev applicant doesn't know what type erasure is? Nope. Does it matter if they don't know what static means? Hell yes! Understanding is more important than memory.

 

I agree that these qualifiers are absurd and dangerous. I won't allow any such in my own company's hiring practices.

When I encounter these I am interviewed, I have an answer ready, however...

I've had to come to terms with the impracticality of learning everything, even though I want to! Even if I learn something, but I never use it, it just winds up decaying in the back office of my mind. I've had to adopt a policy of only learning something once I need it for my current task. Thankfully, it only takes me a few minutes to do this, so it works out well.

 

I had an interview with a small startup based in Michigan. The role was of C#/.NET Developer. The guy who interviewed me was the C.E.O. The first question he asked me was to implement an AVL tree from scratch. And I had no idea what to do at that time. I felt so bad that I was a computer science graduate from college and I couldn't solve the question. I just tried to explain to him that I studied AVL trees like 2-3 years ago and I didn't expect this question to be asked in the interview. The guy insulted me and told me that you need to practice a lot and be good at data structures and algorithms. And then he said that "Sorry, I cannot go further with the interview". I felt so miserable at that point and I was not able to sleep that night.

 

I have been in both positons during my work experience as an interviewer and as an applicant.

As an applicant always hated interviewers who did only questions about programming theory when i knewed that none of those things where applicable in the real life world applications being built at that company. The big problem i had with theory only questions was that they forced me as a developer learn stuff copy/paste. I had to answer them exactly like the answer they had on their sheets or it wouldnt work well for me.

This is wrong. This is transforming developers from problem solvers into monkeys.

Thats why when i was in the interviewers position i focused mostly on the real life experience they had on their previous jobs. Also i focused on real life problems we had at work so the applicant always worked on real life situations and we all felt better.

Its true, this way more people passed the interview but all those who passed deserved to pass, how many got hired was then a HR job.

 

Buzzwords are so much easier for non programmers to understand than what's actually important - the ability to absorb information and more importantly, problem solving.

Good people will find the best tool for the job even if they're not as familiar with it as they could be, then they go ahead and get up to speed.

 

Thinking and code organization are way more important than actual code sills. We can teach a languages, syntax, patterns, and business domain. I'm also okay with ok/problematic code as long as it's organized and reasonably documented so it can be expanded or supported and that you can learn to better.

On a side note, employers who ask people with skills and very specific experiences they are ironically asking for exact people they probably don't want. They are asking for the ..."already been there" and "done that" employee/contractor.

Most skilled developers worth their soul don't want to "do it again", they want to expand their skills and apply what they've learned to something new.

Personally, when I hear this, I see a desperate company that is probably behind schedule and overworking their employees. I'll double my rate/salary every time. I figure its a premium to think your going to get someone 100% productive on week 1, deal with your pressure, and probably perform a job I don't want.

...yeah, I'm on a rant!

 

I was asked to mutate an Array prototype. When I said that this is extremely bad practice and shouldn't be done, I was told that this is really "lame excuse for lack of knowledge". Oh yeah, it was a JS lead position.

 

While searching for my very first IT role I attended an interview for a junior technical position advertised as requiring "no experience". In the technical phase of the interview they asked me how I would establish a network between two distant buildings using line of sight lasers and it went downhill from there. Still the most ridiculous interview I've ever had.

 

This was probably one of the best interview questions I've ever been asked. mytechinterviews.com/apples-and-or...

It required logical thinking and not really an algorithm per se however, it required sound thought and more closely related to what I feel are the types of problems that most developers are having to solve on a daily basis.

 

I dig this one. These types of problems help to show true problem solving skills.

 

Where I live, it's unheard of to hire somebody to work in a stack they haven't worked with before, even if this person has proven that they developed in a similar stack and can learn very quickly.

It's a shame, companies are passing up good candidates just to eliminate time to get an employee caught up.

 

I interviewed some guys. They could not solve the add 2 arrays integer challenge in their favorite language. I gave thumbs down on them... Sad.
the challenge
addArrayInt([1,2], [9, 0]) => [1,0,2]

 

I also don'tget the answer ๐Ÿค”
Regarding the name I'd expect [10,2]

for(int i=0;i<a.length;i++) {
result[i]=a[i]+b[i];
}
return result;

Unfortunately I don't work as a developer, it's just a hobby ๐Ÿ˜Ÿ

 

it is for handling big integer add,
if you have 2 numbers:
for example: 123123123123123123123712931290 + 987837298748923749823749823749238472 = ?

you have 2 big arrays of digits represented 2 big integers, we want you to do the ADD operator into a single array.

Your original post didn't say "an array of big integers" nor as of the time of writing this was it updated. Waste of my time. Are you sure they didn't know or said I don't want to work here? :)

 
 

๐Ÿ˜‚๐Ÿ˜‚๐Ÿ˜‚๐Ÿ˜‚

It's probably for data analysis

 

hi, sorry for leaving any confusion,
here is the challenge and solution: geeksforgeeks.org/add-two-numbers-...

We are actually using a code editor online like hackerrank, where the challenge is very detail with sample...

the challenge is aimed to check if the candidate has a skills to manage code , variables , loops etc.

 

This is the result you want

Input : n = 3, m = 3
        a[] = { 1, 2, 3 }
        b[] = { 2, 1, 4 }
Output : 337
123 + 214 = 337

Input : n = 4, m = 3
        a[] = { 9, 5, 4, 9 }
        b[] = { 2, 1, 4 }
Output : 9763

There you go

def join_array_sum a, b
    a.join('').to_i + b.join('').to_i
end

I know this is not what you want, but I know a CompSci grad can regurgitate the solution in minutes. However, it turns out to be a poor indicator for hire because then I have to spend 3-6 months teaching them AWS, how to probably commit a feature to a repo, how to work with a web framework.

Honestly, just want people meeting business objectives. There are hundreds of books and online solutions where if and when you need to you can produce this result when needed.

I needed OpenCV to crop the whitespace out of a photo so I put my co-founder on it. He never used python, his background is not web-dev (network engineer), he had it working in 30mins.

I put a comp-sci grad on it and they couldn't get it working with a full week timeline. Yet they can solve these puzzles. Make sense of that.

 

WHY?

Isn't it more important to listen to their approach to solving the problem? You clearly can't expect any candidate to "everything" you know.

 

I will come to the correct solution but if the process to the conclusion is not the same as the interviewer then it's invalid. I remember I had an algorithm challenge which I think was a multidimensional array where you had to count the occurrences of 1s scanning the rows and the scanning the columns.

The senior interviewer kept interrupting me because they thought I was down the wrong path and we're trying to lead me to the solution thinking like a comp-sci.

Their production server during the interview had was down and the senior interview left and and I was able to continue down my own process where the junior interview did not interrupt and I solved the problem with a lower space complexity than what they were expecting.

I tend to break down problems to their smallest components and then assemble the answer. To me its like cleaning your desk before getting to work. So it appears I'm doing busy work or refactoring instead of just working with what's there.

 

... and to HR and hiring managers out there...

Just because someone has only driven Nissan and Chevrolet trucks doesn't mean they are not qualified to drive a FORD truck. This is analogous to many higher-level programming languages. Java and Python its probably not really much of a leap (yeah they do concurrency and threading different but suspect a qualified person could figure that out. However, C/C++ and Python/Java (either way direction) it probably a bigger deal. It might not be a big leap between C++, Rust, and GO.

 

Hiring managers are notoriously uninformed about the tech stack and its implications. The worst I have ever encountered was someone who wanted me to do Java for them, because I'm good in JavaScript and that's basically the same, isn't it?

 

I wasn't hired by a company because, even though I passed both rounds of their coding challenges, during their interview process they based a lot of their questions around distributed databases... which was not part of their job description, and it was something I am perfectly capable of picking up.

 

Agreed.
Most questions I receive in interviews are academic and chances are, dont apply to the company I am interviewing for.
Also, almost all algorithms are coded for in a library, or are commonly stack-overflowed. Just pass on the company until you get a gig that is more "sane".
Ive worked for at@t, alcatel lucent, general motors, bloomberg, fbi and a number of other high profile companies.
The only clowns asking these stupid questions are nobodies or maybe google.

 

I've had occasion to sit on the hiring side of the table. My primary qualifier when my wishlist isn't immediately met is to evaluate the candidate's willingness to learn and how their different path to "developer" can be an asset to the team.

"You're not worth hiring if you can't/don't have..." smells like dogma rearing it's ugly, prejudiced head again in an industry that changes stack and talent approaches faster than Streisand did her concert wardrobe. Get over yourselves.

 

It's not the same knowing something by memory than really know how things work from the inside. Sure, a bubble sort must be something really basic, but it's something that is though to students to train them to elaborate algorithms just right. On the professional field, is it really necessary to know this or any sorting method?
It's like knowing by memory how to factorize an equation instead of understanding the logic behind the operation. At the end, is just an exercise but not a parameter to qualigy if someone is a professional or not.

 

According to Joe, if you can solve an easy programming question fast then you're a good hire, if you can't solve the easy programming question then you may not be able to tackle on the advanced stuff.

Source: joelonsoftware.com/2006/10/25/the-...

 

Oh, "junior" jobs that want 3 years of experience, plus expertise or extensive knowledge of C++, Java, Python and Typescript.

 

A good junior developer comes in with opinions he/she inherited from professors or from what they read and necessarily are not speaking from experience. I suspect that by the time most Jr. devs graduate to Sr. and get another step closer to being the hiring manager, their opinions start to be shaped by their team dynamics and company culture.

A good Sr. developer or Team Lead or Product manager should be recognizing from the outset that the Jr's need training in hiring and making decisions on who joins the team as they progress and have an approach that includes the lessor experienced developers in the hiring and decision processes that bring new members on board. In other words, be shocked by the non-sense that comes from the Jr's, but don't take it personally nor act shocked. This is your opportunity to coach!

 

I come from a non-developer background so I was very intimidated by the code interviews. Once I was told through my boot camp that most companies want to see your process, I got much more comfortable preparing for them.

 

I am far from being a code goddess, but applied for a coder/customer service position at a game company recently. The game teaches people to code, and while again am not proficient (been out of practice as where I work does not really allow coding outside of work) I did okay on the test. But they didnโ€™t hire me...because I didnโ€™t ace the test...just on the coding part. But this is a job...where the job teaches people to code. Stands to reason, I am going to get proficient in short order, just working there. Logically made no sense to me, lol.

edited to add-I did get to see where I was lacking and working to improve and was so happy to see I had not forgotten everything in the 5 plus years I havenโ€™t been able to code.

 

For ExamPro I want our hiring process to be that you use our platform to learn to program on our stack and you're hired. Sounds a bit similar.

 

I have since moved away from management, but for a while I was the manager in charge of both the software development teams and the IT teams at the seismic facility I worked at. When I was hiring I would ask some very basic technical questions about the language/stacks we used just to see if they knew about them and why they would be used.

I more focused on questions asking 'how' they would go about solving a certain problem and what their thought process was. That for me ended up getting people better suited for the job. I needed software developers that were also problem solvers. MAny of our developers including myself also went out in the field to support seismic experiments so I needed people who coudl troubleshoot, and possibly write a new utility, solve a hardware problem, or diagnose an issue while in the jungles of Venezuela, or while working out of a yurt hundreds of miles form anything resembling civilization in Mongolia, or in a remote camp in Antarctica.

 

Appreciate the share, worth noting. Cheers Man!

 

Hell yes! Blows my mind that some of the smartest people working in some of the most innovative and super progressive companies....can be so myopic :(

 

I was applying for a JavaScript dev job and all the problems that the interviewer asked me to do were resolved by using array functions like map, filter, reduce, etc. For each problem he told me that he wanted me 'to not use those shortcuts' then what I did was to redo all problem with for loops and then he told me that he wanted me implement data structures on all my solutions. Which I did but I told him that it didn't make sense to me why someone will need to know how to implement a hash table to solve a problem that has a one liner solution in JS. They rejected me I guess he didn't like that comment.

 

I think I have this in my head without ever looking it up (but I wouldn't* expect anyone else to know it):

Suppose x is the input and y is the output.

  1. set y to 0
  2. take x and modulo by 2 (don't set x yet), AND y with 0x1
  3. divide x by two and throw away the decimal remainder and set x to this result.
  4. Left shift y by 2.
  5. repeat steps 2, 3 and 4 until x becomes 0. Result is in y. See edit**.

Although I don't see the use for this especially if the language or libraries can do it for you.

EDIT: I thought about this for a few hours and realized this is incorrect because the highest bit of y is the lowest bit of x. The correct algorithm is:

  1. Get an integer i and set it to 1. Also set ints j and y to 0.
  2. Take (x modulo (2 RIGHT SHIFT i)) divided by i, truncating the remainder, and set it to z.
  3. Set y to y OR (z RIGHT SHIFT j).
  4. Multiply i by 2. Increase j by 1.
  5. Repeat steps 2 and 3 and 4 until i is greater than x.

*the original comment had "would" by mistake! oops.
**I guess if you admit you made a mistake in your algorithm during a job interview you are more likely to get hired for being honest.

 

You guys are bad. I can quantum compute within my mind and solved p=np. Sorry, I can't hire any of you.

 
 

I was asked to master AngularJS in just 2 days and give client interview on Monday.

It's not easy to MASTER any tech in 2 days.

 

The way we are engineering our hiring process at ExamPro is we create mini-courses and you just have to pass them so we know you'll be productive. Since our mini-courses are 1-to-1 with our technical stack, developers will meet the bare minimum.

code of conduct - report abuse