8 ms·
A Cautionary Tale of Learning to Fix Teeth. My own. How a reasonably balanced individual nearly went insane I was just a guy in a suit in an office with a vag
by edw519 12y ago
A Cautionary Tale of Learning to Fix Teeth. My own.
How a reasonably balanced individual nearly went insane
I was just a guy in a suit in an office with a vague healthcare idea. Then I decided to learn to fix teeth.
I overheard some guy at a happy hour bragging about how easily he was able to automate his overbite by using a technique called "4 Handed Dentristry". I thought, "huh, 4 Handed Dentistry." I went home, googled it, and within 15 seconds, I was working through a random 4 Handed Dentistry tutorial.
A week later, I went to my first dentalspace meeting. Everyone was talking about techniques like orthodontics, endodontics, and maxillofacial surgery. There was so much to learn. I borrowed three O'reilly books and got about 50 pages into each of them.
Most dentistry books start off nice and easy before making big assumptions about your prior knowledge.
A friend told me I should get good at drilling, and gave me his drill bits. I spent a few hours learning basic foot controls so I could further configure it.
Then some guy walked by and saw me drilling. "Why are you drilling?" he asked me. "Don't you know lasers are better?" "Hm. Lasers." So I started memorizing dozens of laser shortcuts.
Most arguments about restoration techniques are what dentists call "religious wars" - rooted more in historical differences than practical merit.
At the time, it seemed reasonable to think that the faster I could drill, the faster I could fix teeth. I switched to a hydraulic drillset because, hey, it was objectively the most efficient method a dentist could use.
Can you count how many letters, numbers and teeth are in their original oral positions? I'll give you a hint - it's in the low single digits.
On the days I could actually get my netbook to successfully boot DentalCAD - and that I was able to drill more than 10 teeth per minute - I studied oral surgery by working through books and Udacity courses.
After 7 months of grueling self-study and going to dental events, I landed my first Dental HMO job...
You kinda get the idea by now? I dunno, I think what we do is every bit as professional as dentistry. So why don't posts like OP's seem as absurd as mine?
[UPDATE: For those of you who have suggested that programmers don't have others' well-being in their hands, actually quite a few of us have, just not as directly as dentists. We are a profession and we do do important work. A few examples in an old post: https://news.ycombinator.com/item?id=2882620 https://news.ycombinator.com/item?id=2882620]
- thekingofspain 12y agoPerhaps because you can learn to code without several years of intense schooling. The bar to entry is significantly lower.
- ChuckMcM 12y agoYou can learn to clean teeth without several years of intense schooling, you cannot learn peridontal surgery in that time, nor by "practice", in a reasonable amount of time or without losing a few patients. What is interesting to me is that we have gone from having computers go from giant obscure machines in room, leased by large corporations, to having them all over the place in your house. There is a gradation of expertise and capability as there are with cars or other complex systems. From 'tinkerer' (usually a hobbyist) to 'mechanic' (who earns money adjusting and fixing) to 'engineer' (who earns money designing from scratch). They also come with different financial liabilities. And that last bit is something that computers have largely avoided by consistently disclaiming all warranties. When that changes, and programmers (or their employers) are held liable for the incidental or consequential damage caused by their bugs, you will see a much stricter code for hiring and employing people who write code that runs on other people computers.
- pnathan 12y ago> And that last bit is something that computers have largely avoided by consistently disclaiming all warranties. When that changes, and programmers (or their employers) are held liable for the incidental or consequential damage caused by their bugs, you will see a much stricter code for hiring and employing people who write code that runs on other people computers. My understanding is that life-critical systems have a pretty high bar today. (Also, since we're on the topic - what do you think of having some level of Professional Association ala the Bar or the Professional Engineering association)
- ChuckMcM 12y ago> what do you think of having some level of Professional > Association ala the Bar or the Professional Engineering >association) I think that at the point where warranties are required, such a certification will come into existence because companies will demand it.
- arenaninja 12y agoMy guess is that it's because most of us don't have someone's life in the balance? Whatever damage you do to a computer when learning, it probably isn't permanent (screwed up sshd? changed file permissions and you don't know how to fix it? either rollback the VM or create a new one!). Most new webdevs do really basic things which are more akin to them being receptionists anyway (I've seen tickets as ridiculous as "change this while loop to a for loop", "add this css class to this button", etc.). And let's face it, most people who learn programming in 6 months are probably not doing anything more complicated than web dev, with near-zero knowledge of devops (disclaimer: I too know very little of devops)
- dmix 12y agoHe did focus in on python for 7 months which is good. I think what's missing is proper apprenticeship in software. He shouldn't be taking random advice to learn emacs/VIM from people, or use a new keyboard, or (a lesser extent) a new operating system. He needed a guiding instructor to tell him to learn how to code first and focus on building projects instead of trying to turn a 3-5 year education into a 1 year accelerated course so he can be like the cool kids. I'm self-taught as well, so I'll never say university or professional accreditation is the right answer. But that doesn't mean we should be without effective mentors. Speaking of which, I've been meaning to look into mentoring...
- bswen 12y agoBecause there aren't a million online tutorials for learning dentistry and you need more than a computer and an internet connection to start learning.
- crpatino 12y agoBasically, the problem is that no sane person will let you mess with their teeth unless you lack the proper credentials, and experimenting on oneself can be painful enough that almost everyone will quit after their first equivalent of an off-by-one-array-access segmentation fault.
- altcognito 12y agoBecause software development isn't a small fixed set of problems on a single platform?
- austenallred 12y agoIt's tough when you're reading HackerNews or spend a lot of time around technical people. Technical people are, necessarily, very adamant about the technologies they use. When you're first starting out, you just want the "best." Among the most common misunderstandings for non-technical people is what a programming "language" is. You don't realize that almost all programming languages are made up of very similar constructs. For example, knowing what I can do with a string in JavaScript and transferring that knowledge over to Ruby is a thirty second, syntactical exercise. Non-technical might imagine that you have to learn everything over from scratch. That's probably a result of etymology; when you hear the word "language" you think Russian vs. Spanish - completely different alphabets, concepts, grammar structures, etc. It would make more sense for those who can't program to think of it in terms of "dialects" or something like that, instead of "languages." It doesn't actually mater what language you learn first, even if it's (god forbid) PHP. But we don't tell that to would-be programmers enough. I probably wasted a month of my time because I started using zshell and oh-my-zsh on the recommendation of some guy I talked to at a meetup. He loved a tiny aspect of the flexibility of the prompt's highlighting. I barely knew how to use the command line. So heaven knows I didn't understand what happens to my $PATH when I'm dropping whatever the github repo is telling me to into ~/.bashrc instead of ~/.zshrc. The time I really started to learn was when my company got into an accelerator, and all of the sudden I was the de-facto front-end guy. The only CSS I had ever written was tweaking colors on my blog, and I really had no idea what I was doing. But that didn't matter - I had to build, and it was a real project -- one that was seen by 10s of thousands of people on day one. It doesn't have to be that stressful to learn, but you have to build something and solve challenges learning along the way. There's really no other path that works. So, my advice to budding programmers or those who may learn to code: Pick a language/framework and don't move on until you are fairly adept with that stack. Your tech buddies may mock your technology choices, someone will say you're an idiot because "this would be so much cooler in Lisp," but you don't have to be writing functional Haskell when you're learning to program. Take things form beginning to end, start to finish, and start changing technologies once you are well versed enough to understand the shortcomings of what you're currently using. I really wish someone had sat me down and told me that when I started. I'd probably have saved six months of after-hours and early morning struggling.
- 12y ago
- bobloblaw02 12y ago> "I dunno, I think what we do is every bit as professional as dentistry." Except that you're not dealing directly with a human being's health and anatomy? You must be trolling right?
- barking 12y agoVery funny! Yes, there is a professional pathway to follow to be allowed to meddle with someone's teeth. Once you've got that far, however, you're free to carry on much as you want. Dentistry has its own religious wars, the acronym TMJ springs to mind.
- jng 12y agoBecause one finds many self-taught developers out there who can outperform college-educated compsci majors day in and day out. Because one can read universally-acknowledged figures explaining how a large number of people with a software engineering degree can't code their way out of a paper bag or pass the most basic "fizz buzz test". (1) Because we can see non-genius 17-year-olds writing apps that are bought by top tech companies for $30MM, month in and month out. (2) Because we call it "software engineering", but it still isn't engineering at all. (3) Software development is still a very, very young field. The fundamentals are not properly understood yet. It will still take decades before they are, possibly over a century. We won't be able to put proper education in place before the fundamentals are well-determined. Agriculture, livestock breeding and cloth making are many millennia old. Architecture, engineering, and the law are 2-3 thousand years old. Book printing and complex music are about 1,000 years old. Dentistry is centuries old. Cinema is over a century old. We know a lot about how to do those properly, and schools are pretty good at teaching the important parts. Software development is less than 50-years-old, and schools are still dismal at figuring out the important parts (practitioners are only so-so most of the time too). That makes it different. It would be hard to get more misguided advice than what the OP received (pro tip: don't learn vim, Emacs, configure Linux or switch to Dvorak before you can write functional, working code). That doesn't mean teaching yourself is a bad way to learn. (1) Why can't programmers program, by Jeff Atwood (http://blog.codinghorror.com/why-cant-programmers-program/ http://blog.codinghorror.com/why-cant-programmers-program/) (2) Summly (3) Just a random sample, but very representative: I developed a software package for building structure calculation about 20 years ago, helping an architect with the software part. There are manuals enumerating the exact steps to follow and excess safety measures to add: assume 50% extra weight, 40% wind-load force with higher percentages for higher structures, twice the amount of iron to be put into the concrete when certain conditions are met, etc... Those manuals are the law. If you are an architect or an engineer, and you follow those rules, two things happen: (1) you are not legally liable, and (2) the building doesn't fall down! Software projects fall down all the time (read: Obamacare). That is engineering, software projects with today's tools and techniques are not. This will happen some day in software. We are not there yet, by far.
- thomyorkie 12y agoSoftware engineering is a relatively young field. However, to say we don't properly understand the fundamentals is absurd.
- gcv 12y agoBecause the learning process for medicine is completely different. 8-year olds armed with QBasic can make a computer do cool things. No 8-year old can study or even try out doing anything interesting in medicine by any meaningful approximation. Hell, even chemistry sets are pretty much off-limits.
- pnathan 12y ago+1 I strongly believe that we're a profession and should have professional standards. On the other hand, I do suggest you look at hobbyist/quasi-professional magazines. It's.... not terribly dissimilar. Example cover: http://popularwoodworking.woodworkingplansplans.com/images/woodworker-magazine-2.jpg http://popularwoodworking.woodworkingplansplans.com/images/w... Conceptually, that's the same exact approach taken..
- cbd1984 12y ago> +1 I strongly believe that we're a profession and should have professional standards. As long as we don't kill the goose which laid a lot of us golden eggs. If we destroy the ability of newbie programmers to come up outside the university-professional path, we've just irreparably damaged the whole field. This is also why I don't like the idea of unionizing programmers: Even if we come up with a union which isn't based on the wage-and-hour, put-in-your-time model, unions are still based on seniority and coming up the "right" way as opposed to being able to strike out on your own in your own little company, without needing to pay dues, literal or metaphorical.
- pnathan 12y ago> If we destroy the ability of newbie programmers to come up outside the university-professional path, we've just irreparably damaged the whole field. I don't believe that, to be honest. There's a profound difference between a highly qualified professional and a hobbyist, and I am perfectly happy demanding that the first have a credential.
- shakethemonkey 12y agoFortunately this is self-selecting. The highly qualified people (quite often these are the very best people) who don't have credentials would never, ever want to work for you.
- twic 12y agoThis could work as long as the award of the credential actually signified a capability to do the job. Most of our current university education about software ("computer science") is only distantly related to doing the job. By analogy to another professional field, computer science is to the working software-maker as physiology is to the working doctor. It's the foundation of the field, and so it's something one has to study at the start of one's training, but it's of little relevance to the actual day-to-day work, and it certainly doesn't form the basis of qualification.
- Mvandenbergh 12y agoThe moment that a student dentist starts to drill into a tooth to place a filling (under close expert supervision and after a lot of training) for the first time they are doing two things: 1) Removing enamel that will never grow back - if they do it wrong, there is no option to fix a semi-colon and recompile 2) Doing it on a human mouth for the very first time in their lives. The difference isn't just that most programmers don't directly have others physical health in their hands, although that is true. Some programmers do, but all dentists do. The difference is that you don't get do-overs. Have you ever written code that didn't even compile the first time? Or code that failed a test, or code that did something wrong in a test environment, or code that did something buggy in production? If you'd made a mistake like that as a dentist, a patient might well have lost a tooth that they're never getting back. Much worse could happen, you could cause someone to lose feeling to their face, even kill someone. There isn't any low-stakes dentistry but there is low-stakes programming. That makes it easier to start as an entry-level programmer because even at a low level of skill and experience you can potentially do useful work for someone.
- worklogin 12y agoThis analogy is as absurd and oversimplified as comparing grand theft auto to a download of Taylor Swift albums. There is no such thing as "freelance amateur dentistry". You can't start tinkering with teeth and get a job the way you can tinker with programs as a hobby before getting a junior position at a programming gig. To compare the two professions and suggest the path to engagement and skill are the same is obtuse. This article resonated with me more than most HN pieces, because it describes my path as well. I've not had professional guidance, and with the absolute flood of options, of data, of debates and educational material, it's REALLY difficult to know where to start. I don't understand how you find it acceptable to mock someone's interest and lack of guidance.
- ta19191823 12y agoI don't think he's mocking a lack of guidance, as much as the implicit indignation at not understanding a sprawling and complex field in an afternoon.
- debacle 12y agoThere is a line between "professional programmers" and "dangerous script kiddies." You need a lot of clout to draw that line, you are going to upset a lot of people on the bottom half of the stratification, and you really need to work hard to convince a lot of programmers that creating a professional organization is a good idea, for some unknown reason.
- jimbokun 12y ago1. Because many people can easily afford the tools you need to learn programming (like the author said, a used MacBook, or any computer that can run Ubuntu). I'm pretty sure getting a hold of all the gear you need to be a practicing dentist will be much more expensive. 2. Because you can probably learn enough software development to do something useful in several months, maybe even enough to succeed in an entry level job. I think learning enough dentistry to actually practice it will take longer. 3. Because programming is much more lax about credentials. Sure, many employers require a CS degree for anyone they hire, but many do not.
- thisGuysAccount 12y agoThis comment might not float to the top of the thread, but I'll post it anyways. When dentistry started out, there likely were more than a few dentists who learned this way. There are still, on occasion, unlicensed dentists found practicing dentistry with decently successful businesses. Software development doesn't have the Software Development Association protecting the practice like dentistry and medicine do, for their respective associations.
- bmm6o 12y agoSo why don't posts like OP's seem as absurd as mine? I think the Fine Article does seem absurd. And while he doesn't come right out and say it, I think he would agree that in hindsight his approach was absurd. The whole second half of the post is about how actual programmers get actual work done, and it's nothing like the first half. The interesting question is why did he think his original approach was reasonable? Did he not talk to an actual software engineer before embarking on his journey? Sure something like his original path can be successful for some people, but it that a reasonable expectation?
- Filthy_casual 12y agoHypothetically speaking, if there was a way to conjure patients to practice for years the same way there's a way to download and tamper with software then yes, you could become as skillful as someone with years of practice because that's what you'd have. Your example from hobbyist to professional has real physical constraints that are huge to overcome for an autodidact like "where do I get a constant influx of patients to practice on" and that's solved with university. Building software only has "own a computer and have internet access". As a self-taught my reasons for not attending university are purely financial. It's basically a subtle form to gatekeep lower-class "peasants" from following their own "brain craves" for knowledge and ascend the societal ladder under the guise of a higher moral cause, specifically the appeal to the professional worth. Tough luck for you and for anyone else from your social stratum that's going away sooner than you think, regardless of how loud your barking can be. But what is more sad is the fact that there are at this time thousands of people trying to disrupt education and yet the highest rated comment in a place that should be focused in disrupting things actually tries to grip even tighter. That's what's sad.