Software interviews suck, but they don’t have to.
Thomas Ptacek: The software developer job interview doesn’t work. Companies should stop relying on them. The savviest teams will outcompete their peers by devising alternative hiring schemes. Years from now, we’ll look back at the 2015 developer interview as an anachronism, akin to hiring an orchestra cellist with a personality test and a quiz about music theory rather than a blind audition. Being good at navigating hiring processes requires a basket of skills that isn’t correlated with job performance.
An interview with an Agile Coach.
Part 1: Part 2: Some gems: They were posted one “sprint” apart. 🤣 “It’s really Waterfall with meetings every two weeks.” “That’s Greg. His birthday is on day 2 of sprint 7.” “We don’t even define requirements until after production.” “I lost my job because I’m a horrible developer. Now I’m an Agile coach.” “Always change. Never finish.” “Folks who don’t have anything valuable to add deserve meetings.” “I’m so used to it, I don’t even hear the Waterfall.
TIL that if your server has even one SQL injection vulnerability, the entire operating system can be compromised. Eye-opening!
Go raised the bar for new language distributions: UTF-8 code Testing, benchmarking, and profiling built in Single command line tool Build tool that leaves code directories clean Package manager Package doc browser Standard code style and formatter Fast builds Language spec with grammar and thorough library documentation Uniform, batteries-included standard library Concurrency support and automatic parallelism, sync and atomic libs, race detector Interfaces, not inheritance Vendoring support Cross compilation Static linking only for simple deployments Tabs, not spaces No semicolon line terminators Trailing commas in lists to minimize diffs Static types Default values for uninitialized variables Built-in comparisons and hashing Safety (e.
My Golang program to check whether Sudoku solutions are correct. It works for any valid Sudoku board size (1x1, 2x2, 4x4, 9x9, 16x16, etc.)
Jeff Dean: 0.5 ns L1 cache reference 5 ns Branch mispredict 7 ns L2 cache reference 25 ns Mutex lock/unlock 100 ns Main memory reference 3,000 ns Compress 1K bytes with Zippy 20,000 ns Send 2K bytes over 1 Gbps network 250,000 ns Read 1 MB sequentially from memory 500,000 ns Round trip within same datacenter 10,000,000 ns Disk seek 20,000,000 ns Read 1 MB sequentially from disk 150,000,000 ns Send packet CA->Netherlands->CA
How well would the late Nobel-Prize-winning physicist Dr. Richard P. Feynman do in a technical interview at a software company?
It’s a shame how much software is rewritten all the time. Incompatibilities of language, interface, and execution platform and the proprietary nature of most software development seem to have doomed us to forever reinvent the software wheel. The number of linked list implementations out there must be staggering. In a perfect world, someone would decide a linked list would be a nice thing and implement it, and then everyone else would use that one implementation from then on.