Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
IT

Do Engineering Managers Need To Be 'Technical'? (increment.com) 155

Will Larson has been an engineering leader at Digg, Uber, and Stripe, and last May published the book An Elegant Puzzle: Systems of Engineering Management.

Recently he wrote a thoughtful essay asking, "Do engineering managers need to be technical?" exploring the industry's current thinking and arriving at a surprisingly thoughtful conclusion:
Around 2010, with Google ascendant, product managers were finding more and more doors closed to them if they didn't have a computer science degree. If this policy worked for Google, it would work at least as well for your virality-driven, mobile-first social network for cats... [N]ow the vast majority of engineering managers come from software-engineering backgrounds. This is true both at the market-elected collection of technology companies known as FANG (Facebook, Amazon, Netflix, Google) and at the latest crop of technology IPOs, like Fastly, Lyft, and Slack.

While engineering management has not prioritized its own measurement, there is evidence that expert leadership works in some fields... If this is the case, modern technology companies are already well along the right path. This is where the story gets a bit odd. If we know that managers with technical skills outperform others, and we're already hiring managers with backgrounds as software engineers, why are we still worrying whether they're technical? If these folks have proven themselves as practitioners within their fields, what is there left to debate? This is an awkward inconsistency. The most likely explanation is that "being technical" has lost whatever definition it once had...

It's uncomfortable to recognize that a distinction I relied upon so heavily for so long no longer means anything to me, but comfort has never been a good reason to get into management.

With the term "not technical" unusable, I instead focus on the details. Is there a kind of technology that a given person is not familiar with? Were they uncomfortable, or did they lack confidence when describing a solution? Would I care about them knowing this detail if I didn't personally know it? Given their role in and relation to the project, was the project's success dependent on them knowing these details...?

Looking forward to the next 30 years of management trends, only a few things seem certain: Managers should be technical, and the definition of technical will continue to change.

Open Source

Linus Torvalds Calls Blogger's Linux Scheduler Tests 'Pure Garbage' (phoronix.com) 191

On Wednesday Phoronix cited a blog post by C++ game developer Malte Skarupke claiming his spinlocks experiments had discovered the Linux kernel had a scheduler issue affecting developers bringing games to Linux for Google Stadia.

Linus Torvalds has now responded: The whole post seems to be just wrong, and is measuring something completely different than what the author thinks and claims it is measuring.

First off, spinlocks can only be used if you actually know you're not being scheduled while using them. But the blog post author seems to be implementing his own spinlocks in user space with no regard for whether the lock user might be scheduled or not. And the code used for the claimed "lock not held" timing is complete garbage.

It basically reads the time before releasing the lock, and then it reads it after acquiring the lock again, and claims that the time difference is the time when no lock was held. Which is just inane and pointless and completely wrong...

[T]he code in question is pure garbage. You can't do spinlocks like that. Or rather, you very much can do them like that, and when you do that you are measuring random latencies and getting nonsensical values, because what you are measuring is "I have a lot of busywork, where all the processes are CPU-bound, and I'm measuring random points of how long the scheduler kept the process in place".

And then you write a blog-post blamings others, not understanding that it's your incorrect code that is garbage, and is giving random garbage values...

You might even see issues like "when I run this as a foreground UI process, I get different numbers than when I run it in the background as a batch process". Cool interesting numbers, aren't they?

No, they aren't cool and interesting at all, you've just created a particularly bad random number generator...

