6 ms·
This is a really good article. There's a quality in strong developers which is difficult to select for in an interview but wildly valuable once they're up and
by joenot443 1y ago
This is a really good article.
There's a quality in strong developers which is difficult to select for in an interview but wildly valuable once they're up and running; maybe the best word is "scrappiness".
When I interview juniors or interns, one of the questions I like to ask is something like this-
"You've got two computer, one Linux one Windows. There's 50gb of files on the Windows machine which need to be moved to the Linux one, but you've only got 1h to do so. What's your strategy?"
Anyone with some experience knows it's a bit of a silly question - there are a tonne of unknowns and countless "correct" answers, but that's just the rub - it's not about the academically optimal answer, but about coming up with an answer that would probably work, given the constraints I'd be arbitrarily throwing at them. It's about realizing that the vast majority of decisions we make in software engineering have costs and tradeoffs, and being able to discuss them with a colleague is 10x more valuable than graph traversal.
More than anything, I try to select for people that I know spent a good chunk of their formative years behind the computer, just like many of us did. The maze-traversal skills you learn as a child installing Ubuntu on your parents' computer stay with you forever. Given the option, I'd take the self-taught-indie-dev-state-college-grad over the honor-roll-ivy-league-leetcoder any day.
- qiine 1y agosoOo how do you do it ? ;p
- joenot443 1y agoWell, the answer I love them to start with is asking if they're single-bay computers and if not, why they can't just turn off both machines and stick the HDDs in the same box :) It's also a great signal if they can follow this up by noting that the Windows drive is probably formatted in NTFS so the Linux instance will need drivers to support it. Otherwise, a wired network + SMB/Samba is a fine solution too, though much slower. Even if they just suggest using an external SSD I'd be relatively happy. More than anything, this kind of question is to see what happens when a junior's asked to do something they haven't done before. Any answer but "I don't know" is a good start.
- dmd 1y ago> the Windows drive is probably formatted in NTFS so the Linux instance will need drivers to support it This hasn't been true for decades now, thankfully! Read-only NTFS support has been built into the kernel for a quarter century already (1997, 2.1.74, and a better one in 2002, 2.5.11) - and full read-write support for 4 years now (2021, 5.15).
- pixl97 1y ago>Otherwise, a wired network + SMB/Samba is a fine solution too, though much slower. Robocopy with the MT flag speeds things up if it's lots of files.
- ido 1y agoThese days also directly connecting two computers to each other with a network cable (not via a network, directly plugging each end of the same cable to each computer) will establish a connection (I’m pretty sure it also works with USB cables but the “automatic” might then only work between specific operating systems- it’s been a while since I tried). IIRC last I tried direct Ethernet connecting between a Mac and a Windows pc the other computer appeared as a shared drive and I could simply copy files from it (I probably enabled some sharing option but it was easy to do either way).
- dmsayer 1y agoim glad that my answer was an external drive, and is considered correct.
- rightbyte 1y agoYou'd probably need to put the HD in the other machine. What is the "scrappy" way to do it?
- joenot443 1y agoThat is the scrappy way :) I think sometimes we forget there are plenty of engineers out there whose experience interfacing with a computer begins and ends at the KBM. "Put the HD in the other machine" isn't super obvious to every junior, though I wish it was!
- layer8 1y agoAlso, engineers who only ever worked with non-user-servicable laptops.
- smitelli 1y agoI have been nerd-sniped into conjuring up a less-traveled-path technique: Portable Python on the Windows computer. `python -m http.server`. On the Linux computer, something like `wget -mkp` followed by `find … -delete` to get rid of the index files. (Lots of disks are soldered in nowadays, or the procedure might require multiple M2 slots that the destination mobo might not have. Is your company IT department happy to know their hardware is being disassembled?) I have not benchmarked to see if this would sustain the 120 Mbps the original scenario would require.
- pphysch 1y agoI've done this exact approach and it worked well, it was on LAN so plenty of throughput. I would definitely try this before tearing apart the hardware.
- sdenton4 1y agoOr set up SFTP on the Linux machine, and find whatever Windows crapware that's able to connect to it... Filezilla, maybe?
- tikhonj 1y agoThis is a fun question. But the fact that "move a medium sized file from one machine to another" is still a fun question is also a pretty damning indictment of our industry :P
- blululu 1y agoI would say that the fact that this question is more relevant to actual job performance than ~90% of leet code questions that I have been asked would be an even stronger indictment of the industry.
- 0x000xca0xfe 1y agoGigabit Ethernet is 26 years old and the average home/company network is still at the same level... some new PC motherboards have 2.5G but more often than not switches/routers are still on 1GbE. Crazy how much CPU/GPU performance and storage speed have improved while other things haven't changed at all in decades.
- beyarkay 1y ago(author here) Thanks! I appreciate your kind words. That scrapiness you talk of is interesting, totally agree that there's something there, and it's interesting to think of how to evaluate if someone has it without spending months working with them.
- pcthrowaway 1y agoPick up the Windows machine and place it on top of the Linux machine. The files are now on the Linux machine.
- npodbielski 1y agoDo you have to move it right away? It is not possible to just mount i.e. sftp as disk for the time being and just copy it in the background?
- joenot443 1y agoYou're hired :)