Live data from Hacker News

Dear HN "Who's Hiring" responders

news.ycombinator.com

101–110 of 212 posts

Re: Dear HN "Who's Hiring" responders

#101
post #51

Earlier quoted context omitted.

I have read that 30% of Standford CS freshmen change majors or dropout because they don't get programming at all. Do you see such a thing in recruiting? That you fear the hire doesn't actually understand the reasoning of algorithms and basic programming structures, and is maybe the type who bullheaded through college memorizing solutions as recipes?

I'm not familiar with that stat but it's perfectly believable. Many people are clearly getting by with a mixture of memorization and trial-and-error rather than understanding. I think of those who understand algorithmic reasoning (i.e. understand loops, assignment, etc.) they also fall into two categories. Those who can understand more abstract programming concepts (indirect referencing, recursion) and those who can'…

I might have interviewed a very different subset of the programming world than you, but I wouldn't make the categorization in this way.

Indeed, I haven't met any programmer who couldn't understand recursion when explained in clear terms, same goes for indirect referencing.

If I had to divide the programmers who really understand algorithmic reasoning into two categories, those would be

- A: those who program because it's their job,

- B: those who program because it's their passion.

I believe this grouping is more helpful to explain differences.

Re: Dear HN "Who's Hiring" responders

#102
post #41

Earlier quoted context omitted.

Rockstars are a myth. So are low-level engineers who "know what they're doing." Hire smart people who can learn new things instead of resume bullet points and/or mythological creatures.

> Rockstars are a myth No they are not. One would think it's easy to find smart people who can learn new things , but I've dealt with both young and senior developers (by senior I mean writing code 15+ years) and was amazed how most of them feel comfortable being completely ignorant of new technologies/libraries/frameworks/best practices/whatever. I've met a rockstar the other day, and could feel him being the one I'…

I'm not a rockstar at all (I'm barely passable) but I would never work on a project not understanding the entire tech stack, from the base language to all libraries in play. That is how you get security gotchas where you dump your passwords in plaintext or let anyone into the admin panel.

I've spent the last 3 weeks reading documentation around qt 5 in preparation for some 5.1 mobile development I plan on doing, for example.

Re: Dear HN "Who's Hiring" responders

#103
Yea I discovered this from the seeking freelancers post, I had to stipulate that people drop at least a link or resume, otherwise I was getting emails like "I write Python. Email me. Thx."

Please folks I get that you are in demand but not pasting even a link in the email is just plain lazy and a little rude. You don't realize it but you are actually competing with 30 other people per listing, HN gets more exposure than you think...

Re: Dear HN "Who's Hiring" responders

#104
I was going to make fun of "but it is a hirers' market" but then then then the top-voted comment covers that. That must be the origin of your frustration. Funny, because I agree with you: don't send out pisspoor, thoughtless communications to people. It's shitty and disrespectful. But clearly there's a reason these people aren't lined up at job fairs getting their cover letters proofread.

Re: Dear HN "Who's Hiring" responders

#105
I've applied to many positions (internships) advertised in these threads with a lot of effort to craft each email for each of them. I don't speak english so often so it took me a very great amount of effort to do this. Got only 1 reply, the others didn't even bother saying "Thanks for applying" or anything.

I don't know if this behavior is normal but I would expect a bit more from hirers advertising on HN. Especially when they ask for very specific things that I know I got on my CV.

Re: Dear HN "Who's Hiring" responders

#106
post #8

I'd take the opposite approach: be glad when applicants send such poor cover letters because it immediately lets you know you should NOT waste your time on them. Some one who would send such a bad boilerplate cover letter is lazy for not sending an actual letter, technically inept for sending links to a private LinkedIn profile, and has a poor theory of mind regarding what an employer would like to see. This especial…

