|
In my honest opinion, I think the best way to figure out how skilled someone actually is is to just talk to them. Have a technical person have a chat with them. Talk about design decisions (at various levels) relevant to your org; go over some basic tasks they'll probably be doing to see how they adapt/perform (vulnerability remediation is a great one where you'd probably be shocked at how many people can't do it properly or at all); ask them about an engineering topic they are super excited about (even if it has no relevance to your org); and my favorite is to have a discussion on a topic that has no definitive answer. This promotes a back and forth that gives you a great idea on how they collaborate. How do they handle disagreement? How do they incorporate new information? How do they mediate differing opinions when no absolute answer exists?
I think those skills are way more important than figuring out the optimal solution to the longest sub-string without repeating characters in a given string. In fact, I don't think I've ever used a single Leetcode-style solution in a real code-base. If I need a complex algorithm, there are literally researchers who devote their careers to optimizing these things - I'd just use theirs. Less bugs, less hassle, and almost certainly better performance.
|
|
|
|
|
Great post! I agree 100%.
I've had to interview people over the years and I've discovered that simply talking to the person and asking small easy-to-answer questions just having a simple discussion will allow you to know whether or not the person has actually been doing specific work or not.
EXAMPLE: We had a contracting company who sent us a candidate with a resume full of exactly what we were looking for. It was a specific load-testing software called LoadRunner. I have used it extensively but few people have, so when I saw the resume I was interested to discuss LoadRunner with the applicant.
I probed with the absolutely easiest question ever: along the lines of something like, "What is the outermost tag in an HTML document?" The applicant struggled. Hmm...
I asked another very simple question like "how do you spell loadrunner" the applicant was stumped again.
After a few more questions we ended the interview. Later we discovered that the contracting company just added all those lines to the applicant's resume. ![Hmmm | :|](https://codeproject.global.ssl.fastly.net/script/Forums/Images/smiley_line.gif)
|
|
|
|
|
raddevus wrote: After a few more questions we ended the interview. Later we discovered that the contracting company just added all those lines to the applicant's resume. I was sold once as a specialist for one particular type of robot to a company, where I was doing the 3 courses for manipulating that kind of robot before starting the project.
When I heard that boss saying that from me I could nothing else than look down, shake a bit my head and think "what a moron"
And the worst... my customers thought that too.
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
It's crazy what some contracting companies will do to their own employees -- put them in a situation and say that the employee has extensive experience with the technology, while the employee will tell you truthfully that they don't even know the tech.
After the interview, it was the contracting companies other employees that already worked at our company who told us, "yes, the company will write our resumes for us putting stuff on them we have never done".
|
|
|
|
|
I disagree on some parts
What does the question answers? ...
Quote: "What is the outermost tag in an HTML document?"
.. simply he/she knows a syntax.
Are you really looking for candidates, who are familar with a certain syntax?
For me, I don't care wheter she/he knows this and that syntax. I'm more interested in somebody who can abstract requests with a given tool. And the tool is a minor thing, I think.
Only my two cents ![Wink | ;)](https://codeproject.global.ssl.fastly.net/script/Forums/Images/smiley_wink.gif)
|
|
|
|
|
0x01AA wrote: Are you really looking for candidates, who are familar with a certain syntax?
No not really.
I know what you mean and I agree.
The example question was just a start into the conversation to probe to see if the person had ever even done the most basic thing with the specific tech. This was in a hope that a deeper discussion would follow.
|
|
|
|
|
I think it depends on the seniority level. Newer programmers should have a demonstrable knowledge of the development languages listed on their resume or application - whatever it is. I've not done interviews for 20 years now....
When we were staffing for a new development project, I interviewed candidate after candidate claiming C/C++ experience but could not explain basic pointer arithmetic, scope, etc. Nothing tricky. To see if they had any knowledge of binary / system architecture, we would ask, "What is the largest unsigned number you can put in a byte? and "... put in a word?"
Total and complete lockup.
Charlie Gilley
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
Has never been more appropriate.
|
|
|
|
|
charlieg wrote: When we were staffing for a new development project, I interviewed candidate after candidate claiming C/C++ experience but could not explain basic pointer arithmetic, scope, etc. Nothing tricky. To see if they had any knowledge of binary / system architecture, we would ask, "What is the largest unsigned number you can put in a byte? and "... put in a word?"
That sounds like you had a some other different problem.
Such as a contract company sending you candidates with inflated or made up resumes. Or someone in HR just not knowing what they are doing.
|
|
|
|
|
i agree
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
When I used to interview (before anxiety overtook me, and back before I was taking my own clients) for me I treated it exclusively as an opportunity to evaluate the company and nothing more.
Were the questions sensible? Most of the time I don't think coding questions are unless they are the kind that are open ended to try and draw out how you attack a problem.
If they don't ask sensible questions, that's usually a red flag for me.
Microsoft likes whiteboards. I understand having to implement atoi() on a whiteboard. It's not about testing how you code. It's about testing how you test. Anyone can write an atoi function or they would have never gotten to the interview. But can you do it on the spot?
If anyone ever asked me to implement atoi for a non-SDET position I'd probably walk, or at least put it in the red flag column. It's a question for testers.
I'm happy with soft questions. Figuring out how I will get along with you and other members of your team is important.
But if you're asking me about Big O notation I've either come to the wrong interview, or you're looking at the wrong candidates. I'm well past entry level positions where we need to be dealing in basic coding questions like that. Don't ask me what a linked list is either.
However, Microsoft aside (they have a script, and they stick to it), I've found because of the way I approach interviews, I tend to be the one who leads them, meaning I'm asking at least half the questions.
So maybe that's why I didn't deal with that stuff a lot, after my first few years in the field.
I've actually never had a company ask questions like you appear to want to see asked. I have had sit downs with the corporates (CEO/CTO) about their plans, and if they were realistic, and what I could bring to the table. That stuff tends to be higher level though. I've never actually gotten into the weeds at an interview to where we'd be talking about profiling.
If we did it would surprise me. I'm not sure how I would take it? Probably in the net win column but it would throw me.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
On one interview (for consultants), the PM asked me to "tell me about yourself".
I talked (this time) about everything except IT. "I was born at an early age, etc." (He had my resume)
I got the contract.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
I would have hired you.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
honey the codewitch wrote: Anyone can write an atoi function or they would have never gotten to the interview. But can you do it on the spot?
No I don't agree with that.
(As always we work in different domain spaces.)
A senior developer should NEVER write a atoi() function. Because they already exist.
Nor should they be worrying about specific sorting semantics because at the level where sorting actually matters for performance the requirements and design matter more. For example someone that tries to pull 100,000 records from a database and then sorts them 'efficiently' is missing the point that they should never pull 100,000 records in the first place.
I don't care if they can write an efficient method. What I want to know is can they be trusted to design a non-trivial system without me micro-managing them?
|
|
|
|
|
jschell wrote: No I don't agree with that
Fair enough.
jschell wrote: A senior developer should NEVER write a atoi() function. Because they already exist.
To be clear I said later in my comment that if I were asked that I'd consider it a red flag at least, given seniority consideration.
I said it was an appropriate question for an SDET.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
honey the codewitch wrote: I said it was an appropriate question for an SDET.
Sorry - I did miss that.
|
|
|
|
|
No worries.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
I once had an interview, first came a test where I had to complete sequences and such.
After that came the interview.
Guy started with "Hi, welcome, I'm going to ask you a few technical questions. [technical question]."
I answered "Hi, let's just assume I'm not lying in my resume and that I know how to develop applications. Let's see if I'm a cultural fit instead. Oh, and the answer to your question is [answer]."
The guy was a bit taken aback and then he laughed and said that was the best answer he ever got.
We continued in another fashion and he simply asked me about my opinion on .NET Core (which was pretty new at the time), Entity Framework, web development, etc.
After that we both knew enough.
They really wanted me, but my employer came up with a new assignment and I ended up staying with my employer instead.
In another interview someone asked me "How would you solve this problem using Entity Framework?"
And I really knew that question because I'd solved the same problem.
Unfortunately, they were looking for another answer, to which I could say "but, if you'd just do this and that you'd have it fixed without your workaround."
They didn't agree with me so I told them I couldn't see inside their come to that answer and after the interview I said I didn't want to work there.
I'm not sure if they wanted me, never asked.
Shortly after, I quit my job and started my own business which I've been doing ever since.
I've had a couple of interviews and not once did I ask a technical question, as they're completely worthless.
Although I did ask my current employee if he could fix a bug for me in actual production code.
He came far enough so I hired him almost on the spot
|
|
|
|
|
Sander Rossel wrote: Unfortunately, they were looking for another answer
Exactly the problem (as I mentioned in another post.)
Idealistically they should be looking at what you said.
But the reality is that most of them want a specific answer and only that one single answer. Anything else is wrong.
|
|
|
|
|
Failure to understand some basics really bites later… usually in production.
e.g
A validation of a list to detect duplicates.
Duplicates must match on eight unique fields.
Retrieval of some of the fields make a trip to the database.
First implementation consists of three nested loops; full loops with no shortening. Works great in test with 40 items.
Hits production with 500 items and takes minutes to complete. This is an interactive function with a user waiting for a response.
Final solution:
Make one pass through the list to build/combine the comparison fields once.
Then 2 nested loops, but the inner loop is adjusted based on the outer loop.
(if you already compared index 5 to index 23, you do NOT need to compare index 23 to index 5, and you really do NOT need to make the comparison six times like the original algorithm.
This is basic programming!
|
|
|
|
|
The following info might not work for everyone or in every situation. It might serves best as a kind of inspiration rather than a formula of something.
Loneliness is a major factor that can significantly affect and direct human actions, decisions, perspectives, judgments, evaluations, and more.
When the feeling of loneliness arises, it will act as a trap or jail for the mind and and can lead to irrational behavior. It can constrain one’s worldview, making it harder to approach life with an open, balanced perspective. Any attempt to fulfill loneliness may lead to an endless chain of negative events. It’s a loop of negative feedback that might not easily be broken, an endless hole.
Below are some of the possible ways to deal with loneliness.
You can put your attention in this direction: Start by understanding what’s going on within your mind and subconscious. Try not to deny any feelings and face them. Allow these feelings to happen naturally and observe them. No matter how uncomfortable the feelings may be, just experience and observe them. Let the feeling or emotion flow. Don’t judge it. Try not to restrain, suspend it or bury the feeling. Recognize the patterns. Sometimes, this process might take years to get used to the act of observation, and another several years of repeated observations to recognize the emotional or feeling patterns.
Sooner or later, you will draw many findings about loneliness from the inside out through this process.
Here are some of the findings to be shared with:
You don’t have to seek attention from others.
(I’m not referring to activities such as sales, marketting, etc)
You don’t have to resort to external stimulants (for example, substances or screen time), especially if they don’t align with or originate from your passions.
You may try to seek out your passions. It doesn’t always have to same as others. Believe in yourself and follow your passions. You don’t have to compare yourself with anyone else. Everyone is gifted with something, uniqued in their own way and already valued.
You aren’t necessarily required to demand love from others.
You are already completed as a whole.
Originally posted at my blog: You’re already completed[^]
|
|
|
|
|
Just noting that there are books, many of them, that deal with loneliness.
It is unlikely to be be simple as such expecting a small/quick solution is unlikely to work.
|
|
|
|
|
adriancs wrote: The following info might not work for everyone or in every situation What you call loneliness, I call solitude and I prefer it that way.
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Eddy Vluggen wrote: solitude
Amen, brother.
Nowadays if you have the ability to stay on your own without any sort of distraction, focus on something and actually enjoy that time you're left with nothing but your own thoughts, you're told you're on the spectrum and probably need to be medicated. To which I say, no, that used to be the normal mode of operation for human beings. Society has evolved until that was no longer the case for various reasons, and the biggest offender of them all is the smartphone, which seriously did us a disservice and dumbed us all down.
You have to be able to function without constant external stimuli.
|
|
|
|
|
Yupe, that's a nice point of view 😉
|
|
|
|
|
Get a cat. You'll never feel lonely.
|
|
|
|
|