Live data from Hacker News

Python coding interview challenges

github.com

211–220 of 252 posts

Re: Python coding interview challenges

#211
post #127

Earlier quoted context omitted.

I think you are looking at this wrong. I have zero problems with someone presenting themselves this way and would definitely consider hiring the person. Here's reality: Someone who knows their stuff is able to dive into details of their work in a way that an impostor can't. My response to the above would be to have the person bring in some of their work and take an hour or two to take a deep dive into it. I want to s…

> My response to the above would be to have the person bring in some of their work and take an hour or two to take a deep dive into it. So another interview and another day off work? Another set of interview approaches/questions that immediately eliminate people who don't spend their free time doing the same thing they do at work 8+ hours a day? This is not solving the problem.

Sure it does. A huge problem.

Here's reality: 100% of the technologies I work with today did not exist when I was in school. The only thing that has remained constant, useful and relevant is basic science, math, physics, etc.

What, then, make an engineer a good engineer in any domain? This applies to all aspects of engineering, from software to manufacturing engineering?

If I had to pick one thing I'd say their ability to remain current, learn and apply new unknown technologies through self study. Their flexibility and willingness to do so. Almost their drive to do so.

What I am interested in is someone who has the right approach and attitude for the job, an ability to solve problems creatively and a significant enough desire to learn. I am not looking for a robot that can memorize a hundred coding solutions in a month.

Part of the discrepancy here might lie in a difference in environment and stated goals. I have never worked in Silicon Valley but I have a feeling it is a dog-eat-dog mercenary environment where people are chewed-up and tossed out as quickly as others are hired.

If you are looking for quick hires and you are not looking at the idea of adding a team member for a long term relationship with the company and the goals of the business, yeah, sure, filter them through some quick "can you code this shit fast" puzzles and move on. Great! You are hired. Here's your desk. Here's your ankle chain. Now code away!

If, on the other hand, your industry and approach is such that you view people as a long term investment you really should not care about those skills. Anyone with decent ability can memorize coding problems. And it is worthless. What you are looking for is to bring someone on-board who will become a true asset for the business. I see it as almost short of looking for a partner. I don't care about memorized performance, I care about the ability to problem solve and the creativity, culture and thinking they can bring into the business.

These are two very different views. One is hiring cattle. The other is hiring people.

Re: Python coding interview challenges

#212

Earlier quoted context omitted.

See my response here: https://news.ycombinator.com/item?id=14025297

But why would anybody come work for you then? There are plenty of companies that don't fire, and they would be far more attractive.

The interview process would presumably be shorter and less complain-worthy than the current industry standard.

Re: Python coding interview challenges

#213

Earlier quoted context omitted.

The amount of things we need to know is not commensurate with salaries for companies that lazily copy someone else's interview. Most of us are not practitioners that get to dictate a lot of the technical decisions. We're just told we need to know what an AVL tree is before we can work on CRUD app #4272095. If you work really hard, learn all of this stuff, and do a really good job and save your company a bunch of trou…

> If you work really hard, learn all of this stuff, and do a really good job and save your company a bunch of trouble by knowing all of this, you won't get a dime for it, and that's the problem I think that is your problem. I don't stay in companies where I don't feel valued. And anyway you are receiving a salary every month for your work. If you think you should get more, ask for more or move to another place. For s…

>My security lies in my knowledge and my skills, and that is something I take with me whereever I am.

Sorry, I was confusing, I meant network and information security. Using a good password hash/library, not trusting user input, knowing some basic attacks or stuff from OWASP Top 10 and how to reproduce them. That stuff is still a problem. I'll admit I probably know less than I should because it's at the fore-front of my mind and I don't practice often, but it just seems weird that a company would prefer performance over secure coding.

Re: Python coding interview challenges

#214

Earlier quoted context omitted.

I'd rather take my chances with a snake than trying to solve "Add two integers without using + or -".

len([i for s in ([i for i in range(x)], [i for i in range(y)]) for i in s])