Cover letters are useless. Really, try to have some empathy for people trying to get jobs in a tough market (I guess this doesn't apply to the currently employed or developers...). You have to apply to a LOT of stuff, and employers almost never give the courtesy of a confirmation or any sort of response/rejection. It takes a LOT of time to put contact info into Word, change around your cover letter template, save, and attach.

Ask for a resume, that's it. You can shoot a note back asking "Tell me more about yourself." if you want to know more. Then it's worth the time to write one up. Then you can ask for references, and transcript, etc., if that's your thing.

Re: Dear HN "Who's Hiring" responders

#107
post #70

Earlier quoted context omitted.

"Rockstars" may be a myth... but developers who are exponentially more effective than others, with more maintainable code are not.

Exponentially more effective, meaning that what Joe writes in 3 years Jim can write in one day?

That's entirely possible. Joe spends 3 years writing a program. Jim realizes that the program doesn't need to be written, and that if you frame the problem in a different way or use other resources available to you, you can come up with a better solution without writing any code.

Re: Dear HN "Who's Hiring" responders

#108
post #51

Earlier quoted context omitted.

I have read that 30% of Standford CS freshmen change majors or dropout because they don't get programming at all. Do you see such a thing in recruiting? That you fear the hire doesn't actually understand the reasoning of algorithms and basic programming structures, and is maybe the type who bullheaded through college memorizing solutions as recipes?

I'm not familiar with that stat but it's perfectly believable. Many people are clearly getting by with a mixture of memorization and trial-and-error rather than understanding. I think of those who understand algorithmic reasoning (i.e. understand loops, assignment, etc.) they also fall into two categories. Those who can understand more abstract programming concepts (indirect referencing, recursion) and those who can'…

Recursion isn't hard, it's just not taught correctly. It's fairly easy to break it down into rules.

Because they are shown examples, instead of taught how, people memorize how to do stuff, instead of learning it from principles.

Take the classic question, recursively reverse a linked list.

You will see a lot of people making false starts, or trying to reverse the list in some way like they would reverse an array, or even repeatedly walking the list to the end.

But if you understand some simple rules about recursion, it's fairly easy to figure out how to do this on the fly. And that is so much better then memorization, because you can explain why you are doing things.

first you are reversing, so you're moving backward, which means you calls your function, then do assignments. If you were doing something moving forwards, like printing in order, you'd print first, then call the function.

Now we need to worry about the end, and the beginning.

First, the beginning, which happens after we have recursively walked the list.

Now, we want to walk to the last node before null, and we need a place to store what we return. so assuming we have something like this in c 'node * recursivereverse(node * current)' and a node structure with next as the next link (we never touch our data)

our test is if (current->next) node * newbeginning = recursivereverse(current->next); else return current; //some assignments go here;

return newbeginning;

Then we just need to figure out the assignments.

Now, people may get tripped up and try to use the new beginning... but then they have to walk it to the end... but the current node already knows the node that comes after it.

so we assign current->next->next = current; IE the node that was previously after the current node now points to the current node as it's next. And that's fine for all the rest of the list, until we get to our original beginning node. We need to worry about the new end.

Since it's going to the end, we need to point it to NULL, otherwise it will point to it's predecessor, meaning we'll have an infinite loop at the end of the last two nodes.

Easy way to deal with it is to just assign the next of the current node to NULL, for each node.

so we add to current->next->next = current; current->next = NULL;

and then you have a reversed linked list. This makes certain assumptions about the list (like it has at least one node, and isn't circular), so don't just copy this for your interview.

So with some simple rules, I figured out how to reverse a linked list. But those simple rules aren't taught, or at least, I came up with them for myself after I became a computer science tutor at my college, because I needed people to understand recursion.

So I guess my point is, it's not that people can or can't understand recursion, it's whether they are taught to think about things in the right way.

Now to a certain extent, we need to teach people to generalize, but if you teach people a general rule (always worry about the beginning and end of any data structure, and that's important for everything, including memory management and debugging) and a recursion specific rule (call the function first to reverse, call the function after to use the current order), and they can generalize.

Too often people come to program with the ability to copy code and get it working (and that isn't anything to denigrate, because it's not simple), but lack the understanding of how to think about things in a deeper way.

Re: Dear HN "Who's Hiring" responders

#109
post #71

Earlier quoted context omitted.

Rockstars are a myth. So are low-level engineers who "know what they're doing." Hire smart people who can learn new things instead of resume bullet points and/or mythological creatures.

i always thought that rockstars are smart, driven people who were able to achieve substantial results because of favorable circumstances. The term itself is laughable at best, especially when self proclaimed!

I thought the same until I actually worked with one. This guy can build things in a week that a group of 5 competent programmers will do in a month.

Re: Dear HN "Who's Hiring" responders

#110
post #9

Earlier quoted context omitted.

Probably because once you send the CV they have enough (!) data to make a decision on whether you would be good fit, but with a two line email they can either disregard it or ask for more.

That's probably it. Plus there is an added benefit of a reverse filter. I don't want to work with any company that will, at the least, exchange a couple of emails with me. Any company who disqualifies me from just looking at my CV is not a good fit. Team chemistry for me is very important. I don't want to work in a place full of incompatible personalities. Not fun.

Most of the time filters are "all of", not "any of". A lot of companies may disqualify you if either you lack the necessary skills/talent or if you're a bad cultural fit. Disqualifying based on your CV just saves you time in this case - if they aren't going to hire you anyway, it's better if they let you know quickly rather than drag things out.
Post reply on HN