News for hackers. Stuff that matters.
Re:Tech sector job interviews assess anxiety, not software s... by koheripbal on Wednesday July 15, 2020 @03:50PM (#23850699)
One trend I've noticed that is markedly different from when I started programming in 1998, is how dependent we've become to program via Google/StackExchange searches.

I'm not sure I know how to write anything from scratch anymore, because I just search/read/alter/test. The breadth of what I work on is 100x wider than it used to be, and so I've become absolutely dependent on quickly reading docs, copying code found online, and then deep diving into testing and rolling it out the door.

I deliver a TON more, but I'm convinced I'd bomb literally every interview I go to today. Today, for example, I updated our firewall rules, updated some Java business logic, tweaked some javascipt and PHP on the site, reversed an odd macro email-phishing virus we got, configured a new RDS server VM for clients, and updated some network GPOs. 20 years ago, I would have never worked on ALL of those things in the same week - let alone the same day.

Maybe we should interview with small take-home tasks to be submitted with some write-ups to test how people research, reason, and write-up problems, rather than writing code on the spot on a whiteboard. ...but maybe that's just me.

Re:Tech sector job interviews assess anxiety, not software s... by OliverJones on Wednesday July 15, 2020 @04:49PM (#23851547)
I've been doing this for a LOOONG time. Early on, the core skill for a programmer was intensive in-depth knowledge of the language being used. We all talked a good game about what we called "reusable software," but yeah. Talk.

Now things are TOTALLY different. Doing a good job requires extensive, encyclopedic, knowledge of what's out there, how well it works, and how to integrate it. npm, nuget, maven, anaconda, we all know the drill. In a day's work it's much less necessary to implement an algorithm from memory.

What should programmers know from memory? Simple stuff like fizzbuzz. The difference between TCP and UDP. What DNS is for. If SQL data's involved the difference between JOIN and LEFT JOIN.

And, if they're experienced, they must be able to describe intelligently how their own stuff fit into the bigger system they worked on. Because there's always a bigger system.

If they're being hired to be a tech rep to an *sshole customer, possibly their performance under pressure matters a lot. Otherwise, not.

This business of high stakes quiz questions serves just one purpose: feeding the ego of the interviewer. "We have high standards!"

Yeah, so high that we wouldn't hire Jesus of Nazareth to be a storyteller.

Re:Tech sector job interviews assess anxiety, not software s... by ornornor on Thursday July 16, 2020 @01:27AM (#23856078)
That is exactly my current employer. Our main office is in a small town, so there aren’t that many candidates to begin with (a job stays open for 6–9 months and we get maybe 15 applicants during that time)

Our software is utter trash because the business is very clannish, fragmented, and the people in charge either never ever wrote code or did it 15 years ago.

And yet we fail 95% of the technical candidates we interview because they don’t meet our “high” standards. We won’t even consider hiring remotely (but within the country because we’re making government software) even though an overwhelming majority of the company and tech team has been working from home 80–100% since March... No, we’re insisting on rejecting the handful of candidates that apply in our small town. Insane.

Re:Tech sector job interviews assess anxiety, not software s... by perl4ever on Thursday July 16, 2020 @02:31AM (#23856403)
>Doing a good job requires extensive, encyclopedic, knowledge of what's out there

I wouldn't say that. What I feel like I've accumulated in knowledge over time is I can look at a new problem and without having the solution/encyclopedic knowledge, I can know in my gut that (a) there is a solution, and (b) the solution I'm looking at is not the solution.

Merely being able to look up things on the internet without these two things means you will either give up too early or settle on the wrong solution.

This is the most succinct way I can describe what I think >a decade of experience is worth compared to being fresh out of college.

Re:Tech sector job interviews assess anxiety, not software s... by theshrike79 on Thursday July 16, 2020 @03:28AM (#23856680)
I describe this as known-unknown vs unknown-unknown (credit to Donald Rumsfeld)

Unknown unknowns: The things that you don't know are possible and thus don't even know how to start solving. You will accidentally reinvent the wheel, most likely very badly. Or give up right away.

Known unknowns: An experienced developer most likely unconsciously knows (has read on HN/Reddit/Book/Blog some time in the last 20 years) that a thing they encounter has been solved already, at least partially.

This allows them to start searching for the answer with a few key words, because they know it's possible but don't know how it can be done.

Same comes with having a network of people who know different things, I know the bare minimum about professional pentesting, but I know a few people who I are absolute pros in the field.

Re:Tech sector job interviews assess anxiety, not software s... by Cthulhu_ on Thursday July 16, 2020 @05:27AM (#23857237)
> Known unknowns: An experienced developer most likely unconsciously knows (has read on HN/Reddit/Book/Blog some time in the last 20 years) that a thing they encounter has been solved already, at least partially.

I feel like my brain is full of "I read a headline about this once" tidbits, in part because of HN. It's like I don't know the answer, but I know the question has been solved before so I know there is an answer.

Re:Tech sector job interviews assess anxiety, not software s... by Cthulhu_ on Thursday July 16, 2020 @05:26AM (#23857227)
Yup, a lot of developers grow into generalists that know a lot of things about a wide range of subjects; they suck in a technical / algorithm interview, but they can solve most problems. They may not know all of NPM's options (for example), but they know how to quickly find an answer if they are confronted with a problem.
Re:Tech sector job interviews assess anxiety, not software s... by kamaal on Thursday July 16, 2020 @12:28AM (#23855768)
>>This business of high stakes quiz questions serves just one purpose: feeding the ego of the interviewer. "We have high standards!"

It's scary how true this is. I know one manager who routinely rejects perfectly good candidates for making negligible mistakes in the interview. All on the grounds of "We have high standards!"

Re:Tech sector job interviews assess anxiety, not software s... by castratikron on Thursday July 16, 2020 @10:05AM (#23859102)
Haha. I worked at a place that did not start out as a software company but now had a software team (they built industrial machinery). The director of the electrical and software department was completely clueless of course. He insisted that since we are an engineering company, an engineering degree was required to work here. And that meant any candidate for a software engineering position was automatically rejected if they only had a computer science degree since it didn't have the word "engineering" in the title.
Re:Tech sector job interviews assess anxiety, not software s... by fennecfoxen on Thursday July 16, 2020 @07:45AM (#23857970)
It sounds like the process works! … at preserving the candidate from your organization. :)
Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @06:15AM (#23857473)
I honestly don't agree with this. The worst programs are written by people who know how to plug a million and one things together, but can't drill down and analyse the algorithmic implications of what they're doing. Electron runs like shit and inhales RAM is because it was programmed by people who don't have solid understanding of fundamentals. They understand a huge number of horizontal abstractions but they have no concept of how it looks vertically.

Knowing how to maximally exploit a CPU is way more important than knowing eight different Javascript frameworks if good software is your objective. And frankly, learning Node is way easier than figuring out how to structure basic, bare-bones Javascript so that it leverages your L1 cache.

And therein lies the problem. How many interviewers dock marks for iterating over columns, instead of rows? Because that matters, a huge amount. How many interviewers would give credit for "how can you speed this up?" if the interviewee said, "write it in C, and simplify the datastructures you want me to use so we maximise sequential lookups over basic arrays, to maximise cache usage." They'll look at you like you have three heads.

"Don't you know Big N complexity is the only thing that really matters if you're looking for speed?" - then you get Electron.

Re:Tech sector job interviews assess anxiety, not software s... by conradev on Thursday July 16, 2020 @09:13AM (#23858632)
> Electron runs like shit and inhales RAM is because it was programmed by people who don't have solid understanding of fundamentals.

I feel like this is a huge oversimplification. I’d argue that for sufficiently large projects (say, Chromium) every single programmer who works on it could have a strong understanding of performance fundamentals but the product itself could still have performance problems because there are necessary levels of abstraction involved and no one person has the entire codebase in their head. Performance problems could come from emergent behavior that could not have been predicted by the original engineers.

But, as for implementing an app on top of Electron. Say I need to write a cross-platform app with a consistent style and fluid animations. I know how to write a NEON implementation for ChaCha20 for fun, or write a zero-copy binary property list parser that’s faster than anything I’ve found. I have a decent understanding of performance. That doesn’t help me write this cross-platform app. I don’t have to time to write a novel native UI toolkit that allows me to share code while maintaining platform consistency and native performance. I don’t have time to fix the memory consumption of Chromium. I’m going to write my Electron app in JavaScript, carefully, and hope the performance will be acceptable (but not great). I don’t see how that can reflect on any individual programmer poorly.

Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @10:13AM (#23859168)
I disagree. As evidence: games are way more complex, have enormous teams, and manage to simulate an entire game world rendering render hundreds of thousands of polygons 60 times every second. Twitter crashes my browser.
Re:Tech sector job interviews assess anxiety, not software s... by conradev on Thursday July 16, 2020 @11:25AM (#23859934)
But I don't think that it has _anything_ to do with the individual programmers inherently understanding performance better.

There is likely a huge organizational focus on performance and more people expressly dedicated to the task because it is a higher priority for Epic. It is directly correlated to Epic's ability to deliver a successful product to game companies, whereas for browsers it is slightly more orthogonal to their success.

LLVM has a bunch of contributors who likely understand the intricacies of machine code better than either of us, and:

> Each LLVM release is a few percent slower than the last.

> The larger problem is that LLVM simply does not track compile-time regressions. While LNT tracks run-time performance over time, the same is not being done for compile-time or memory usage. The end result is that patches introduce unintentional compile-time regressions that go unnoticed, and can no longer be easily identified by the time the next release rolls out.

https://nikic.github.io/2020/05/10/Make-LLVM-fast-again.html

Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @12:10PM (#23860401)
Electron is a running joke because of how horrible the performance is. Again, I don't buy it. I think it's much more a matter of "they can't" than "they don't want to."

I think if those LLVM contributors understood compilers better, they wouldn't be introducing those issues. Look at Jon Blow's achievements on Jai. LLVM is the bottleneck for his entire compiler at the moment, and he's planning to replace it with what... Three people or something? But I also think there are structural issues there. I don't think a top-down project from a large company gets to use that excuse.

Re:Tech sector job interviews assess anxiety, not software s... by vsareto on Thursday July 16, 2020 @10:40AM (#23859420)
That's because GPUs are insane and purpose built. For an honest benchmark, you'd only look at instructions executed on the CPU which won't be any rendering, but stuff like world ops, AI, game flow. Some of those are not really that taxing.

As an example, Stellaris had performance issues that were CPU bound for a while and it's gotten better. It's not a visually demanding game after all.

Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @12:13PM (#23860425)
So run Electron like a game. Leverage the GPU, if that really is the issue. Or run it like Qt, which manages to avoid that problem.

I just think that's a weak excuse, especially given most games have tremendous complexity running through the CPU too.

(As a side note I don't think paradox games are a good example. They're famously poorly optimised.)

Re:Tech sector job interviews assess anxiety, not software s... by ajmurmann on Thursday July 16, 2020 @12:06PM (#23860369)
Think about the requirements for market success of the different pieces of software. Games most run fast and any performance you safe can go back into better graphics. Performance is crucial. Electron is hugely successful despite not being very performant.

Developers love thinking about performance. It's fun and asked us to use so many of our skills. However, for many products other quality aspects are more important, like maintainability, extendability and expediency of development.

That performance often falls by the wayside on terms of business priorities ends up being reflected in the typical developer skill set.

Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @01:17PM (#23861213)
I don't know if I agree. Its plausible, but also these businesses are monopolies, so even if they churn out shit it doesn't undermine their market position.

But I think Electron in particular is a symptom of the fact that GUI frameworks are in general horrible. There was a market gap for usability because using everything else was obtuse, and now we're paying for it.

Re:Tech sector job interviews assess anxiety, not software s... by aprdm on Thursday July 16, 2020 @02:08PM (#23861895)
Which businesses are monopolies? Slack surely isn't. If there's a market for faster chat clients because that's what people want then looks like a business opportunity?

FWIW all of slack competitors are also electron (rocket.chat et all), so it seems like you possibly know something that other engineers don't and might have a competitive advantage!

Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Friday July 17, 2020 @05:26AM (#23868794)
Google is a monopoly.

If someone released a GPU-accelerated version of Electron that had the performance of the GUI in basically every video game, it would destroy Electron. Now, would it be popular? I'm not sure, but let's say the answer is no. Ok, now imagine Google released that.

Re:Tech sector job interviews assess anxiety, not software s... by _____s on Thursday July 16, 2020 @10:09AM (#23859138)
The likelihood that people who created Electron don't understand caches or cache locality is close to zero. That's an oversimplification. Electron is a large project that does many things… there are many reasons why it could have been slow. Today there are many Electron based apps that are quite decent.

> Knowing how to maximally exploit a CPU is way more important than knowing eight different Javascript frameworks if good software is your objective. And frankly, learning Node is way easier than figuring out how to structure basic, bare-bones Javascript so that it leverages your L1 cache.

Learning Node isn't easier than learning how to structure basic, bare-bones code that leverages L1 cache. In fact, it's quite the opposite. You can learn cache locality as a concept in much less time than you would learn Node (or any programming ecosystem for that matter).

Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @10:24AM (#23859269)
I don't buy it. Unreal Engine is a larger project that does many more things, and the speed at which it does them compared to Electron is not even in the same universe.
Re:Tech sector job interviews assess anxiety, not software s... by aprdm on Thursday July 16, 2020 @11:05AM (#23859713)
How can you compare unreal engine with electron ?! That makes no sense at all.
Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @12:18PM (#23860490)
The fact that people think they're somehow fundamentally incomparable is the problem.
Re:Tech sector job interviews assess anxiety, not software s... by pantaloony on Thursday July 16, 2020 @01:20PM (#23861250)
Seriously. This whole part of the comment tree has been fabulously enlightening. Great insight into the psychology of how we end up with chat clients that do less with 20x the resources than entire operating system + office suites of yesteryear.
Re:Tech sector job interviews assess anxiety, not software s... by aprdm on Thursday July 16, 2020 @02:05PM (#23861834)
I feel you tried to be snarky and I didn't really follow even what you tried to imply! Regardless would like to have your opinion if you don't mind explaining it better.
Re:Tech sector job interviews assess anxiety, not software s... by pantaloony on Thursday July 16, 2020 @02:13PM (#23861951)
I’d figured it was mostly cheap companies driving the broadly terrible performance of modern software for often fairly small benefits to speed and dev cost, but it turns out there’s a much stronger contingent of software developers with not just a tolerance for business-driven trade-offs, but a strongly enabling attitude toward the whole thing, apparently not seeing what they’re doing the same way I do at all. Adding this information, observed software quality makes a lot more sense to me now.
Re:Tech sector job interviews assess anxiety, not software s... by _____s on Thursday July 16, 2020 @10:49PM (#23866469)
I'm not sure it's the cheap companies or developers driving this. Even companies that pay really well produce pretty slow software (Gmail, etc.). It's mostly the ecosystem in which software is developed.

As someone else said, businesses hire software engineers to solve business problems. Speed often isn't a priority. Fast software will make the experience perceivably better, but it's hard to get on a sales call and tell a potential customer that your application loads much faster when they are looking for feature X. And most companies buying software are looking at a checklist of features first and then maybe the experience.

You also need to put in the time to make software fast and then keep it fast. It's not something you can tack on at the end—if you want something to be fast, that has to be carefully considered from the very beginning. By the time people notice something is too slow, you're burdened by half baked architecture and a monstrosity of a codebase. At that point, it's near impossible to really make anything fast.

Re:Tech sector job interviews assess anxiety, not software s... by gregjor on Thursday July 16, 2020 @10:54PM (#23866497)
> most companies buying software are looking at a checklist of features first and then maybe the experience.

I think the hugely successful SalesForce proves this point. Just one standout among many such products.

Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Friday July 17, 2020 @02:57AM (#23867900)
I would argue they won because of marketing, not because they had unique functionality. Features are not that hard to build, most basic tooling can be cloned with a relatively small budget.
Re:Tech sector job interviews assess anxiety, not software s... by _____s on Friday July 17, 2020 @03:20AM (#23868032)
Most enterprise businesses win because of better sales and distribution, but your product ultimately has to support your sales. Salesforce had both (and other advantages). How does sales work in medium to large B2B? You'll get a RFP with a list of questions, you'll often get a list of features that company X wants. Naturally, as a company, you'd focus on building those features instead of optimising speed.

If the market values fast software, you'll see a lot more fast software. There _is_ a lot of unnecessarily slow software these days, so it _is_ starting to happen. Think Superhuman, Linear.app, etc. — an entire category of software based primarily on the idea of being fast, aimed at the power user. If these apps succeed, you'll see a lot more of them. If the market doesn't value fast software, most commercial software will be slow.

Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Friday July 17, 2020 @05:33AM (#23868836)
I don't really agree with the premise. Sales by definition exploits the fact that the consumer can't differentiate between products on their own. That leaves a lot of leeway for broken software and misleading marketing.

I don't think companies choose to make bad software as a tradeoff. Salesforce had enough budget to build out those features and not be terrible. I think in general, when software is bad it's because the company wasn't able to make it good. And I think the distinction between those categories is important.

Re:Tech sector job interviews assess anxiety, not software s... by gregjor on Friday July 17, 2020 @01:56PM (#23873419)
SalesForce ticks enough checkboxes. Competing products may tick the boxes too, but without great marketing that won’t matter, the company that can sell their product will win.

My point was that SalesForce has fairly poor user experience and performance, but does offer the features. It has the additional advantage (for SalesForce) or quick lock-in once the customer commits to it. SalesForce has improved the user experience over time because they have the customer base and revenue to allow that.

Re:Tech sector job interviews assess anxiety, not software s... by aprdm on Thursday July 16, 2020 @02:25PM (#23862073)
Software developers are hired by business to solve business problems.

Optimization of speed is sometimes it, sometimes it isn't.

I have worked accelerating algorithms in VHDL with a PCI-e interface, embedded linux without a MMU because a MMU uses too many logical gates, digital signal processing systems (FFT, goertzel, sigma delta filters) that had to process a lot of data under uS and etc.

Now a days I work more in the devops space, full stack dev and whatnot. I have worked with a lot of technologies, different constraints, different teams, different companies (12 in total) in different industries.

Trying to paint all business and developers as bad or as cheap because business requirements do not align with your view isn't really fair.

Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @03:03PM (#23862570)
Twitter failing to load on a stable connection and crashing the browser if you scroll too far is not the result of business tradeoffs. It's a failure to achieve their own goals.
Re:Tech sector job interviews assess anxiety, not software s... by aprdm on Thursday July 16, 2020 @03:11PM (#23862658)
Are you sure there's not something wrong with your environment? Twitter has lots of users (me included) and is not a problem I have seen in any platform I access twitter from.
Re:Tech sector job interviews assess anxiety, not software s... by pantaloony on Thursday July 16, 2020 @03:25PM (#23862814)
I also hit errors following links to twitter more often than not, reliably, on all sorts of environments. It feels like they’re doing some kind of cache-related routing based on headers. Often “refresh” doesn’t fix it, but hitting enter in the address bar does. Seen on iOS, macOS, Windows, and Linux, mostly in very normal browsers (I’d expect mobile Safari in particular is at least on their top-5 most-seen browsers). I’d assumed they were trying to annoy me enough that I install their app. I’ve seen many others report the same kind of reliable, very frequent errors.

Notably, I’m also not logged in, which might be another thing they’re trying to get me to do and another difference between those who hit this more often than not, and those who rarely or never see it. It’s been like this for years.

Re:Tech sector job interviews assess anxiety, not software s... by aprdm on Thursday July 16, 2020 @06:01PM (#23864291)
That sucks! I heard reddit also does things differently when you're logged in/ logged off. I haven't had a bad experience with these platforms myself but it sucks that it is so bad for other people.
Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Friday July 17, 2020 @03:00AM (#23867915)
The page loading thing used to happen to me regardless of login status, but it's less frequent now. The crashing was mostly just on mobile - that's still a problem.

If I remember right the app would also crash but it could take bigger loads. Not sure, I uninstalled it.

Re:Tech sector job interviews assess anxiety, not software s... by pantaloony on Thursday July 16, 2020 @02:35PM (#23862224)
> Trying to paint all business and developers as bad or as cheap because business requirements do not align with your view isn't really fair.

Yes, that would be unfair.

Re:Tech sector job interviews assess anxiety, not software s... by aprdm on Thursday July 16, 2020 @12:58PM (#23860948)
Software is all about trade offs. I would actually recommend you the book Software Engineer at Google since you mentioned them so many times: https://www.amazon.ca/Software-Engineering-Google-Lessons-Pr...

The first chapter is all about that and how software engineer isn't programming. You seem to think as programming and I believe you're missing the bigger picture.

Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @01:31PM (#23861391)
I understand what you're getting at but I think you're seriously underestimating the implications of what I said.
Re:Tech sector job interviews assess anxiety, not software s... by h0l0cube on Thursday July 16, 2020 @08:58AM (#23858522)
> Electron runs like shit

Does it? I've seen some electron apps that run like dogs, and others that seem perfectly performant. So, I'm curious... in what way does the framework run like shit? In what way could it be improved?

> How many interviewers dock marks for iterating over columns, instead of rows? Because that matters, a huge amount.

I think you mean the difference between SoA and AoS. I'm not sure that one is inherently better than the other, except the former scales well for large homogenous datasets.

I doubt optimising for DSPs/SIMD/big-data to maximize throughput and reduce cache-misses, is something the typical FAANG employee needs to know about. Could be wrong.

> "Don't you know Big N complexity is the only thing that really matters if you're looking for speed?"

It does, even if you cache-align and pool your data. And you can optimise your in-memory data-structures (and database IO) later, if profiling finds them to be a bottleneck.

Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @09:33AM (#23858765)
>I've seen some electron apps that run like dogs

And almost no Qt apps run like that. "As long as I don't notice it most of the time, it's not slow." No, sorry, I don't agree. Frameworks should be fast. Slack is unforgivably slow.

>I think you mean the difference between SoA and AoS.

I mean literally in the interview when they do a nested for loop over primitives. Do they lose marks for going row-first? Why isn't that considered a basic rule? It's not complicated. Most interviewers don't even realise there's a difference (!!).

>I doubt optimising for DSPs/SIMD/big-data to maximize throughput and reduce cache-misses, is something the typical FAANG employee needs to know about.

Twitter is so bad it crashes my browser. It's 90% text! The only ram-hogs are auto-playing videos that dissapear after you scroll past them. These engineers are paid half a million per year. Half the time the website doesn't even load (!!!). That's insane.

>And you can optimise your in-memory data-structures (and database IO) later

Ehh, skeptical. Unless your data & algorithms are structured as contiguous arrays of primitives to begin with you're going to have trouble refactoring the abstraction.

Re:Tech sector job interviews assess anxiety, not software s... by h0l0cube on Thursday July 16, 2020 @07:56PM (#23865293)
> Do they lose marks for going row-first?

It's not objectively wrong to do this. Suggesting that "SoA is always right", tells me that maybe you don't understand the trade-offs between expediency, readability and performance... or understand the trap of early optimisation. Always measure first before optimising, otherwise write code that's easier to read, and simpler to write.

> Twitter is so bad it crashes my browser. It's 90% text!

Not sure how knowing how to micro-optimise cache-effects fixes these issues. Profiling and spending time on perf does, but they've decided it's just not worth their time.

> Ehh, skeptical. Unless your data & algorithms are structured as contiguous arrays of primitives to begin with you're going to have trouble refactoring the abstraction.

The keyword is refactor. Developers and organizations do it all the time - or at least they ought to.

Disclaimer: Used to work in the video games industry. Literally worked for years doing perf, and cache-level optimisation.

Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Friday July 17, 2020 @03:11AM (#23867979)
You're responding to things I didn't say.

No, I don't mean SoA, I just said that.

I don't think twitter is crappy because of cache misses, I think it's crappy because they don't have a solid understanding of what their code is doing. Ignorance of caching is another symptom.

If you build your game on an entity-component system, you can't "just refractor" that to make it contiguous. Your structure is pretty baked.

Re:Tech sector job interviews assess anxiety, not software s... by h0l0cube on Friday July 17, 2020 @04:55AM (#23868602)
> I don't think twitter is crappy because of cache misses, I think it's crappy because they don't have a solid understanding of what their code is doing.

It's my hunch that you have little idea of what the code-bases for twitter are like, nor what factors are at play that affect usability issues.

> If you build your game on an entity-component system, you can't "just refractor" that to make it contiguous.

Moving to object pooling of components is very do-able. There might be some extra work, like extracting a generic matrix hierarchy and physics primitives out, but you'd only do such a thing if you found that d-cache misses on v-table lookups, or if i-cache misses due to update code churning were of real concern... and these could realistically be mitigated with homogenised object pools for the particular use case... though usually yes.

Edit: I'd expect anyone on an engine team, or technical programmers at a game dev shop, or maybe even someone working on a browser renderer to have such knowledge from day 0, rather than the average FAANG employee.

Re:Tech sector job interviews assess anxiety, not software s... by aprdm on Thursday July 16, 2020 @02:04PM (#23861820)
FWIW I work in a place which uses a lot of C++ and cares a lot about performance.

I have seen a lot of really bad Qt UIs as far as responsiviness. The Signal/SLot framework can get really hard to follow in huge code bases with lots of state. The whole thread interaction in Qt is not ideal.

It is interesting because most of people are now actually using PyQT or pyside. Even with these being slower than pure Qt. Because it is easier to adjust to business requirements with Python.

Oh, and I have personally rewritten some of these UIs in React and replaced them with a web browser which made them much more responsive.

Re:Tech sector job interviews assess anxiety, not software s... by pantaloony on Thursday July 16, 2020 @02:17PM (#23862000)
> Half the time the website doesn't even load (!!!). That's insane.

I’d assumed Twitter showing me “an error occurred” on about 50-75% of inbound link-follows to their site, across multiple browsers on multiple operating systems, was an intentional “feature” to drive me to their app.

Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @02:52PM (#23862436)
It's a deliberate business tradeoff.
Re:Tech sector job interviews assess anxiety, not software s... by tikwidd on Thursday July 16, 2020 @06:49AM (#23857622)
Performance matters when it matters. Part of the job is knowing when it matters and adjusting the approach accordingly.
Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @08:05AM (#23858117)
Efficiency automatically matters for something like Electron because if it's not well-engineered, it will produce monstrosities like Slack.

If Slack was written in Qt with the same budget it would just be fast. Even with effort we don't have Qt apps that behave like Slack.

Re:Tech sector job interviews assess anxiety, not software s... by aprdm on Thursday July 16, 2020 @11:04AM (#23859704)
If slack were built in Qt it wouldn’t ever have hit the market or adapt to changes. It would be an order of magnitude more expensive too.

Do you feel that you somehow know something that nobody else knows ? It’s all about trade offs . Being able to move quicker seems more important to businesses than writing more performant software .

Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @12:54PM (#23860902)
It's a chat client, it's really not complicated. Even if we take for granted that they genuinely had to ride on top of Electron to get to market (I think the back-end is probably much more complex), they have more than enough money at this point to rewrite from scratch.

Note that one person is literally doing that, with ripcord. Looks like shit but it illustrates the point.

Re:Tech sector job interviews assess anxiety, not software s... by aprdm on Thursday July 16, 2020 @12:59PM (#23860965)
It is really that complicated. They have a lot of features, integrations and platforms. I don't believe you understand how a chat client code base could be much more complex than Unreal.
Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @03:18PM (#23862739)
Every multiplayer game on the market does 90% of what Slack does as a side note.
Re:Tech sector job interviews assess anxiety, not software s... by aprdm on Thursday July 16, 2020 @03:23PM (#23862803)
Can you give me one that integrates to all my business ?

Monitoring , metrics , deployment , etc.

I am also looking to play said game on all platforms ! iPad , Android , iPhone , Mac , Linux , Windows and etc.

Would be great if the chat client supported markdown as well

Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Friday July 17, 2020 @03:03AM (#23867930)
I understand the point you're trying to make but arguing that World of Warcraft is less complex than the Slack client is not the hill to die on.
Re:Tech sector job interviews assess anxiety, not software s... by aprdm on Friday July 17, 2020 @12:00PM (#23871926)
From your posts your view of complexity seems very limited to the art of programming and making complex, fast and correct programs.

Complexity for me is the software engineering part which the Software Engineering at Google displays really well and I agree wholehearted. I would argue a game is simpler because it doesn't need frequent updates and doesn't live forever.

I work in systems at my company used in a very big scale that were written 30 years ago and are still maintained / changed. That system I would argue is much more complex than any game.

Even tho from your point of view it probably only updates files on disk :)

Re:Tech sector job interviews assess anxiety, not software s... by swyx on Thursday July 16, 2020 @07:06AM (#23857700)
just here to say that vscode works plenty fine on electron and has handily beat out other IDE's you might consider better software. it's always possible to use a tool badly but it's not always the fault of the tool.
Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @07:45AM (#23857979)
As someone who uses Emacs (which is a terrible piece of software in its own right), looking at the top feature requests for VS Code is like looking into the twilight zone. It lacks absurdly basic functionality.

Granted, they made Electron run fast enough to be usable but I wouldn't call it good software.

Re:Tech sector job interviews assess anxiety, not software s... by fr2null on Thursday July 16, 2020 @08:07AM (#23858136)
It might lack functionality that you use on a daily basis, but I don't think it lacks any objectively basic functionality. In my opinion this is proven by the fact that thousands (millions?) of programmers, including me, work with VS Code on a daily basis.
Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @08:55AM (#23858488)
What's the alternative? All editors are kind of crap. Compare them to raw level of engineering you find in, say, a video game. It's a different world.

Imagine VS Code was exactly how it is now, but had the extensibility of Emacs. It would blow everything else out of the water. Why isn't it like that?

Re:Tech sector job interviews assess anxiety, not software s... by amaranth on Thursday July 16, 2020 @11:30AM (#23859975)
The extensibility of emacs is insane is why, it really is more like an OS that happens to have editor functionality. I think the only thing that even gets close is Eclipse which has a ton of performance issues which I'm convinced are due to the (enterprise-y) way they try to achieve that extensibility. After that would be the IntelliJ platform, it's usually much faster and nicer to use but also has performance issues and is known for using a ton of RAM.

VS Code is doing well here compared to its competition. It is quite extensible, you can add extensions to it written in JavaScript that can add new UI and make changes to the editor view. It's also much more performant than either of the other two IDEs I mentioned, even after you load it up with extensions to replicate some of the most used features from those IDEs.

Re:Tech sector job interviews assess anxiety, not software s... by ativzzz on Thursday July 16, 2020 @09:33AM (#23858771)
> Why isn't it like that?

Because most of us don't care. I need my code editor to just work out of the box. I want to be able to write code and install a few plugins to enhance the tools I'm using. Hacking my editor is a waste of my time and even if I wanted to, I'm certainly not going to learn lisp to do it.

Re:Tech sector job interviews assess anxiety, not software s... by furbyhater on Thursday July 16, 2020 @10:24AM (#23859266)
Sublime Text is nice if you care about good engineering and performance.
Re:Tech sector job interviews assess anxiety, not software s... by swyx on Thursday July 16, 2020 @11:09AM (#23859761)
your definition of good software here reminds me of the critic in Ratatouille who loves food so much he doesn't eat any of it. must be terrible living in a world where everything sucks as badly as you perceive it.
Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @01:07PM (#23861063)
Hacker News, which is literally just text, can't display every comment in this post. There's a disclaimer at the top. Scroll up and read it.

How much money does the Y Combinator Web team receive? Do you think its enough that they should be able to render... Text?

Re:Tech sector job interviews assess anxiety, not software s... by ogogmad on Thursday July 16, 2020 @09:23AM (#23858714)
This might be off topic, but what basic functionality does Emacs have that VS code doesn't? I know there's SLIME and Org, but I don't think you meant that.
Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @10:35AM (#23859358)
Difficult to answer directly, but scanning through the most popular feature requests, most of the non-VSCode-specific feature requests have been solved (somewhere) by Emacs:

https://github.com/Microsoft/vscode/issues?q=is%3Aopen+is%3A...

I will say that this was way worse a couple of years ago. They seem to have added a lot since then.

Re:Tech sector job interviews assess anxiety, not software s... by Aeolun on Thursday July 16, 2020 @08:06AM (#23858127)
> Knowing how to maximally exploit a CPU is way more important than knowing eight different Javascript frameworks if good software is your objective

Which is why 90% of all software is very profitable crap.

Re:Tech sector job interviews assess anxiety, not software s... by blisterpeanuts on Wednesday July 15, 2020 @04:02PM (#23850894)
It's not just you :) A much more realistic way to test people is to tell them to bring their laptop, point to a problem on the whiteboard and say "here, solve it, and use whatever resources you need."

I'm somewhat like you; I do a wide variety of tasks every day and simply can't keep all the different rules and syntaxes in my head. I'm terrible at tests anyway and would probably bomb a FAANG interview badly because of my lousy memory.

As an interviewer, I would rather someone be generally smart, have a good work ethic and lots of experience solving problems. In the long run that seems more useful than being able to write computer programs on a piece of paper in a conference room.

Re:Tech sector job interviews assess anxiety, not software s... by cactus2093 on Wednesday July 15, 2020 @05:43PM (#23852368)
This has actually not been my experience. I generally agree with your reasoning and have tried to run coding interviews this way, thinking that it is most similar to doing real work. Candidates can use their own computer, their own editor and plugins, whatever framework and language they prefer, can google anything they need, etc.

It causes a surprising number of problems. A lot of candidates come in with their environments just very poorly configured, run into weird dependency errors, mismatched installed versions, no linting or syntax highlighting set up in their editor because they don't actually ever code on their personal computer, etc. It's not uncommon to spend half the interview watching someone debug their dev environment, or struggle to remember the basic syntax of their favorite framework since they aren't working on the same codebase that they're used to.

I've mostly come around again at this point and decided that even if I like this type of interview best in theory, focusing on standalone problems that can be done in coderpad with no dependencies is a more reliable approach.

Re:Tech sector job interviews assess anxiety, not software s... by jimbokun on Thursday July 16, 2020 @11:20AM (#23859885)
> A lot of candidates come in with their environments just very poorly configured, run into weird dependency errors, mismatched installed versions, no linting or syntax highlighting set up in their editor because they don't actually ever code on their personal computer, etc. It's not uncommon to spend half the interview watching someone debug their dev environment, or struggle to remember the basic syntax of their favorite framework since they aren't working on the same codebase that they're used to.

Now THAT reflects the actual daily experience of working programmers.

All the maddening little configuration options to get things working correctly, and seem to take up far more time than actually writing code to solve customers problems.

Re:Tech sector job interviews assess anxiety, not software s... by pdonis on Thursday July 16, 2020 @09:57AM (#23859035)
> A lot of candidates come in with their environments just very poorly configured, run into weird dependency errors, mismatched installed versions, no linting or syntax highlighting set up in their editor because they don't actually ever code on their personal computer, etc.

Isn't that a useful way to filter out candidates that you don't want to hire? Presumably they know in advance what kind of code you're going to ask them to write, so they have time to set things up beforehand.

Re:Tech sector job interviews assess anxiety, not software s... by cactus2093 on Thursday July 16, 2020 @12:55PM (#23860912)
Yeah, you could argue that this means these people aren't that serious about us, and we should be looking for people who are dying to work for our company specifically. Those people will surely spend hours preparing specifically for our interview, and triple-check they have followed all of our preparation instructions.

The reality is that for the past few years at least in SF, hiring engineers has just gotten more and more competitive. Most people who pass our interview will have multiple other offers, often some from companies with a bigger name brand than our own. At least in my opinion, most companies in this environment can't afford to have such strict purity tests. It's supply and demand.

This balance may be changing now given the current recession, it seems even in tech things have cooled off a bit the past few months.

Re:Tech sector job interviews assess anxiety, not software s... by xapata on Wednesday July 15, 2020 @07:44PM (#23853887)
I use repl.it for interviews. I preconfigure the environment and sometimes fix typos if I think they're getting stuck.
Re:Tech sector job interviews assess anxiety, not software s... by C1sc0cat on Thursday July 16, 2020 @05:52AM (#23857355)
A lot of developers wont use their personal computer to develop on but as a terminal.

Its actually bad practice in a lot of peoples opinion you should develop and test on an identical system hw/sw to the system you will deploy on.

Re:Tech sector job interviews assess anxiety, not software s... by stormbrew on Wednesday July 15, 2020 @11:06PM (#23855299)
As the replies to this are getting at, it's really important that if you do this you don't require the candidate to use their own laptop.

You need to provide a laptop or like, a mac mini or something you know you can plug in and has baseline requirements for working on the problem you're giving them. And you need to make sure that the problem isn't complex enough that they can't do it in the allotted time if they struggle a bit with an editor they're not used to (including like, vim without their usual barrage of scripts).

Otherwise you're just trading one bias for another: winners will be people who have personal laptops set up for coding, which is not a universal trait of good employees who code.

Let them use a laptop they bring if they want, but be ready to supply them with something they can use if it doesn't work out.

Re:Tech sector job interviews assess anxiety, not software s... by pmontra on Thursday July 16, 2020 @01:17AM (#23856018)
Give me a Mac and I'll spend half of the time asking you how to do X on a Mac, keyboard, mouse, touchpad, menus and unfamiliar software.

Do you really have to test for the ability to use tools instead of the ability of reasoning? A whiteboard doesn't seem bad for that. I would like to understand how the candidates reason, how they interact with colleagues and yes, also how they handle stress.

Example from yesterday: I had to fix a problem on a software in production before the end of the day (it must be available today) and before a reasonable hour (I wanted to go out at night.) That means working fast, debug, find solutions, possibly develop workarounds that leave the system working even if the problem is still not fully understood and solved and, most important, don't panic.

Re:Tech sector job interviews assess anxiety, not software s... by michaelt on Thursday July 16, 2020 @08:25AM (#23858258)
> Give me a Mac and I'll spend half of the time asking you how to do X on a Mac

I worked at a place that got around this by giving the candidate a choice of their own laptop, a Windows laptop, a Mac laptop, and an Ubuntu laptop. Half a dozen different IDEs on each.

Of course, you have to find someone to take on the glamorous job of keeping track of all the laptops, and wiping them between candidates...

> Do you really have to test for the ability to use tools instead of the ability of reasoning? A whiteboard doesn't seem bad for that.

It depends: If you're a big believer in test-driven development, red-green-refactor, clear naming and good code structure, test coverage, use of version control - you don't tend to see those in whiteboard coding.

Re:Tech sector job interviews assess anxiety, not software s... by blisterpeanuts on Wednesday July 15, 2020 @11:47PM (#23855555)
Hm, maybe. I was thinking, work in an environment you're familiar with, since that's a more realistic measure.

For example, I'm an Emacs kind of guy, so if they hand me a Windows laptop, do I limp along with Notepad? or some IDE that happens to be installed? Generally, as soon as I've settled in at a new job, I've customized my work environment with something as close to Linux and Emacs as possible -- if Windows, I'll install Cygwin if allowed, and/or Emacs and GNU utilities.

Re:Tech sector job interviews assess anxiety, not software s... by vonseel on Thursday July 16, 2020 @12:46AM (#23855852)
It sounds like definitely an opportunity at the minimum for the existing online interviewing sites to provide a service which installs a candidate's vim configuration (or emacs, not sure how that one works) from a public Github (or other host) git repository URL. They've already gone through the trouble of sandboxing the runtimes somehow so it can't be that difficult to also sandbox the editor. Not sure how it would work for other IDEs but that should at least support vim, maybe others like VS Code and IntelliJ too.
Re:Tech sector job interviews assess anxiety, not software s... by drdrey on Wednesday July 15, 2020 @05:51PM (#23852511)
I don't even have a personal laptop, seems like bringing the employer provided laptop to interviews is not the most sensible.
Re:Tech sector job interviews assess anxiety, not software s... by IggleSniggle on Wednesday July 15, 2020 @08:32PM (#23854309)
I have a personal laptop but I haven't used it in a few years. I spend every productive moment deep in the weeds on my employers laptop!

I'm not sure I would even look like a proficient computer users on my personal laptop. It runs Windows, and at this point my macos work environment is so heavily customized that I'd be bound to get tripped up just by the sudden unexpected need to use a mouse.

Re:Tech sector job interviews assess anxiety, not software s... by Cthulhu_ on Thursday July 16, 2020 @05:29AM (#23857249)
I'm glad my (former) employer has a scheme where after two years you can take over your "old" laptop for just €200. I'm at my new job right now with a 2017 MBP, which their current laptop budget just wouldn't even come near to. Oh and I got it revised just before leaving, the speakers were broken but there was a recall / extended warranty about that problem, it got the whole top replaced.
Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @06:33AM (#23857557)
Wait, your employer makes you pay to get a new work laptop, or they have a scheme where you can buy your old work laptop for $200? If they make you pay to work on up-to-date hardware, that's insane.
Re:Tech sector job interviews assess anxiety, not software s... by rusticpenn on Thursday July 16, 2020 @08:43AM (#23858385)
"take over" probably means that it becomes his personal laptop.
Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @08:47AM (#23858419)
Thought so - wanted to double check.
Re:Tech sector job interviews assess anxiety, not software s... by bryanrasmussen on Wednesday July 15, 2020 @09:05PM (#23854543)
one time I went to an interview and they had a laptop ready with something for me to do. This guy had some insanely powerful glasses to have the font so small on his computer (considering he was also quite old) and a few other things combined with it being a Windows machine and I'd been off of windows for a couple years made it almost impossible to make it work.
Re:Tech sector job interviews assess anxiety, not software s... by perl4ever on Thursday July 16, 2020 @01:32AM (#23856103)
I like take home tests. Unfortunately, the one time I applied to a place that gave them, and apparently aced it, they wanted to validate it in the interview, by having me program in an environment and language I'd never used before. I get that everybody cheats at everything, but since some employers (all the ones that have ever hired me) hire without any coding demonstration, why can't you just take the risk and trust that a regular interview is enough?
Re:Tech sector job interviews assess anxiety, not software s... by bregma on Thursday July 16, 2020 @07:35AM (#23857902)
No company should trust their employees. The risk of a type II error is too great. To certain kinds of people a type II error is the worst kind of error you can make.
Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @06:44AM (#23857600)
I mean, every other company having a giant hole in hiring policy is not a good reason for them to have it. But them not letting you use tech you're comfortable with is a stupid way to verify.
Re:Tech sector job interviews assess anxiety, not software s... by fendy3002 on Thursday July 16, 2020 @03:36AM (#23856721)
It feels like that the company is lacking a programmer who is decent at communication.

It can be easily solved by asking what is a parts of code do, or how it works and why.

Re:Tech sector job interviews assess anxiety, not software s... by wtetzner on Thursday July 16, 2020 @10:19AM (#23859232)
Why not give the take home test in advance, and then have the candidate explain their solution in the interview?
Re:Tech sector job interviews assess anxiety, not software s... by mark-r on Wednesday July 15, 2020 @10:21PM (#23855050)
I once brought a laptop to an interview. Completely bombed it, because when asked to connect it to a projector I couldn't do it - I'd never used the video output on that laptop before and it was hidden behind a flip-down door that I didn't know about.
Re:Tech sector job interviews assess anxiety, not software s... by joelbluminator on Thursday July 16, 2020 @07:05AM (#23857694)
And that's it? Interviewer saw that as reason enough for you to fail the interview? Be glad you didn't get in!
Re:Tech sector job interviews assess anxiety, not software s... by mark-r on Monday July 20, 2020 @01:53PM (#23900225)
In this case I was being asked to supply an example of a GUI I had worked on in the past, and the relevant program was installed on my laptop and there was no publicly installable version. I don't blame them at all, the problem was entirely mine.
Re:Tech sector job interviews assess anxiety, not software s... by michaelt on Thursday July 16, 2020 @08:39AM (#23858353)
More likely it's a time issue: Every minute spent fiddling with your laptop is a minute not spent on the coding problem that's being used to evaluate you.
Re:Tech sector job interviews assess anxiety, not software s... by rikroots on Thursday July 16, 2020 @09:29AM (#23858745)
I completely bombed an interview because they gave me a laptop but refused to supply a mouse. Plus the laptop touchpad scrolled in the opposite direction to what I was used to. I felt quite sorry for the interviewers who had to sit silent for ten minutes watching me try to copy a function from one file to another.
Re:Tech sector job interviews assess anxiety, not software s... by cutemonster on Thursday July 16, 2020 @11:58AM (#23860294)
Mark and rikroots, I'm curious about how long it took for you to travel to the interview and back
Re:Tech sector job interviews assess anxiety, not software s... by mark-r on Monday July 20, 2020 @01:54PM (#23900237)
Not long at all for me. In fact the company was next door to another place I had worked in the past.
Re:Tech sector job interviews assess anxiety, not software s... by cutemonster on Monday July 27, 2020 @02:39AM (#23962720)
Ok, good it was close
Re:Tech sector job interviews assess anxiety, not software s... by dcow on Wednesday July 15, 2020 @04:05PM (#23850936)
>Maybe we should interview with small take-home tasks to be submitted with some write-ups to test how people research, reason, and write-up problems, rather than writing code on the spot on a whiteboard. ...but maybe that's just me.

I'm a huge fan of giving people tasks that somewhat resemble a real world problem they'd likely encounter or at least aligns categorically with their proclaimed resume feats and more importantly on top of that giving them the same environment they're comfortable working in on a daily basis which might be on a laptop in a quiet room from 6am to 10am in the morning.

However, I'm usually instantly met with the "oh well we don't want to expect too much of our interview candidates" mentality as if asking them to do a "take home" (rather than telling them to figure out how to take a day off of work for an onsite panel) is somehow grotesquely disrespecting their time and would make the company look bad if the broader community even got a whiff that it had been considered. I'm so confused. People easily identify that white-boarding interviews suck for more than just the interviewee. And yet any time a solution is proposed that involves doing something other than putting the candidate in a room in front of a whiteboard for an hour, it's shot down.

I've concluded it's a generational thing and the problem won't be fixed until we get a wave of hiring managers that weren't schooled on the Google interview process. But, also note it's a self perpetuating issue too so :shrug:.

Re:Tech sector job interviews assess anxiety, not software s... by Sivart13 on Wednesday July 15, 2020 @04:39PM (#23851386)
"Take home" questions are heavily biased in favor of the employer because they're not required to put anything on the line.

An asynchronous test is definitely more flexible for all parties, but it also means the employer can more forward with far more interviews than they would be able to do in person. Leading to more candidates wasting their time doing nonsense work when they have proportionally less of a chance of getting the job.

Possibly I'm just bitter because of the time I spent 4 hours on a take-home only for the company to ghost me (name-and-shame: Instacart). But at least for in-person interviews they have to buy you lunch before the ghosting can occur.

Re:Tech sector job interviews assess anxiety, not software s... by pmiller2 on Wednesday July 15, 2020 @09:10PM (#23854576)
Speaking of Instacart, I scheduled an interview with them via interviewing.io, which I was told was a "technical chat," designed to get to know a little about me, and to answer any questions I might have. I had qualified for the interview by scoring well enough on phone screens on interviewing.io, so, this technical chat was supposed to be followed by a real, actual coding interview.

Guess what? It wasn't. They rejected me as soon as I de-anonymized to allow them to see my resume.

Re:Tech sector job interviews assess anxiety, not software s... by heavyset_go on Wednesday July 15, 2020 @08:32PM (#23854312)
> Possibly I'm just bitter because of the time I spent 4 hours on a take-home only for the company to ghost me (name-and-shame: Instacart).

Arthena, a Y Combinator funded company, did this to me. It truly was a waste of time.

Re:Tech sector job interviews assess anxiety, not software s... by sitkack on Wednesday July 15, 2020 @10:50PM (#23855209)
Take home interviews should be paid, like 200$ and not require more than 4 hrs.
Re:Tech sector job interviews assess anxiety, not software s... by swiftcoder on Wednesday July 15, 2020 @11:57PM (#23855622)
They should really be paid at the comp rate of the position you are hiring for (which is... a lot more than $50/hour for the Bay Area employers who have given me take-home interview problems).
Re:Tech sector job interviews assess anxiety, not software s... by zebnyc on Thursday July 16, 2020 @12:24AM (#23855752)
Agreed. I am quite disillusioned by take home exams / online hackerrank style tests.
Re:Tech sector job interviews assess anxiety, not software s... by bearish on Thursday July 16, 2020 @02:50PM (#23862410)
You got lucky. Arthena is a mess. Super disorganized and doesn't treat their people well.
Re:Tech sector job interviews assess anxiety, not software s... by heavyset_go on Thursday July 16, 2020 @04:19PM (#23863391)
So I've heard. I only went through with it because I have a good rapport with one of their employees who recently left for those reasons.
Re:Tech sector job interviews assess anxiety, not software s... by noisy_boy on Thursday July 16, 2020 @10:39AM (#23859416)
Worst for me was for Rakuten when they asked to basically implement a complete ETL pipeline to populate a mini-datawarehouse. It was easily more than a week's worth of 2 hours per day work that was supposed to be done within a week and worse, they didn't even bother to provide feedback.
Re:Tech sector job interviews assess anxiety, not software s... by jackcosgrove on Wednesday July 15, 2020 @10:38PM (#23855139)
The worst experience I've had with a take home problem was when the interviewer did not even run the program I submitted. As I explained the solution it became clear that the interviewer had not even looked at or run the program. It would have been easy, it was in Python.

To top it off the interviewer then sprung a surprise leetcode problem on me that had to work and was required to be written in a language ill-suited to the task. I bombed it and the interview ended. No one ever even ran my submitted program.

Re:Tech sector job interviews assess anxiety, not software s... by monksy on Thursday July 16, 2020 @09:37PM (#23866056)
If you think that's bad. I did my code submission tested the crap out of it. Then found out that the person "couldn't run it". We had a back and forth conversation about it. I even created a docker test bed with the right environment.

mvn clean package worked.

Turns out the guy was running mvn exec:java.

Re:Tech sector job interviews assess anxiety, not software s... by ccajas on Wednesday July 15, 2020 @07:28PM (#23853730)
>"Take home" questions are heavily biased in favor of the employer because they're not required to put anything on the line.

Not to mention it doesn't test the collaboration aspects of real work. Imagine doing your job but you're not allowed to talk to your teammates in case of a blocker. How are we doing our jobs here?

But when it comes down to actually starting them, I will always pass if they come before any interviewing round. You don't yet have a stake in the process.

Re:Tech sector job interviews assess anxiety, not software s... by cutemonster on Thursday July 16, 2020 @12:01PM (#23860325)
And maybe excludes short of time people taking care of kids? Maybe more often women
Re:Tech sector job interviews assess anxiety, not software s... by voltagex_ on Wednesday July 15, 2020 @08:28PM (#23854280)
The "easy" fix for this is to pay the candidate for the time spent on the take-home.
Re:Tech sector job interviews assess anxiety, not software s... by pmiller2 on Wednesday July 15, 2020 @09:11PM (#23854594)
That has the down side of some potentially sticky legal issues. For instance, people on visas can't do paid work for any company other than the one sponsoring them. It introduces a small annoyance at tax time, as well.
Re:Tech sector job interviews assess anxiety, not software s... by aprdm on Wednesday July 15, 2020 @10:09PM (#23854974)
You could ask them to name an institution for you to donate money to. It would at least be something to make the world better :)
Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @06:56AM (#23857655)
This is actually not a bad idea. As a candidate, it still gives me the assurance that they aren't just throwing out these tests to 1000 applicants.
Re:Tech sector job interviews assess anxiety, not software s... by quadrifoliate on Wednesday July 15, 2020 @04:25PM (#23851203)
> However, I'm usually instantly met with the "oh well we don't want to expect too much of our interview candidates" mentality as if asking them to do a "take home" (rather than telling them to figure out how to take a day off of work for an onsite panel) is somehow grotesquely disrespecting their time and would make the company look bad if the broader community even got a whiff that it had been considered. I'm so confused. People easily identify that white-boarding interviews suck for more than just the interviewee. And yet any time a solution is proposed that involves doing something other than putting the candidate in a room in front of a whiteboard for an hour, it's shot down.

I would be (and have been) one of those people. Why? In short, likely because your take-home tasks are tedious, boring, and unrepresentative of real-life work. They are not whiteboarding, but they aren't necessarily any better.

I have done take homes as a candidate, and also have reviewed them on the hiring side. Most of the time, as a candidate, any take home I have done has been wasted time. Nothing I feel like I could count as a significant contribution, or something I could add to my resume. Take homes usually have some boring cookie cutter problem, with your most nitpicky code reviewers as the judges. Or it's something that's grotesquely oversize that's expected to be done in two hours (hedging with "but feel free to use up more time if you want"). As a reviewer, I see that it also leads to candidates doing ridiculous things like overusing decorators or metaclasses in an attempt to impress the reviewers.

Honestly, as a candidate, I would be 100% satisfied with a bitesize fix to an open source library that your company maintains, or even a bitesize fix to a closed source library under contract. Or pair the candidate with an employee who is working on a real, minor task at your company, and let the candidate "drive". Give me something real to do, not some contrived situation about an ordering system or building the next Twitter.

My mini-conspiracy theory about this is that most companies are so embarrassed about their codebases and internal process that they don't let prospective employees look at them until after they are hired.

Re:Tech sector job interviews assess anxiety, not software s... by heavyset_go on Wednesday July 15, 2020 @08:22PM (#23854212)
> Honestly, as a candidate, I would be 100% satisfied with a bitesize fix to an open source library that your company maintains, or even a bitesize fix to a closed source library under contract. Or pair the candidate with an employee who is working on a real, minor task at your company, and let the candidate "drive". Give me something real to do, not some contrived situation about an ordering system or building the next Twitter.

It can take relative ages to become familiar with a code base, especially a large one, such that you can easily hop in and commit fixes that actually work. I'm not going to spend hours trying to gain context for the code, or deploying and testing it.

The employer is going to ghost 80% of their candidates anyway, and if your fix does work, you just did free work that benefits the company for little to no gain for yourself.

Re:Tech sector job interviews assess anxiety, not software s... by quadrifoliate on Friday July 17, 2020 @08:34AM (#23869811)
> It can take relative ages to become familiar with a code base, especially a large one, such that you can easily hop in and commit fixes that actually work. I'm not going to spend hours trying to gain context for the code, or deploying and testing it.

If none of their codebases are easy to jump into, then that might be a red flag in of itself. One thing I suppose I have been lucky about is that I have worked for companies that have some (albeit very minor) open source presence. I'm not talking new features. IMO a small fix to an existing codebase can be as minor as adding a new CLI flag, or lightly modifying some existing behavior. In many cases, it's what you'd give a new intern as their first fix.

> if your fix does work, you just did free work that benefits the company for little to no gain for yourself.

Well the gain is that you learned to work with a real-life codebase. The thesis of my comment is that take-home projects do not often approximate a real life codebase well.

Re:Tech sector job interviews assess anxiety, not software s... by dcow on Wednesday July 15, 2020 @10:34PM (#23855118)
Interesting. I think we're getting into the implementation of take homes. My proposal is (1) that a take home technical challenge entirely replace any in-person spontaneous white board drills, and (2) that it only be issued to candidates who you're prepared to bring on-site or otherwise schedule to meet the team if they present you a working solution. I'm not advocating for them to be used as a low-pass filter and spammed to all candidates without some mutual engagement first. The expectation of the onsite is that everyone has reviewed your solution and people can discuss why you made certain decisions or how the introduction of new requirements might impact the design. Or you can talk about why you hate kubernetes or the mini pineboard cluster you built.

I disagree that the goal of an interview experience should be to necessarily give the candidate a new portfolio accomplishment. It's cool if it works out that way, for sure, but that can't be the expectation. I'm mostly interested in incrementally improving the status quo which also isn't focused around an interview day that bolsters your portfolio as an engineer.

I will say my favorite and most memorable interview experience was a phone screen followed by a take home to implement bottles and kegs (a fizz-buzz game) in javascript, a language I was/am not proficient in. Come onsite day, we worked though a ux design problem and a database design problem, we pair debugged some ruby code, and then we wrote a multiplayer back-end for my fizz-buzz client, something I'd also never done before. It definitely ticked the "add something to your portfolio" box but also wasn't stressful in the same way flash 1-hr whiteboard sessions are because I was bringing something to the table that we expanded on during the day-long session.

Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @06:58AM (#23857670)
I like this solution a lot, but if they asked you to contribute to a public codebase, you'd be able to tell who the other interviewees were, and how many of them you were up against.
Re:Tech sector job interviews assess anxiety, not software s... by UnFleshedOne on Wednesday July 15, 2020 @05:24PM (#23852087)
A number of small tasks one can do in a few hours _and_ add to one's resume is probably approaching zero...
Re:Tech sector job interviews assess anxiety, not software s... by quadrifoliate on Wednesday July 15, 2020 @06:56PM (#23853396)
I guess portfolio is a better word I might use? Like if you ask me to write an interesting API, I could convert it into a project for future work. If you ask me to write a cool script, I could put it into an existing "interesting scripts" repo I maintain.

I have never seen a take-home project yet that I could do this with. Also they come with scary "You may not show this to anyone else, ever!" disclaimers which are more off-putting.

Re:Tech sector job interviews assess anxiety, not software s... by nend on Wednesday July 15, 2020 @05:21PM (#23852034)
I don't like take homes for two reasons:

1) It's less time spent talking with potential coworkers. Which for me, coworkers (and how we work together/get along) determine about 90% of how satisfied I am with my job (assuming pay/benefits are standard).

2) You're still going to require me to take a day off and stand up in front of a whiteboard anyway eventually. Every take home I've done is an early stage filter. The final round is still a whiteboard panel.

Re:Tech sector job interviews assess anxiety, not software s... by hinkley on Wednesday July 15, 2020 @08:30PM (#23854295)
There comes a point in an interview where you're not sure you want the job given what you've seen, and any judgement of the candidate's ability once they've checked out is useless.

You can learn a lot about a person by what questions they chose to ask you, but only if it's not a thing tacked onto the end of a long interview. If they haven't gotten much time to ask you questions, they only have your interview questions to go on. Which you know are not representative of the kind of work you do (but then, why are you asking them?)

So because you only ever talked to them about things that could readily be had off the shelf, and this is the only information they have, they can't know if you're bad at interviewing or some psycho who spends all their time reinventing wheels and then demanding that other people be impressed by your insanity.

The chances of the latter are bigger than you think. So if it's down to you or another opening, they'll take the other opening, and then you've wasted everyone's time.

Re:Tech sector job interviews assess anxiety, not software s... by triztian on Wednesday July 15, 2020 @07:03PM (#23853464)
Oh man I can relate, I once took a home project which took around 6hrs and then was subsequently invited for a full day of white-boarding with 10 different people throughout the day.

Didn't hit it off with the last interviewer so it was a no-go.

If a take-home is required I'd at least expect a code review over it and focus the rest of the interview process on soft skills rather than trivia questions that are answered essentially by the take-home exercise.

Re:Tech sector job interviews assess anxiety, not software s... by dcow on Wednesday July 15, 2020 @09:11PM (#23854593)
This is exactly the solution I'm imagining. You do a take home after the initial soft screen(s) but prior to coming on-site. Onsite the focus is on the work you did for the take home--discussion like "why did you model X that way?", "if a new requirement Y was added, how would it impact the design", etc. And of course all the normal soft talk and cultural stuff. Just don't put them in front of a board and ask them to solve something under pressure, please.
Re:Tech sector job interviews assess anxiety, not software s... by aprdm on Wednesday July 15, 2020 @10:11PM (#23854992)
I had that exactly experience with a start up and it was awesome! They also were very generous in the the time given to solve it (2w).
Re:Tech sector job interviews assess anxiety, not software s... by pmiller2 on Wednesday July 15, 2020 @09:14PM (#23854608)
Ten people? 10?! I guess if it's really 5 slots with 2 interviewers (though that has its own set of disadvantages, on both sides), I guess. But, that just sounds like a distressingly long day.
Re:Tech sector job interviews assess anxiety, not software s... by triztian on Thursday July 16, 2020 @02:36AM (#23856420)
It was, 5 meetings including lunch. Each meeting had at least 2 interviewers and I had lunch with my prospective manager and another senior peer.

  1. 2 pms - collab and project management questions.
  2. Trivia Q&A with 2 devs and tech projects
  3. Lunch with Dir. Eng, and senior dev.
  4. Whiteboard leetcode with A researcher and a junior dev.
  5. Systems design with Dir. Eng and a senior devops
  6. Chat sessionr for questions with VP of Eng.
Needles to say I was burn out on the systems interview after having been in interviewing mode all day and the interviewers were definitely mentally drained, nitpicking on a lot of low leve elements on a systems design task.
Re:Tech sector job interviews assess anxiety, not software s... by bllguo on Wednesday July 15, 2020 @06:19PM (#23852957)
2. is the biggest thing for me. Exactly the same experience. I would be happy with take-homes if companies actually trusted them. The biggest reason I'm willing to do them is to avoid the whiteboarding.

Of course from their perspective I could be getting someone else to do it for me or something. Or maybe the take-home leaked (which becomes more probable as the company grows).

Re:Tech sector job interviews assess anxiety, not software s... by doteka on Wednesday July 15, 2020 @06:33PM (#23853132)
I’m surprised this is your experience.

At my current employer, that’s exactly how we approach hiring. I send the candidate a take-home that broadly covers the basic tech skills they need to be effective in their role (implement a simple test api, some questions about scaling web apps in production, and a possible architecture sketch for a described system). It’s expected to be around 4 hours of work. If they pass that, the interview is free of technical topics - we just talk about your past experience and assess whether you’d be a good fit for the team.

Is this not how other take-home assignments work?

Re:Tech sector job interviews assess anxiety, not software s... by pmiller2 on Wednesday July 15, 2020 @09:16PM (#23854623)
I can confirm this has also been my experience. I have spent multiple hours on take-home tests only to be ghosted. In no case have I ever been able to skip the whiteboard hazing because I did well on a take-home.

I'm interested to know who your employer is, if you're comfortable saying.

Re:Tech sector job interviews assess anxiety, not software s... by doteka on Saturday July 18, 2020 @04:50AM (#23880047)
Not comfortable sharing my exact employer, but it’s a small biotech in the Netherlands.
Re:Tech sector job interviews assess anxiety, not software s... by quicklyfrozen on Wednesday July 15, 2020 @08:28PM (#23854276)
I've never seen it done that way -- just used as a pre-screen for an onsite that is the typical code-on-a-whiteboard scenario. Had one place that used an at home test + a one hour task in the office on a laptop they provided + several more whiteboard sessions (so long they split it over 2 days).
Re:Tech sector job interviews assess anxiety, not software s... by bllguo on Wednesday July 15, 2020 @06:51PM (#23853337)
I too think that's how things should work if a take-home is involved, but I haven't experienced this yet. There are times I've gotten past the take-home and then had to do a technical _phone_ interview after - not even an onsite.
Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Thursday July 16, 2020 @07:05AM (#23857695)
How many candidates do you have doing a take-home per position?
Re:Tech sector job interviews assess anxiety, not software s... by doteka on Saturday July 18, 2020 @04:48AM (#23880044)
Roughly 5-10 I’d say. We are able to weed out a good chunk in the phone screen (which is done by me or another engineer, not a recruiter)
Re:Tech sector job interviews assess anxiety, not software s... by jwikstrom on Wednesday July 15, 2020 @06:49PM (#23853322)
Yes, it should be. This is how we do it
Re:Tech sector job interviews assess anxiety, not software s... by pmiller2 on Wednesday July 15, 2020 @09:21PM (#23854668)
Do you feel comfortable saying who "we" is?
Re:Tech sector job interviews assess anxiety, not software s... by ccajas on Wednesday July 15, 2020 @07:03PM (#23853460)
> People easily identify that white-boarding interviews suck for more than just the interviewee. And yet any time a solution is proposed that involves doing something other than putting the candidate in a room in front of a whiteboard for an hour, it's shot down.

Most people take issue with the repetition of similar tests and evaluations for multiple companies. If A, B, and C were considered different stages of a technical interview, candidates are repeating A and B too often, whereas applying A and B once would suffice for several companies.

It's a problem that is realized when opportunity cost is compounded when interviewing multiple companies and it's not something that a single company alone can fix. A more "Docker-ish" solution where using one of "A" to lay the foundation for many company interviews (and not just the ones expecting you to practice Leetcode) might curtail the problem of using more time and resources than necessary.

But more than that, there is also a cognitive dissonance with the beliefs of how to reform a broken system. Programmers largely oppose industry-wide regulation while also expecting the vetting process to be more consistent and make more sense. This is a tough nut to crack because we seemingly want to have it both ways.

Re:Tech sector job interviews assess anxiety, not software s... by derefr on Wednesday July 15, 2020 @07:39PM (#23853845)
> Programmers largely oppose industry-wide regulation

...of programming (because the regulation would never be able to catch up to the state of the art), sure. Of HR practices? I don't think I've ever heard an engineering lead lament that their company's restrictive HR practices prevent them from testing candidates the way they want.

> and it's not something that a single company alone can fix

Sure they can: micro-credentials. Someone needs to be the CompTIA of tiny programming challenges, where you prove once-and-for-all (in a proctored situation) that you can solve FizzBuzz or whatever, and get that fact recorded in some database.

Hopefully, candidates could then put their MicroCredentialsCorp username on their resumes or into companies' application forms or what-have-you; and then first-stage HR automation (the same kind that matches resumes to keywords) could run through a bunch of RESTful predicate-endpoints checks like https://api.example.com/u/derefr/knows/fizzbuzz (which would return either a signed+timestamped blob of credential JSON, or a 404.)

Hopefully also, allow anyone to create a test (maybe have the end of that HTTP route just represent the username+repo of a GitHub repo where an executable test for the micro-skill lives?), such that these micro-credentials can live or die not by central supply, but rather by market demand.

(I think someone suggested doing this with a blockchain once, but there's really no need for that.)

Re:Tech sector job interviews assess anxiety, not software s... by marcosdumay on Wednesday July 15, 2020 @10:31PM (#23855102)
Unfortunately, nobody has cracked up the problem of how to do credentials without creating a conflict of interest in favor of one of the parties (ok, maybe only in favor of the candidate). Or at least, nobody has created a way to communicate that lack of conflict of interest widely.
Re:Tech sector job interviews assess anxiety, not software s... by vonmoltke on Thursday July 16, 2020 @11:34AM (#23860029)
> Someone needs to be the CompTIA of tiny programming challenges, where you prove once-and-for-all (in a proctored situation) that you can solve FizzBuzz or whatever, and get that fact recorded in some database.

I don't think any of the major companies would accept such a solution. I mean, they make people who already passed their own interviews once re-interview if they leave and come back or apply again too long after they pass and decline. If a company isn't willing to trust its own interview process as a once-and-for-all test, why would they even consider doing so for a third party test?

Re:Tech sector job interviews assess anxiety, not software s... by xwolfi on Thursday July 16, 2020 @12:36AM (#23855810)
Heh, another thing is variable salary on a test period. Like how I was recruited out of uni, on a 6 month cheap internship barely paying a rent, with 0 commitment from the company to keep me. Long enough to evaluate me, see me contribute, teach me part of the sytem, not long enough to "exploit" me.

We could scale this to 3 months on 80% salary (whatever the company is comfortable spending on throwaway) with the full salary after the test period, with maybe even back pay and a little ceremony to make it a big deal. That would kick my ass for three months, cost me nothing long term, put a big smile in my face and let any company hire me without 15 interviews.

Re:Tech sector job interviews assess anxiety, not software s... by ornornor on Thursday July 16, 2020 @02:13AM (#23856307)
Isn’t that exactly what probation is for, although for full salary? To evaluate the new employee and lay them off if they don’t meet the requirements? Disagree with the discounted salary, if 20% for three months is going to break the bank, the company probably won’t be around much longer anyway.
Re:Tech sector job interviews assess anxiety, not software s... by pmiller2 on Wednesday July 15, 2020 @09:24PM (#23854689)
This is theoretically what TripleByte is supposed to be. My experience with them was pretty horrendous though.
Re:Tech sector job interviews assess anxiety, not software s... by Deestan on Thursday July 16, 2020 @04:40AM (#23857002)
We do take-home, and tell the candidate to not use more than 4 hours on it and deliver it any time during the next week (this is to respect their time). The testing system logs their activity, so if someone decides to spend two days on it, we'll know. Not a problem as such, but it raises our expectations of the delivery. :)

Next stage is a technical interview of 60-90 minutes where we a) try to find what their strengths are and how deep they go, and b) ask them to explain how they solved the take-home.

b) is critical. Of course it tests for the skill that is critical in teamwork: communication ability, but it also lets us catch cheaters.

After this it's HR and reference checking.

It's worked well so far.

[dead]
Re:Tech sector job interviews assess anxiety, not software s... by collyw on Thursday July 16, 2020 @08:29AM (#23858281)
Yes, I did one recently, got told it should take 2 or 3 hours, so I spent a morning on it.

Got failed for a number of the most trivial reasons - it didn't meet PEP 8 (it was two white space errors, as I didn't have pep installed on my home laptop, so I missed them).

A load of stuff about not mocking tests (setting up that would have doubled the scope of the project). The spec and said if you don't have time, then describe what you would have added in terms of tests - which I did). I did provide the most difficult to implement integration test to prove the system worked.

There was a complaint providing an HTML webpage rather than a JSON endpoint (the spec described it as a "page" and said not to bother with styling - so implied that it was HTML). Plus a couple of other equally ridiculous complains.

Don't waste your time with takehome tests without speaking to someone in engineering first. Sennder is the company if anyone else wants to avoid, I think we should be naming and shaming such companies.

Re:Tech sector job interviews assess anxiety, not software s... by bananaface on Friday July 17, 2020 @02:55AM (#23867887)
Good God. That sounds awful.
Re:Tech sector job interviews assess anxiety, not software s... by yahyaheee on Thursday July 16, 2020 @08:44AM (#23858397)
Yes, if an employer doesn’t understand how to look at my GitHub then they aren’t worth my time.
Re:Tech sector job interviews assess anxiety, not software s... by vsareto on Thursday July 16, 2020 @08:06AM (#23858126)
> Today, for example, I updated our firewall rules, updated some Java business logic, tweaked some javascipt and PHP on the site, reversed an odd macro email-phishing virus we got, configured a new RDS server VM for clients, and updated some network GPOs. 20 years ago, I would have never worked on ALL of those things in the same week - let alone the same day.

If you're happy, then awesome, but the reason you would have never worked on all of those things before is because companies are loading up more responsibilities onto technical people to cut down on costs.

You carry the skills of 3 roles from 10 years ago: Sysadmin, developer, and reverse engineer, and yet you're likely only being paid for one.

Re:Tech sector job interviews assess anxiety, not software s... by TallGuyShort on Thursday July 16, 2020 @10:47AM (#23859510)
Unless they're getting 120 hours of productivity out of him, then no - they're just more in need of fewer generalists than many specialists. Specialization is great, but only if all of the other necessities get covered.
Re:Tech sector job interviews assess anxiety, not software s... by raducu on Thursday July 16, 2020 @09:14AM (#23858637)
I only used clever algorithms maybe, MAYBE a dozen times in 12 years as a java developer.

I know I can, in university I implemented huffman compression(I know there is nothing special about it algorithm-wise) in java and I got the best run-time in 2 series of ~100 students, and by that I mean orders of magnitude better; my runtime was on par with the best C++ programs I could find, and my program could work on arbitrary file size, the fastest C++ program I could find at that time (20 years ago?) loaded everything in-memory. I wrote all the data structures from scratch, using java structures consumed a lot of memory and was way slower.

But the jobs I got in my country as a J2EE developer were much better paying, at that time at least, than any C++/algorithms stuff.

If I was younger, with the same singlemindedness I used to have, I'd absolutely spend 1-2 years tuning my algorithms skills so I could get those sweet FANG job.

Or if I had the ego of my ex submediocre-redneck boss who thought Spring Framework was bullshit, without actually knowing it, and got into programming competitions(only to be butthurt by his results because he did not put in the effort to actually practice algorithms and data structures), again, I'd study hard on algorithms and datastructures.

Or if that was my hobbie -- algorithms and datastructures is 100% a valid hobbie -- but it is simply not my hobbie.

Sure, if I encounter a hard problem, I can look up the best algorithms, copy&paste, modify, optimize and optimize untill I'm satisfied with the result, but there simply is no payoff for me to be an algorithms grand master.

Re:Tech sector job interviews assess anxiety, not software s... by thecrumb on Wednesday July 15, 2020 @05:31PM (#23852187)
This. Last interview I bombed because no one would ever remember what they were asking for in the interview test. I said I'd just google it and then dropped "Never memorize something that you can look up." ― Albert Einstein
Re:Tech sector job interviews assess anxiety, not software s... by frizkie on Wednesday July 15, 2020 @06:46PM (#23853286)
I like this quote, but I think the point comes across better if you rephrase it:

> Never _intentionally_ memorize something that you can look up.

I guess you can't quote Einstein, then.

Re:Tech sector job interviews assess anxiety, not software s... by sitkack on Wednesday July 15, 2020 @10:52PM (#23855221)
Re:Tech sector job interviews assess anxiety, not software s... by Cthulhu_ on Thursday July 16, 2020 @05:30AM (#23857252)
Yup, the tasks that you repeat often enough will get stuck in memory.

In theory anyway, I always have to look up how to remove a remote git branch or how to do the euro sign on a Mac.

Re:Tech sector job interviews assess anxiety, not software s... by erichurkman on Wednesday July 15, 2020 @08:43PM (#23854384)
I have a standard preface to start a live coding or technical session with a candidate to account for this. I look up stuff all the time, and expecting candidates to not do so is cruel.

> We're going to go through a few technical exercises together. It's open book, open documentation, use whatever resources you would normally use — though please do not copy and paste complete solutions from StackOverflow and guess&check to reach our solution. It's open language, so please select whatever you're strongest in. If it is a language I am not familiar with, I will ask questions. Some of those questions may be naive. Use whatever editor and environment you're most comfortable in. Please ask questions of me. There is no specifically correct answer, though your solutions should hit a level of baseline correctness. These problems are designed to mirror some typical day-to-day problems you might face on the job; we're not looking to test rote memorization of _Hacking the Coding Interview_. We want working code, but some aspects or edge cases may remain in pseudocode as we iterate on these problems together. There are no designed 'gotcha' moments in these exercises, and if you feel there may be a 'gotcha' moment, ask clarifying questions. I would rather you ask questions than struggle through a solution.

It works well for modern development.

Re:Tech sector job interviews assess anxiety, not software s... by pmiller2 on Wednesday July 15, 2020 @09:04PM (#23854532)
Maybe I should start saying (as a candidate):

> I understand you want to test my programming ability, and in order to do that, we should do it under conditions as close to real world as possible. Because I don't know every algorithm in existence, I'm going to use the internet like I do normally to look stuff up. And, I'm going to use my own laptop that I've brought here. Is that cool?

Not really, of course, but I'd like to.

Re:Tech sector job interviews assess anxiety, not software s... by Stratoscope on Wednesday July 15, 2020 @10:20PM (#23855043)
Yes, you should be saying exactly that.

Just do it ahead of time instead of on the spot. You're probably emailing back and forth with a recruiter. Send them the exact comment you posted here, and ask that they make sure that your interviewers know about it.

It's amazing how little things can throw you off your game. I had a couple where they handed me a MacBook set up for "traditional" touchpad scrolling (where it works like a scrollbar instead of like a touchscreen).

Every time I tried to scroll it went the wrong direction!

Of course in an interview we aim to please, so I lived with it for a few minutes, but finally asked "Do you mind if I change your touchpad settings?" Of course that led to a brief discussion on the virtues of traditional scrolling.

This was not only precious time wasted, but a minor blow to my self-confidence. Imagine you tried to drive a car or fly an airplane and they had sneakily reversed the steering wheel or yoke and pedals! You would be lucky to survive.

In fact this is why the preflight checklist for a light plane always includes "controls free and correct".

Re:Tech sector job interviews assess anxiety, not software s... by hinkley on Wednesday July 15, 2020 @07:59PM (#23854009)
Why would I trust my memory on how a utility works with an empty set when I can just look it up?

So many languages, frameworks, and libraries copy the same functionality and every single one does it differently.

The cost of looking it up is a little bit of humility. The cost of not doing so is a small chance of spectacularly breaking something for my entire team. Suck it up, apply the Precautionary Principle, and most importantly, get over yourself.

Re:Tech sector job interviews assess anxiety, not software s... by Haunted_Cabbage on Wednesday July 15, 2020 @11:44PM (#23855532)
Most of my job depends on analyzing the runtime complexity and memory complexity. It's my passion. I don't memorize any language, but boy do I understand the small complexities and seemingly trivial interactions that have profound implications. When I interview, I ask them about what they enjoy about programming and how they approach problems that they're stuck on.
Re:Tech sector job interviews assess anxiety, not software s... by ekuep on Thursday July 16, 2020 @01:17PM (#23861203)
This makes me very nervous - I agree it is technically possible to do that volume of change in a short amount of time now, but I don't think it is possible while still accounting for QA / testing and documentation. That is a massive amount of change in a small time without any team oversight
Re:Tech sector job interviews assess anxiety, not software s... by mihaaly on Thursday July 16, 2020 @05:38AM (#23857293)
I believe we should program the way you do nowadays. This is what people praised in the past so much as code reuse. This is what research people call standing on the shoulder of giants. We should reuse other's wisdom (well, you need to filter what wisdom is and what not first, of course, which is not that straightforward itself). Most profession work on pre-manufactured components for the sake of... well, many things (its a story of its own)!

Do it smartly, know what that component is, if that is good for the purpose, if that is the best for the purpose, its trade-offs, but that should be the primary way. With fallback to reinventing the wheel.

We still will have to provide custom built solutions from scratch from time to time (in fact in a lot of cases, the CS is still not mature enough for proper higher level operations) but better to rely on tested and ready pieces.

Recruiters seems to have no clue how to select people for the particular position therefore they go back to the ancient times of CS like this dumb whiteboard thing. I also felt like they seems to expect that custom made employees exists out there and they only need to wait for the perfect candidate, not really expecting someone to learn while the continuous learning is the industry norm, the inherent requirement. I've seen positions remained unfilled for more than 6 months sending away partially fitting experienced candidates.

I failed at technical interview where you must react instantly and accurately without any help normally available in everyday life (Google). After looong time of programming and learning various approaches I find myself question myself continuously even in fundamental matters. Or is it something by age? Nevertheless while being young, self confident and energetic and the Google style of programming was far from invented my fingers were spitting huge amount of brilliant code that did not work until I fixed all the stupid mistakes I made, which took frustrating amount of time. Coding gives a good amount of humility by showing you that you are to blame in every last cases. Every time! Making mistake, misunderstanding something, not knowing necessary elements, misjudging aspects, not checking the reliability of some component you rely upon, it always comes back to you as the computer will do exactly what you tell it to do, it will always be you. Frustrating. I learned to doubt myself and verify seemingly evident matters which does not play well in whiteboard interviews as you might imagine (in fact once I had mental whiteboard interview, speaking about solutions, how common is oral programming in practice?). This is an unnatural and sinfully inaccurate way of judging how one will work in a position. Due to the constantly changing (improving?) profession and the huge amount of beautiful aspects it entails keeping every bit of detail in head that you can spit out in a second notice is far from being a smart expectation. It happened more than once that the right answer occurred me after walking away from the interview as the knowledge bubbled up of the sea of experiences. Once I told someone that sorry, I never met that technique before just to realize later it was an essential component in a task several years back, I used that quite a lot for that one task.

I did not change position too much (3-8 years spent in one place) but I never been hired based on whiteboard test but by trial tasks or probation period, fulfilling the need of the position (leaving due to dissatisfaction every time). In fact I just met whiteboarding recently and I find it hugely inadequate to judge competency.