(as long as it doesn't need to be fast or do negative numbers)

Re: Python coding interview challenges

#215

Earlier quoted context omitted.

I've been coding for 4 decades. There are so many different standard libraries and function calls to remember that only the people that are one-trick ponies (one ecosystem, deep knowledge) are going to be able to do the majority of these without an outside reference. And those are exactly the people you would not want for a job because they would most likely not have the flexibility to shift away from that ecosystem…

Though the code challenge hazing makes it easier to screen out "old dudes" who are not using the latest and greatest.

Yes, please let's not hire someone with experience. That would really ruin the party. /s

Re: Python coding interview challenges

#216

I see these challenges as a great way for excellent experienced developers to weed out incompetent companies. I'm a kick-ass get-things-done full-stack web engineer. I've never had to deal with one of these sorts of problems in my day to day work; and if I did, I'd just find an existing, tested, stable library that already handled them. A company that needs someone to solve these sorts of problems doesn't want me on…

A completely delusional comment, devoid of any roots in reality whatsoever, and an insult to the decency and dignity of software engineering, as well as an invitation to strip software engineering of the respect and compensation it deserves.

A 13 year old making a website for his dog in PHP can fit your definition of full stack web engineer.

The underlying parts of this "full" stack require significant domain knowledge around algorithms, data structures, computer architectures, operating systems, distributed systems, networking and communications, programming languages, etc... and most importantly, critical thinking and engineering rigor beyond trial and error and cargo cult copy-pasting from stackoverflow into your "get-things-done" duct-taped spaghetti code base.

Those underlying parts created by the people that you now call "incompetent" are required to design, implement and maintain the "kick-ass" babyproofed playground you live in and that allows you to put food on your table. Have some respect.

If you are so kick-ass and get-things-done, checkout the source code for Linux, Chromium, v8, node or libuv, Python, Ruby or whatever technology you use and try to get something done there to a level of quality in which it gets accepted and see what happens. You and your kick-ass denomination will be stomped over and brought back to reality.

Re: Python coding interview challenges

#217

Earlier quoted context omitted.

But why would anybody come work for you then? There are plenty of companies that don't fire, and they would be far more attractive.

The interview process would presumably be shorter and less complain-worthy than the current industry standard.

Well I can confidently say that people I know don't have a problem with the current algorithmic interview process, in fact my friend group generally finds it fun, where as conversely I don't know anybody who would take a job with a non-insignificant chance of being fired.

Re: Python coding interview challenges

#218

Never mind the specifics of the selection process, Silicon Valley's risk-adverse approach to hiring is baffling. Instead of making candidates go through an overly rigorous process, why not embrace California's at-will status and hire and fire often? Employers and employees already view each other with suspicion in terms of loyalty, the former willing to downsize capriciously at any moment, and the latter willing to j…

>>Never mind the specifics of the selection process, Silicon Valley's risk-adverse approach to hiring is baffling. I think it makes perfect sense. A bad developer hire is not just unproductive. They also tend to be a burden on their coworkers and reduce their productivity by asking trivial questions and writing buggy and/or hard to maintain code. With startups the risk is even greater. Think about it: the odds are al…

So fire them. Sorry, didn't work out. GTFO.

The situation now is not better. People have cargo-culted a strategy that is based entirely on having enough applicants that you can afford to have a stupid false-negative rate. It's also easily gamed, so you have to keep trying to find new puzzles for people to solve.

Re: Python coding interview challenges

#219

Earlier quoted context omitted.

Not revealed as a terrible company, perhaps, but as a terrible interviewer. If any company were to quiz me on algorithmic basics, it had better explain to me beforehand why it is among the x% of all hiring companies that actually need to roll their own new solutions in the face of so many well-established libraries. That is, before you ask me to demonstrate a depth-first search, you had better explain to me why I'm g…

"Perhaps you won't, but since we don't know yet exactly what you'll be working on, we might know broadly what PA or even project, but we can't know what problems you will encounter or what direction it will take to debug any problems that arise, we want someone with a broad base of skills who can at the very least recognize performance problems and solve them in a simple case. We expect that if you can solve this rel…

I think you mean to say that correlation and causation correlate.

Re: Python coding interview challenges

#220
post #109

Earlier quoted context omitted.

You are OK with not knowing how to invent, innovate, push the envelope, etc because you don't need to in order to collect your paycheck? Seems sad! Where is your passion for the craft?

You misunderstood me. Of course I love to invent and innovate. That's why I don't like memorizing solution to coding challenges. But just because I don't know them by hearth doesn't mean I don't know where to find the solution. Which is the more important skill.

I think we should strive more to be just more than code monkeys that glue stuff from stack overflow... because that makes you or I replaceable.
Post reply on HN