I think it's made a lot of people overestimate their competence and overvalue their 'skill'.
They think being able to Google/SO something is the same as knowing it. Give them a laptop without internet access and most 'developers' wouldn't even be able to get it setup nevermind write 'hello world' from scratch.
Haha, I'd put it slightly differently. It has changed what skills are important to software development. It used to be knowing things cold or being able to look them up in a book was critical (having the right book being a precursor). Now, it is knowing how to search, knowing what terms might be used, and knowing who to trust that is more important for many types of work.
In some ways, it's like the transition between oral history and written history. Both were ways of storing knowledge, but one was far far easier for more folks to access.
Of course, as a dev, it's also important to be able to experiment and test, and the internet has changed that by making computing power easier to access (whether heroku, cloud providers, or even just things like requestbin).
My expectations for people cratered after I began interviewing. It's.. incredible.. how untechnical people applying for highly technical positions can be.
Agreed. It's sad how many SRE candidates are positioning themselves as senior and end up being someone with basically nothing more than surface level knowledge of AWS manages services.
I have a relatively similar approach as the article:
1. I have them walk me through a production dockerfile and explain what is going on (it is not a very complex dockerfile).
2. I have them troubleshoot a broken web server with the most basic scenario (public web server that we run, ec2 with apache2, public ip, no load balancers, no cdn, just a VM serving a static html page on xyz.actualdomain.com).
Things that are broken:
1. NXDOMAIN (I make sure to unset the DNS before the interview)
2. Security group isn't allowing 80/443
3. NACL isn't allowing egress
4. iptables isn't allowing 80/443
5. Apache2 is stopped
6. Apache2 is bound to 127.0.0.1:80/443
7. Self signed TLS
I don't require specific incantations, I know I can't write the iptables insert without looking up an example. But I do expect candidates to know where and what to look for to troubleshoot the entire chain. They are allowed to run any command they want (I'm running it on a screen share). If they get stuck on a portion, they get some hints, then finally they get given the answer to get past it. My goal is not a gotcha, my goal is to see how they attack the problem and if they are at least familiar with how things can break and have guesses at fixes.
Fully a third of interviewees get stuck on NXDOMAIN, which is just shocking to me interviewing people that, on paper, have over a decade of deep Linux and cloud experience.
To me, the scenario I present is basic troubleshooting and something that should be a breeze for most candidates.
While I too have seen strange knowledge gaps in interviews (interviews for JS developers who can't write a function that adds two numbers), the NXDOMAIN issue doesn't surprise me too much.
Maybe it's different for SREs, but as a fullstack web developer, unless you've got a greenfield project, usually someone else sorted out DNS a long time ago. And unless you're working on something that changes DNS a ton, nobody has touched DNS in a long time.
Additionally, I've seen NXDOMAIN way more often as a local machine configuration problem, rather than as a production environment DNS problem.
So if I'm going in to debug a server, but then I see an NXDOMAIN, I could see myself getting stuck wondering just what else in the world is broken. If I was doing the test on my own hardware, I might panic that my machine is in a bad state. If I was doing the test on hardware the interviewer provided, I might start wondering if this is some kind of trick, and I have to debug a broken client and a broken server.
Then again, maybe if I went back to those people who couldn't add two numbers in JS, they'd have a great explanation too :)
For SRE, DNS is a relatively common issue to troubleshoot. Something silently fails in a deploy, someone went mucking around with DNS by hand when they shouldn't have, your local resolver might just be borked.
Specifically for us, since we are a SaaS provider with new customer environments in their own VPCs every week, DNS is something we touch regularly. We touch it waaay more by hand than we should, but that is one of many processes I am fixing and automating to remove the cognitive load and human errors.
You are right that it could be a client issue, but when candidates start down that path and won't let it go, I tell them to pretend they're on a residential internet connection, no corporate shenanigans of any type.
I also expect them to know how to rule out their local machine quickly (they can always run nslookup xyz.actualdomain.com 8.8.8.8). I intentionally use real problems I have encountered so that the scenario is something they can expect to fix(not usually all at once).
I'll probably do a revision on the process next week with a terraform deployment to build the scenario out automatically for each interview. I'll be asking candidates to send me a ssh pubkey before the interview. I need to get another AWS sub-account too so I can issue credentials for the candidate and literally give them the keys and let them drive instead of me.
It feels kinda reminiscent of a "FizzBuzz" type of question, serving as a litmus test or catalyst for an informal conversation rather than anything strictly defined.
I saw a tweet yesterday where someone with 4 years of experience was looking for a Staff Engineer position. One thing the engineering community doesn't lack is confidence in our abilities, even if we aren't there yet.
I've seen interns perform better than "Staff Engineers" at some companies.
Leveling is purely a function of leverage and nothing else. I'm ~4yoe and I find myself in meetings pretty much entirely populated by staff engineers. I've seen kids come right out of waterloo with more skills & knowledge than I think I'll ever manage to get. I've seen people get to Staff at FANG before 27
Pranayama is a science that's thousands of years old. It's much better to go directly to the source than some bastardised commercialised western version:
The important difference between “ancients knew a true thing” and “science” is that ancients also believed a lot of things that were not true and didn’t even have a way to find out which was which.
Sometimes, and non-scientists everywhere do this, the truth is intermixed with the false so deeply that the truth is even used as evidence for the false.
> nothing is true until Western science has proven it as such
That’s not even remotely what I said.
First, true things are true even if no human has learned them.
Second, science is not just western. China, India, Japan, both Koreas all have their own space programs, for example.
Third, the west was nothing special until it started applying (proto-) scientific methods. Miasma, spontaneous generation, demonology, etc. were all common false beliefs that scientific investigation disabused.
Fouth, science doesn’t even try to prove anything true, all it tries to filter out falsehoods to a reasonable likelihood — “Does substance X have an effect?” a non-scientist may imagine a scientist doing some tests and “proving” it works, but the reality is closer to “Null hypothesis means it is indistinguishable from the absence, alternative hypothesis is that it is different from the absence, can we reasonably reject the null hypothesis with this quantity of evidence?”
This last one is key, and why the west isn’t e.g. trying to conquer literal Hell in the name of Jehova etc.
Most ancient cosmology is wrong, for example we know absolutely that the sun is not a chariot pulled across the sky despite that being part of Hindu, Norse, Baltic, Chinese, and Greek theology. This despite Eratosthenes figuring out it was 93 million miles away. Why didn’t they ditch the untrue beliefs?
While the West had four elements, the East had five, because nobody had the tools to look for roughly a hundred, not that it stopped people trying to turn lead into gold (which we can in fact do now, but the ancients didn’t have nuclear reactors).
No microscopes to look for germs to suggest that misama wasn’t how disease spread. Aztec blood sacrifice doesn’t really help maize crops grow or the sun travelling across the sky. Pork and shellfish goes off quickly in hot deserts like the Middle East, but we’ve got refrigerators and health inspectors now.
The story of Noah’s Ark was taken seriously for a very long time, because nobody had any idea how many species existed and how that number was so large it could not possibly fit into a boat that small.
Some ancient Greeks argued that we could see due to light coming out of our eyes, a belief which is (IMO surprisingly) common today: https://pubmed.ncbi.nlm.nih.gov/12094435/
False beliefs are the default. How do you go about eliminating them when they don’t feel any different to true beliefs?
Science is the best answer to that question that we’ve got so far, and when we find a better one we will use that instead, just like we switched from “verification” to “falsification” when we realised verification wasn’t actually possible.
Oh, I will clarify that even today, we believe things that we have no way of proving. We are different from the ancients, but perhaps less different than you might think.
On the contrary, trial and error is a process that relies on thousands of years and many subjects to yield reliable repeatable results. Unless you are implying that Wim Hoff studied pranayama deeply and learned for himself the aspects of the practice which are relevant to him (which he now extols), I don't understand how you think that the trial and error of one man is better than that of generations of men - is it just because the first is a Westerner?
I really can't speak about Pranayama practice, but in general, just because something has been around for 1000s of years doesn't mean it has been improving. Ideas and practices associated with religion tend to be quite static, of the "do this ritual 3 times, not 2, not 4, the number shall be 3 times" variety. With a few exceptions, religions do not tend to encourage trial and error. And yes, I know Buddhism is one of the rare exceptions, at least as taught by the Gautama Buddha... even so, many Buddhist sects today are quite calcified and full of extraneous ritual; the main exception is Zen.
Win Hof claims he spent decades intensely practicing Yoga and refining his techniques. I don't know if that's true, but I absolutely can believe that in principle someone can improve on thousands of years old religious practices doing that.
Yes, there is a similar expression in the Bible to the one you attributed to the buddha 'But test everything. Keep what is good, and stay away from everything that is evil.'. Though in practice, you are right, such advice is often overlooked. My personal encounters with pranayama e.g. reading Iyengar's 'Light of Pranayama' are that the ritual aspects are not strongly emphasised but there is a cultural message designed to keep alive aspects of the tradition which are beneficial - in a way which could be compared to the learning of Kung Fu, where anger is the main emotional enemy of successful practice.
On a side note, I wonder what the general reception amongst the tech community is to Tesla's eccentricities e.g. opening and closing a door thrice before entering a room. Of course, these are mostly seen as expressions of OCD and ignored but I wonder if there isn't any connection between these impulses of Tesla's and his particular genius? I worry that in the process of stripping away superstitions we might accidentally take away more than we desired and lose the authentic character of progress.
Thanks to that "bastardized commercial" version I'd actually learned about Pranayama, which I probably would have never discovered if there wasn't Wim Hof.
Also, Pranayama has always been a general concept with differing interpretations rather than a single thing. For some it's a set of exercises, for others it's intended to slowly stop you from breathing. Some of it literally is just snorting water.
Maybe we should just say "Shut up and program", similar to how some physicists say, "Shut up and calculate", when the philosophical wrangling gets out of hand. Copenhagen interpretation vs. many-worlds? Does it matter? Is there any way to find out? If not, back to work.
My comment on this for several decades has been that we don't know enough to address consciousness. We need to get common sense right first. Common sense, in this context, is getting through the next 30 seconds without screwing up. Automatic driving is the most active area there. Robot manipulation in unstructured environments is a closely related problem. Neither works well yet. Large neural nets are not particularly good at either of these problems.
We're missing something important. Something that all the mammals have. People have been arguing whether animals have consciousness for a long time, at least back to Aristotle. Few people claim that animals don't have some degree of common sense. It's essential to survival. Yet AI is terrible at implementing common sense. This is a big problem.
I don't think we're going to get any breakthroughs in AI by encouraging people to stop thinking about fundamentals and just program. If you're thinking about fundamentals, some degree of philosophizing isn't always avoidable.
And that's still framing it as if philosophizing is something to be avoided, a waste of time. I disagree with that sentiment. In particular, we can't really avoid thinking about consciousness even without an agreed-upon definition, because our beliefs on consciousness influence our actions. In particular, debates about the rights of animals are heavily influenced by our beliefs on their degree of consciousness.
IMO, "shut up and X" is code for "I don't enjoy thinking about the problem you're presenting (and perhaps I resent you a bit for making me think about it)". It's perfectly fine to just come out and say that you don't enjoy working on this particular problem. But that doesn't imply that the problem isn't worth thinking about.
There isn't, but the response to this lack of definition shouldn't be to simply terminate the discussion.
We know it's probably a real thing because we experience it, and it's an extremely important open question whether an AGI on hardware will have "it" too.
The answer to the question will have large ethical implications a few decades into the future. If they can suffer just like animals can, we really need to know that so we don't accidentally create a large amount of suffering. If they can't suffer, just like rocks probably can't, this doesn't have to be a concern of ours.
The response to the lack of definition should be investigation into how that definition could look like, not arguing if we or something else has it or not. Without a definition and criteria to test you're never going to make progress.
Philosophers have been trying for decades to define it rigorously and have failed decisively. It really looks intractable at the moment. Given we are in this quagmire, I think it is ok to explore/discuss a bit further despite the shaky foundations of only having fuzzy definitions of "qualia" or "consciousness" to rely on.
Quite a lot of the philosophical debate has been tied up in the effort to show that minds cannot be the result of purely physical processes or will never be explained as such, which does not tell us anything about what they are.
We are not going to be able to say with any great precision what we are trying to say with the word 'consciousness' until we have more information. In lieu of that, what we can do is say what phenomena seem to be in need of explanations before we can compile a definition.
At this point, opinions that human-level consciousness is either just more of what has been done so far, or cannot possibly be just that, are just opinions.
Which probably means that someone with “chief scientist” title shouldn’t be using it when making public claims. Of course, he can do it for his own profit, but he is ruining the credibility of his research field, that’s why people working in this field object to it.
I am slightly conscious when I am extremely drunk and can barely think and feel, but yet still have some modicum of conscious experience. That's what it means.
If you don't agree that consciousness exists on a spectrum, and instead think that something is either conscious or not, then simply replace the words 'slightly conscious' with 'conscious'.
I was attempting to give an example of what a 'slightly conscious' state is to show that it isn't completely incoherent. Admittedly it was far from rigorous.
https://savelife.in.ua/donate/
https://savelife.in.ua/en/donate/