[Y]ou should never ever think that you're clever enough to write your own locking routines.. Because the likelihood is that you aren't (and by that "you" I very much include myself -- we've tweaked all the in-kernel locking over decades, and gone through the simple test-and-set to ticket locks to cacheline-efficient queuing locks, and even people who know what they are doing tend to get it wrong several times).

There's a reason why you can find decades of academic papers on locking. Really. It's hard.

"It really means a lot to me that Linus responded," the blogger wrote later, "even if the response is negative." They replied to Torvalds' 1,500-word post on the same mailing list -- and this time received a 1900-word response arguing "you did locking fundamentally wrong..." The fact is, doing your own locking is hard. You need to really understand the issues, and you need to not over-simplify your model of the world to the point where it isn't actually describing reality any more...

Dealing with reality is hard. It sometimes means that you need to make your mental model for how locking needs to work a lot more complicated...

Comment Re:Tiresome (Score 1) 782

The only object you're forced to use in Java is your main class. Everything subsequent to that can be procedure. It'll just be hell to manage if you're doing anything complex, and you'd be cutting off your nose to spite your face avoiding all the frameworks that add features you might want to use... because y'know, you might not want to write a web server application by hand from scratch.

Comment Re:This isn't a yes or no thing (Score 1) 303

We are beginning to see some programming paradigms that don't require much typing. They're often called 'low code' methods. One example that I'm somewhat familiar with is Azure Logic Apps (I'm sure AWS and other cloud providers have their own species of similar things and they may even be better that Azure, I'm just not familiar with them). Most of the programming is done with 2D blocks, and pull-down menus. There is still some typing, but almost zero, compared to the many thousands of lines of code I've been involved in writing over the previous 20 years.

Comment Re:There are faster solutions. (Score 1) 303

I must say, language isn't composed of words made up of letters. It is a stream of sounds that we choose to represent on paper as patterns of letters.
Ideographic languages (Chinese, for example) use symbols (sometimes made up of multiple parts) to represent concepts and things, which is the reason you can read written Chinese aloud in several different spoken languages.
Latin letters do descend from ideographic symbols if you go back far enough, but they're not used that way anymore.
We could choose to write spoken language as a series of symbols that represent individual phonemes. (https://en.wikipedia.org/wiki/Phonemic_orthography) And some modern languages do have a high ratio of phonemic-to-graphemic representation - in other words the phonemes are well represented in the symbols, and vice versa (Welsh is a good example). But English is most definitely not one of them!
(personal example - as I know the pronunciation rules for Welsh, I can read Welsh text aloud, or sing Welsh songs from written lyrics just fine without understanding the language very well.)

Comment Wrong target (Score 0) 163

Benchmarks are targeted at the hardware, they do all they can to be isolated from the OS, so any OS changes will have limited effects upon outright graphics or CPU performance. However, user-space applications interface with the hardware via the OS, and so OS updates have every opportunity to selectively 'negatively optimise' the user's experience of using the device.

And what incentive to Apple have to positively optimise the user experience on an iPhone 5 now? None whatsoever.

Comment Re:Irrelevant (Score 1) 187

But if you check her own wiki page ...
"In 2005 she became Vice President of Search Products and User Experience. Mayer held key roles in Google Search, Google Images, Google News, Google Maps, Google Books, Google Product Search, Google Toolbar, iGoogle, and Gmail." (with a citation for a 2008 article)

Comment Re:What a load of CS-degree-holding crap (Score 2) 397

In that case, you're doing it wrong.

Programming is a creative, problem-solving exercise involving predictive thinking and failure mode effects analysis. All of which are 'hard' problems in the AI sphere, so they're not about to be automated any day soon. Also, given that description, there's no wonder your average mouth-breather can't learn to program effectively. Most of them haven't had a creative thought in their entire lifetime. (doubly so for politicians like Yvette Cooper)

Comment Do what you say on your tin (Score 1) 477

My terms and conditions of employment say 37.5 hours per week, plus reasonable hours outside 9 - 5.30pm if necessary (where 'reasonable' is defined between me and my line manager). So, I don't check work email outside 9 - 5.30pm, and only a few people at work know my mobile number (I don't have a work mobile, so that's not an issue). Simple as that.

When you're not at work, you're NOT AT WORK! My employer does not own my time. kthxbai

Slashdot Top Deals

Vitamin C deficiency is apauling.

Working...