If doctors were interviewed like software developers
reddit.com
reddit.com
I think the field of software engineering is doing quite well with its interviewing compared to other fields. Having all of these rigorous interviews sometimes ends up evaluating people based on things that shouldn’t be so important, but the upside is that you can be far less reliant on credentials.
It's a myth that you can work without a degree, you'd never get a job interview in the first place. Seems to be mostly a US myth by the way, makes sense because degrees are crazy expensive there.
You're on point that there is a personal bias. Developers without degrees congregate together where they can, while developers with degrees congregate together to other places. There is a major self selection.
Saw a lot of the first when I was doing contracting in the UK, saw a lot of the later as permanent in tech companies. If you're interviewing for google you're way more likely to have 2 stanford majors in the interview panel than 2 developers without format education.
The common figures (google/facebook for examples) are typical college graduates from a very top school, who happened to drop in the last year of bachelor or master to found a company, sponsored by their university network and connections.
By the way I was talking having having a formal education versus no formal education and you're trying to move the conversation to dropouts. Dropping in the last year of a top US school (because you were given half a million dollar to form a company) qualifies as having a formal education.
What about three years?
Two?
One?
We know zero higher education doesn't meet your standard, and 3.5 years does, so I'm trying to figure out where you draw the line.
Knuth, Dijkstra, Kernighan, Ritchie, etc. all had degrees, although some are non-CS because CS degrees weren't a thing back then. Linus Torvalds, Dave Cutler, and Theo de Raadt all have degrees. The only hardcore coder (i.e. not a business person) without a degree I can think of is John Carmack.
How do I know it's not a myth? I have a software architect title, having moved my way up to here from QA.
One of the staff developers I work with has a degree in Physics. So does a senior operations engineer.
I've never noticed if anyone on my teams had a degree or not.
Those that talked about having a degree often lowered the team's velocity and were the weakest members on the team.
Anecdotal but seems to be common among my friends/advisors.
I don't think a degree helps. I have seen plenty of very avg software developres, i wouldn't wanna have on my team, with degrees
However, you can't learn or get a do over on getting in with the right social group. That's why so many "successful" people come from ivy league schools even though some of them seem to be pretty dumb. It's more about getting into a rich and powerful social group than getting an education. Once you're in with that group you have a very high chance of success as long as you're not a total fuck up.
There's also some absolutely incredible developers who come from non-traditional backgrounds that would not even be considered by this requirement.
While it's most likely currently the case where finding a job without a degree is hard, I don't think a hard requirement for a degree should be a valid means of evaluating job applicants.
I recently got a job as a software engineer without a degree. And I can get plenty of interviews.
Developers really don't realize how bad they have it. If you have friends who passed to be doctors, nurses, lawyers, they can all have a much easier and longer career.
You will see what are your prospects after 15 years of development, if you were not driven out of the industry, it's grim.
My "prospects after 10 years of development" are going to be "figuring out what to do now that my house is paid off and I don't need to make half as much as I do anymore". Compare those to a doctor's prospects after 10 years of college: "Time to start making money for the first time!"
I've been a software developer for 30 years now, and never got a degree. I do have friends that are doctors and lawyers, and I prefer my career path to theirs. I started working and earning at 18, rather than going through 8 years of expensive schooling. All these years later (your 15 years doubled), I'm still in-demand, still earning reasonably well, and don't experience the levels of stress or work the long hours my doctor and lawyer friends do.
But hey, when I was young, it was just doctors and lawyers who earned big money. Now it's doctors, lawyers, and software developers, so that's a huge gain for software! And still, only about 75% or so of software developers have degrees at all, let alone eight years of school and two degrees like are required to be a doctor or lawyer.
I've spent the last month interviewing for new "Senior Java Developer" positions, and I can assure you, having a degree does not mean one's prospects are automatically good. Or that one know what one is doing, even.
To me, if you can't substitute a verified credential or experience in place of a technical interview, it just shows they implicitly prefer newer folks.
There is no proof that the person in question would fair well in all domains that get taught during 5 years of engineering school, and follow up experience on the field, without a proper assessment from the engineer board.
The assessment proves that one actually has the skills that are expected from any Software Engineer to fulfill the society expectations, technical, moral and ethical responsibilities, from the profession.
To be fair, many skip the title validation because they don't sign such kind of projects, but they still get the title at one of those validated universities if they want most HR departments to actually care to read their CVs.
There are also often different types of protections, in the U.K. for example there is “registered” and “chartered” titles.
The registered usually deal with newer titles that didn’t have historic charters and recognition of non-UK accreditation.
So for architects for example you can be a registered Architect by registering with the ARB which usually means you need to be registered with a non-UK charter and have a recognized diploma, to be a charter Architect you have to go through the process that RIBA dictates which means getting your education in the UK or in RIBA accredited schools abroad which only gets you to RIBA part 2 and then complete the required experience and exams for Part 3 in the U.K.
* Working for free because it is a passion.
Actually a big part of the medical school interview is making sure you are passionate about medicine. You are pretty much expected to be doing some type of medical volunteering on an ongoing basis to demonstrate your passion. In addition, once you are in medical school, interviewing for residency, demonstrating passion by volunteering or leading a journal club is often a big boost to your chances.
* Whiteboards
As part of the USMLE (US Medical License Exam) there is a clinical skills section. You go into a recorded room with a standardized patient who pretends to have a certain illness. You are expected to ask them the right questions and do the correct exam. You are graded on how well you do.
In addition, before you can get board certified in your specialty (especially in surgery) and be allowed to practice on your own without any supervision, you undergo what are called oral exams. It is kind of like whiteboarding. There you are given hypothetical patient cases and are asked to walk through how you would diagnose it. What questions will you ask, what exams would you do, what imaging or other tests would you order. You are also asked about your treatment plan. If you are a surgeon, you will be asked to walk through how you would do the surgery, including what type of incision and the surgical approach. The examiners may throw in some complications (such as a lot of bleeding) and ask how you would deal with it.
In reality, the medical doctor interviews are much more demanding than the software developer interviews.
Source: I am a medical doctor and software developer and have done both the doctor interviews and the whiteboard interviews.
The only major distinction I can come up with is that part of a job interview is seeing if you fit well with the culture of the company.
I also think that these types of complaints about the difficulty of a job interview have to do with tying your self-esteem to the outcome of it.
A failed job interview is like a date, you both (the company and the interviewee) are trying to see if the relationship has a chance to be successful.
If the interview went south, there's a decent chance that you wouldn't have been happy at that job.
"Oh, you don't have a graduate degree? Why did you even bother applying here?"
I thought this was interesting because a common programmer hiring model assumes you can train an exceptional programmer to your specific stack regardless of their existing specialty. I'd argue programming specialties are still broad, maybe frontend, backend, iOS, android, and embedded. Perhaps as the software development matures, we'll see more specialized fragmentation.
[1]: https://nursinglicensemap.com/advanced-practice-nursing/nurs...
The fact that I can name a dozen programming specialties that have nothing to do with your list at all is a tell
Then do the same exercise with some piece of software.
Wooden house building fundementals: That's like 200-500 years.
Chances of me dying while developing my web app is super slim. Chances of someone frying themselves with wiring something up when they don't know how is a lot higher.
There are edge cases and there are certainly plenty of times when software bugs can kill people. However, to say that the typical programmer holds life and death in their hands with every keystroke is an extreme over-exaggeration and I think you know that.
If you only count deaths, yeah, bad programming has negligible impact maybe. If you extend it to general suffering, it's quite a drag on everyone actually. And incidentally, good programming can make a world of a difference, too.
So wanting to select for good programming, with even just having a good minimal standard, is a reasonable goal.
The problem is that we're not even sure what makes good programmers and how to spot them, as evidenced by the continuous stream of "I think..." and "Well actually" stories & comments here on HN.
Having bad programming gets you a lot of programming. I'd rather have a million people who can each build a house a day that will stand reasonably reliable for ten years than having a thousand people that can each build a house a day that will stand for a hundred years.
This is true. I'll add that machine learning is arguably the computer doing a lot of bad programming.
Yes there will always be bugs but no practice or method is invulnerable to this.
Software in general, in these high risk environments, has been extraordinarily successful in terms of reliability and safety.
[1] https://sma.nasa.gov/sma-disciplines/software-assurance/2019...
I think you may need more time in the field and observing the reality here. There are unbelievably high standards and practices in many places. Maybe CRUD codebases for a consumer website has critical failures but that doesn’t really matter. People will stop using their site if it’s too large a problem.
Software is different than many technical and engineering fields. Codebases change over time as new requirements come in to extend functionality. Things can be patched. When standard engineering practices are required they are implemented. Yes, mistakes happen too but bridges fall down on occasion.
These are almost exclusively local regulations, not US national requirements, and certainly not international.
So even if there were licensing, whose jurisdiction applies? What if you have distributed software development teams?
So in one sense, it's a "solved problem", with the solution being that licensing requirements would be dramatically different based on locality, but in the sense that people want — a uniform standard for hiring software developers — it's not solved at all.
Exact same thing can be said about the hiring process in general. Taxes and employment legal contracts vary from state to state. I am sure employers would love a single contract, no matter where they hire an individual, but that is not currently the case.
The mention of contractors brings up an important point though. Many people support software developer licensing because they believe (mistakenly IMO) that it would make hiring easier, but not all software development is done by employees. In a licensed profession, you cannot legally practice the trade, not even as an entrepreneur, unless you have a license. Are we to apply this same standard to software development? Nobody can write software without a license from the state? Is that even possible? What about the people writing consumer software alone at home? Can nobody even publish a web site with HTML and JavaScript without a license? A web site is essentially all you need to create a billion dollar business, so either licensing prevents that from happening, or licensing won't really be a uniform standard for the software industry.
Mark Zuckerberg was a college dropout. Thus, he wouldn't have a license. No Facebook. Maybe you're ok with that, if you hate Facebook, but nobody really thinks the problem with Facebook is that Zuck was an incompetent programmer. In any case, software development licensing would put up a major barrier to entrepreneurship in the tech industry.
There are plenty of journeyman carpenters that do not have a license, this is not a problem as long as they work for a company that is licensed.
Software is generally rather ephemeral and without a code to write or build to. We have "best practices".
Yes, some software is built under engineering assumptions - airplane software, etc. NASA has a standard they write code to and software engineers are expected to work within these confines. Part of the code requires reviews of written software, etc. [1]
[1] https://sma.nasa.gov/sma-disciplines/software-assurance/2019...
That is....not true at all. A plumber/carpenter/electrician works to code under threat of losing their license. Additionally your building could be exempt from code for numerous reasons (grandfathered/historical, outside of city limits and no county building codes/etc.) Developers and Software Engineers don't have this threat.
Software engineers will certainly lose their job if they don't ship code to standards set by the company they work for. Someone writing code for an airplane is going to have a different type of standard than someone writing code for video game, however.
Why would it make sense for a government agency to set a code for software? It literally makes no sense as different problems have different requirements.
Obviously software written for use in medical devices and banking systems should be held to a higher standard, but the same can be said for other licensed professions. A plumber installing a fire suppression system in a 50 story high-rise would similarly have their work held to a higher standard than someone setting up a rain barrel for their garden.
Personally I find the quality and vetting process of software designed to be installed on the same device that most people use to manage their online banking and carry on their most intimate conversations (often using said software) to be so low as to be considered criminally negligent by the standards of any other respectably industry.
Doctors spend many years doing hands-on work under more experienced doctors, free clinic hours, 30+ hours shifts, lot's of grunt work and specializing on a very narrow field.
They end up training for 10-15 years at least before they can really be independent.
Lots of people show up at software engineering interviews with barely any training, and sometimes with really bad habits. If you do a lot of interviewing, you'll find there's many people who have been working for years, basically ripping off employers, and in many ways they're unaware of their shortcomings.
The saddest cases are when you have someone with some seniority, smart and some potential, but they grew up alone (to put it somehow). Either without a mentor (where they're smart but work in a vacuum) or with a bad mentor and picked enough bad habits to make them dangerous.
They have so many things to unlearn, that you should hire them for a much junior position than their resume experience would indicate. In general that's a no hire situation, it's much better to hire inexperienced developers and just train them properly.
This doctor vs programmer comparison would also be more useful if there was an order of magnitude difference in effectiveness of doctors. Compare that with the order of magnitude difference in the utility of the systems that programmers can build. There are no real "10x" doctors except for those with medical + management training that can do things like set up a new hospital in an impoverished country and revamp their medical system. But it's much more likely to have programmers that can build systems with many orders of magnitude difference in terms of QPS or a similar utility metric. That is, there is no version of Big-O notation for doctors that matters as much as the big O notation for programmers.
You're probably aware of the first but not the second. Just so you know, doctors are not paid little and developers are really not paid that much in comparison.
You should also consider that FANG are 4 extremely selective companies only existing in the valley (the cream of the crop) while doctors can work pretty much anywhere in a country and do very well.
You'd have to pay me a hell of a lot to have to drive to a hospital each morning and stand around on my feet for a 48-hour shift dealing with high-risk problems and real people all day. No thanks.
I think they do it for pretty reasonable compensation considering.
The OSCI is done on a weekly basis by most first and second-year medical students in the US. By the time you come in contact with real patients (as a student), you've done the equivalent of nearly a hundred technical interviews. It's increasingly common to be doing them both in Spanish and English as well.
https://en.wikipedia.org/wiki/Objective_structured_clinical_...
"It is designed to test clinical skill performance and competence in skills such as communication, clinical examination, medical procedures prescription, exercise prescription, joint mobilisation/manipulation techniques, radiographic positioning, radiographic image evaluation, and interpretation of results."
"An OSCE usually comprises a circuit of short (the usual is 5–10 minutes although some use up to 15 minute) stations, in which each candidate is examined on a one-to-one basis with one or two impartial examiner(s) and either real or simulated (actors or electronic patient simulators) patients.
Each station has a different examiner, as opposed to the traditional method of clinical examinations where a candidate would be assigned to an examiner for the entire examination. Candidates rotate through the stations, completing all the stations on their circuit. In this way, all candidates take the same stations. It is considered to be an improvement over traditional examination methods because the stations can be standardised enabling fairer peer comparison and complex procedures can be assessed without endangering patients health."
In contrast, we entrust SWEs with massively scaled applications with moral and ethical implications that can lead to societal change like misinformation and indirect death.
Hmmm.
I even worked with a doctor on a mutual side project https://chrisseaton.com/merseyburns/.
And guess what? Based on the strength of that side project the doctors I worked with now have jobs related to what they did in the side project!
It's literally no different.