3 ms·
I'm a former USN Submariner, Nuclear Electronics Technician, and served from 2006 - 2016. Boy do I have some thoughts. Not all quotes here are from TFA, some ar
by sgarland 2y ago
I'm a former USN Submariner, Nuclear Electronics Technician, and served from 2006 - 2016. Boy do I have some thoughts. Not all quotes here are from TFA, some are from various speeches he gave.
> Free discussion requires an atmosphere unembarrassed by any suggestion of authority or even respect.
This has always been an interesting idea to implement at tech companies. I've not yet been reprimanded for it, but I have definitely gotten raised eyebrows when the CEO or some other higher-up makes a statement, then pauses for replies. It seems like management isn't expecting anyone to do anything other than applaud.
> Responsibility is a unique concept. You may share it with others, but your portion is not diminished. You may delegate it, but it is still with you. If responsibility is rightfully yours, no evasion, or ignorance or passing the blame can shift the burden to someone else. Unless you can point your finger at the man who is responsible when something goes wrong, then you have never had anyone really responsible.
This is my number one source of frustration in tech, specifically in incident management / retrospectives. Companies have fully latched onto blamelessness in such a way that obliterates any responsibility. There is a difference between blaming a person for causing a problem, and holding a person accountable for their actions. The former usually also implies a disinterest in finding and fixing the root cause, instead looking for a scapegoat. That is flawed thinking that will not yield positive results. However, it's also patently absurd to pretend that when Bob has caused 3 of the last SEV0s, Bob isn't at least related to the problem. "We need more guardrails," they'll say, and implement automated checks to prevent the specific issue. I have no problem with guardrails, but what bothers me is when the guardrails become so onerous that it's difficult to do my job, and the bottom line is no one is holding Bob accountable. If you are careless with your work, no amount of guardrails will fix that; the problem is you.
> I am not satisfied with bringing an individual to a qualified level once, and then forgetting about him. Therefore, we continually reinforce theoretical and practical training with a continuing training program. This includes frequent practice in plant evolutions and casualty drills.
As much as any sailor hated drills, you can't deny that they work. I was jolted awake once by the sound of the collision alarm, followed by the announcement of flooding. While it turned out that it wasn't flooding, but merely a "controlled seawater leak," (someone messed up a rig for dive and left a valve open; that's an entirely different discussion), the fact remains that everyone knew where they needed to go, and what they needed to do.
Companies, especially / mostly ops-related departments, should practice scenarios. DR, loss of a K8s cluster, whatever. If you've automated everything, terrific; find something new that you haven't automated, and see if people know how to deal with it. This leads me to my next point: understanding fundamentals.
> I recall once several years ago an Admiral, whose conventionally powered ships were suffering serious engineering problems, asked me for a copy of one specific procedure I used to identify equipment which was not operating properly. He believed that would solve his problem, but it did not. That Admiral did not have the vaguest understanding of the problem or how to solve it, he was merely searching for a simple answer, a check off list, that he hoped would magically solve his problem.
and
> One of the elements needed in solving a complex technical problem is to have the individuals who make the decisions trained in the technology involved. A concept widely accepted in some circles is that all you need is to get a college degree in management and then, regardless of the technical subject, you can apply your management techniques to run any program...
Rickover understood that in order to operate things, you have to understand how they work. To this end, the training pipeline for my job began with basic algebra, in order to assure a baseline level of knowledge, and then proceeded through the structure of an atom, electrons, PN junctions, diodes, transistors, and logic circuits, before finally learning a great deal about the CPU (Motorola 68000 when I was a student; I was part of the curriculum overhaul years later to "modernize" it to the Intel 386) at the logic signal level. All this, to operate with massive layers of abstraction. But critically, that fundamental knowledge is there. We could, if absolutely necessary, troubleshoot a logic board (which are simply specialized computers) down to the component level, and desolder / resolder the new one.
Tech largely operated in this manner for decades by necessity. If you asked how to do something, you were told to RTFM. If you instead said, "I read section x.y.z but don't understand what it means," there was a much better chance of someone offering guidance. The onus was on you to understand enough of your current layer to apply it to the abstraction above. Instead, we now have vibe coding, and people pushing PRs having neither written nor tested any of the code. We have people copy/pasting error messages into Slack and asking what they mean, instead of taking the 10 seconds required to read it. We have people who have successfully memorized Leetcode, but who can't apply any of that knowledge to real-world problems.
Rickover was an asshole, but he had an extremely transparent and level requirement of all his employees: know your job inside and out. If you didn't, he would destroy you.
There _has_ to be a middle ground somewhere that modern companies could strive towards.
- selimthegrim 2y agoAs is pointed out in the article I linked elsewhere in the comments he should’ve remembered what he said about responsibility when the Thresher happened.
- CobaltFire 2y agoYou seem to harp on this every single time Rickover is brought up, but I'll make two points: I can't find evidence of that call anywhere but your single cited source, and that source does not cite it. He immediately completely overhauled procedures to prevent a reoccurrence of what they thought the most likely issue with the plant, if it did cause the sinking.
- CobaltFire 2y agoAnother previous Submarine Nuclear ET here. I agree with you, and it's interesting to look back and realize how many of my outspoken opinions and ideals are simply due to internalizing Rickover's Philosophies. I agree with them, sometimes to my detriment. I actually had to leave both the Submarine and Nuclear world after an injury, but stayed on in the Aviation and Expeditionary Warfare world until I hit 22 years. I cannot tell you how many times I made enemies by insisting on his lessons in those communities, but I got results. Enough so that I had to fight to retire; they wanted me to stay as long as they could hold me and stick me in another problem spot. One example that may apply for those on this site (and I'm not trying to make this example for YOU, this is just one I hammer on) is the practice of just pulling in a ton of dependancies without understanding what they do, what you are trying to do, etc. I get that things need to move faster in business to make a profit, but I cannot and will not condone that type of philosophy. Look at the recent slew of compromises due to exactly this behavior, the ballooning system requirements due to it, etc. LLM coding is another such issue; we are going to have a ton of programmers who have no idea how to structure something from a plain sheet of paper, who can't trace down issues in complex code because they don't even know how to read it and chart program flow, etc.
- sgarland 2y agoYou and I are fully aligned with your example bugbear, fellow Bubblehead.