10 ms·
Ask HN: What obstacles stand in the way for a “bar exam” for programming jobs?
First, getting this out of the way. I'm well aware that software programming is a broad topic covering many different skills and knowledge domains.
But so is practicing law. You can be an expert on bankruptcy law, or media/entertainment law, etc.
The idea of the bar exam is that the expectation is that any lawyer, at the point of passing the bar, the point at which they actually become a lawyer, have a solid understanding of most, if not all, general aspects of the law. I know of one exception, patent law, that is covered in a separate exam, but I'm not aware of other exceptions.
If they later choose to invest time and energy into specializing, and later forget some of the other more niche concepts of the law they don't practice, that's deemed as being okay.
Like software engineers, lawyers are not bound to one practice area, and some (especially in smaller towns) have overlap in several areas.
Yet when it comes to examination, the legal industry has managed to create a "one to rule them all" for grant someone admission to practice law. And it's generally effective in doing so. In theory, the same would be possible for another large career field that share core concepts in common, for all the jobs in that field.
What prevents a general examination to be designed and formulated for software programming work? We, too, work all over the place, yet there is no standard "bar exam" for programmers. Maybe the field is still not mature enough and we have to wait it out a couple more years?
- pinewurst 9y agoIt's already happened implicitly with the rise & spread of the "technical interview". By rote memorization of a body of knowledge which may or may not be applicable to the job at hand. Given the interchange between employers, these are more alike than different. Why would further formalization be any more valuable than say the Interior Decorator exam and license in Florida?
- TAForObvReasons 9y agoProfessional exams oftentimes cover subjects like ethics, which would undoubtedly help the industry
- platinumrad 9y agoDo you really expect individual dissenting developers, who in many cases are more replaceable than ever, to be able to effectively resist the decisions of design leads and business managers?
- grandmczeb 9y agoIs there evidence that people actually act more ethically after taking a class on ethics?
- barry-cotter 9y agoNot that I know of but there’s evidence professional ethicists behave no more ethically than other philosophers. Ethicists’ and Nonethicists’ Responsiveness to Student E‐mails: Relationships Among Expressed Normative Attitude, Self‐Described Behavior, and Empirically Observed Behavior https://onlinelibrary.wiley.com/doi/abs/10.1111/meta.12033 https://onlinelibrary.wiley.com/doi/abs/10.1111/meta.12033
- tvanantwerp 9y agoI doubt that unethical people act unethically because it just never occurred to them to be ethical, and that they would've known better if there was a class.
- michaelchisari 9y agoThe point of teaching ethics is to help people better recognize unethical situations, not to convince the strictly unethical to become what they're not.
- trowawee 9y agoI'm less worried about explicitly unethical people than I am about somebody just out of college in their first job whose boss asks them to build something ethically dubious. Professional ethics instruction would A) help determine if something was unethical ("My boss told me to add a feature to our social network app to vacuum up every call and text message made on a device that has our app installed. Should I do that?") and B) provide a framework for people to push back on and censure unethical requests.
- bb88 9y ago> Why would further formalization be any more valuable than say the Interior Decorator exam and license in Florida? Why do you assume that programming is more like Interior Decorators than not more like Civil Engineering? There's been a number of cases in our history where software has killed people or cost people/corporations millions of dollars.
- et-al 9y agoYou would need a professional organisation to lobby for laws, but I don't see engineers in the industry coming together and forming one. Professional organisations were a way to keep people out of a field by requiring them to have the connections or the money to afford the study materials and exam fees. And don't forget continuing education costs as well. This concept would turn away many of the anti-establishment types in the industry. That said, we are seeing signs of standardisation in the hiring process. TripleByte is gaining traction and maybe in a few years applicants will need to be "TripleByte Certified™" before they're even considered for an interview at larger company. However there will always be scrappy startups that eschew this and just hire whoever can code and think. Personally, I don't have too many complaints with hiring in our industry. It's been criticised lately, but it's still more democratic than law, or finance. The sheer number of first-generation immigrants that are in Silicon Valley and NY working in the field are a testament to this.
- platinumrad 9y agoCredentialism always, always, always exists to serve entrenched interests. For example: https://news.ycombinator.com/item?id=16702652 https://news.ycombinator.com/item?id=16702652
- gautamnarula 9y agoIn addition to TripleByte, there seen to be an increasing number of companies that require HackerRank online timed coding assessments as the first technical filter before you get to ever speak to an engineer.
- stale2002 9y agoLet me answer your question with another question. What prevents a bar exam for reading and writing? Would it be a good idea for such a thing to exist for the act of reading or writing books, news, or anything else involving language? Why should this be treated any differently for speaking to a computer?
- eximius 9y agoBecause he isn't talking about speaking to a computer. He's talking about self driving cars, drones, hospitals, utility grids, etc. Admittedly, it is hard to determine where or how you draw the line.
- platinumrad 9y agoAre they? >What prevents a general examination to be designed and formulated for software programming work? There's plenty of non safety-critical software programming work to be done in this world.
- tw1010 9y agoThe argument that the field is still immature I think is not very convincing. Or in the very least, whatever needs to change is not going to do so within at least the next few decades, because otherwise they would have already done so. Things haven't changed that much, and software engineering is a many many decade long industry at this point. In other words, if you really care about this, push for it now, in your generation, because otherwise you won't be able to pluck from the fruits of the effort until you're already into retirement.
- slashblake 9y agoI think this is the same question of "Why isn't there a bar exam for medical doctors". "Being qualified" for software requires nothing less than hands-on training. Until software moves to more apprenticeships/residencies, I'm afraid we stuck in this "infancy" of a field.
- jsgoller1 9y agoThere are "bar exams" for medical doctors - they take four rounds of USMLE board exams before getting an MD.
- hkmurakami 9y agoMedicine requires board exams.
- slashblake 9y agoSorry, you cannot just take a board exam and start practicing medicine. Law, you can.
- hkmurakami 9y agoYou cannot take the bar without either (1) law school, or (2) Law study (apprenticeship). https://www.americanbar.org/content/dam/aba/publications/misc/legal_education/ComprehensiveGuidetoBarAdmissions/2017_comp_guide_web.authcheckdam.pdf https://www.americanbar.org/content/dam/aba/publications/mis... http://www.slate.com/blogs/business_insider/2014/08/02/states_that_allow_bar_exams_without_law_degrees_require_apprenticeships.html http://www.slate.com/blogs/business_insider/2014/08/02/state...
- Turing_Machine 9y agoNor can you do that in law, other than a very few states, all of which require a lengthy, documented apprenticeship with a practicing lawyer. It's not just a matter of walking in off the street cold and taking the exam. In 2014, 60 apprentices took the bar exam (out of 83,963 total examinees). 17 passed. Almost all states do require law school nowadays, and you don't have a prayer of getting reciprocity to practice in another state without it. https://priceonomics.com/how-to-be-a-lawyer-without-going-to-law-school/ https://priceonomics.com/how-to-be-a-lawyer-without-going-to...
- uberman 9y agoWhat prevents it? Employers and trade organizations that demand it.
- PeterisP 9y agoWhat makes bar exams work is an industry-wide agreement that they won't allow you to do the work if you haven't passed the bar exam. It seems that it's not (and will not be) in the best interests of most employers to disqualify people who haven't passed such an exam but otherwise seem able to do the work. Thus an effective "bar exam" can not arise voluntarily, since the required factor - motivation by a critical mass of most employers - is not there. The other alternative is a legal requirement imposed from above, but again, there seem to be no powerful forces lobbying to forbid every non-certified person from programming a computer, neither employers nor programmers themselves nor the general public seem to want that very much.
- barry-cotter 9y agoWhat makes bar exams work is not an industry wide agreement, it’s government licensing. I’m sure there are plenty of paralegals who are perfectly capable of doing standard, ordinary legal work like conveyancing or ensuring the registry of deeds is updated when property is sold. But there can be only one kind of legal practitioner with US government licensing as it stands. Anything else is illegal and you’ll go to jail for practicing law without a licence.
- radix07 9y agoIt's called a PE (Professional Engineer) License. They introduced one for Software a few years ago. Most engineering disciplines have this and you can take the test 5 years after passing your FE (Fundamentals of Engineering) with work experience. However they are not typically needed unless you work (and sign off) on something that could be dangerous to the public. Civil engineers almost require them to work, other fields not so much. As an Electrical Engineer with an FE, I have never really seen it as being worth pursuing and maintaining, and for the software side of things even less so... https://ncees.org/ncees-introduces-pe-exam-for-software-engineering/ https://ncees.org/ncees-introduces-pe-exam-for-software-engi...
- analog31 9y agoI work for a company that makes electronic products. We outsource the signing-off kind of engineering to a company that also does electrical regulatory testing for us. Here's my impression about it. The work is boring, as in mind-crushing boring. You don't get to invent or design anything. Your job is to watch other people invent things, and then run those things through a set of checklists, while documenting everything. One thing about programming is that it's democratic, inasmuch as anybody can download Python and start programming. Including me. Nobody will stop me, and I will invent things. We already have the situation in my department, that I'm not "allowed" to program, meaning that I "prototype" things, and the programming department turns them into a product that can be shipped. Programming is too important to be left to the programmers. ;-)
- shiado 9y agoI would argue that the very nature of the math behind programming is cause for it not to be regulated easily. In other applied fields you don't run up against undecidable problems and Rice's theorem. If it is not possible to mathematically certify that a particular program has a particular property how can you regulate the programmers? Only allow them non-Turing complete languages?
- garyfirestorm 9y agoWhat prevents a general exam? - Attitude Unlike other fields, Engineering in general and software in particular are all about freedom. You can hack your car, hack your phone, WiFi etc without needing a certificate from someone. You're challenging this freedom and hacker attitude by imposing exams and creating a system that gives people 'permission' to write software (work in this field) This will never fly. And I hope it never does.
- AstralStorm 9y agoYes, just like Electrical Engineer exams killed hobby electronics. /s
- nokcha 9y agoIf you're suggesting a law against hiring people who have not passed such an exam, the First Amendment would likely be an obstacle (just as the government cannot impose an licensure requirement on journalists), since source code is protected speech. However, in safety-critical systems (such as self-driving cars), the government probably can impose a regulation against using code developed by an unlicensed programmer in production. If you're suggesting a de facto industry-standard exam, I think there just isn't enough wide agreement about what should be on the exam.
- imacomputer2 9y agoThis first concert in my mind is that while programming core concepts have not changed much in 30 years, the stuff you put on your resume has. Laws don't change very often and only in small details ways. A lawyer can still reference a law passed hundreds of years ago and it's relevant in a real world in the job scenario. Programming on the other hand, is far less stable. Furthermore, employers are always looking for key words in the resume. Do you know this language and this framework? I don't think they care or evening look for core concepts (maybe a problem in it's in right).
- platinumrad 9y agoWhy do you think that increasing the barriers of entry into software work is a good idea?
- tylercubell 9y agoSoftware that could kill. Medical, aerospace, driverless?
- platinumrad 9y agoOP is clearly talking about a general exam for all software programmers. ("What prevents a general examination to be designed and formulated for software programming work?") Software engineering for safety-critical fields like aerospace and automotive tends to be fairly regulated already.
- cornholio 9y agoMission critical software is created by processes, not individuals - unlike, say, surgery or legal counsel, that are delivered in person. A single programmer shouldn't be able to kill using his keyboard, and if he can, something is very wrong with the way that mission critical software is produced. To maintain the analogy, if a law firm is using the services of paralegals that haven't passed the bar exam or have no formal training, I will not be concerned even if they handle most of the legwork in my case, because I assume they are part of a team and their work is well scrutinized.
- bb88 9y ago> Mission critical software is created by processes, not individuals. I worked on software for the military, which was under a process (heavily regimented, I might add), and yet US soldiers still died when the software failed. It wasn't one person with a keyboard, it was a group decision and politics that allowed it to happen. Processes in the end are still run by people. Sometimes people do the thing they think is right, yet end up with a result which is very very wrong.
- wai1234 9y agoThere seems to be a belief that such an exam would produce uniformly high caliber practitioners. There are plenty of lousy members of every regulated profession. The exams in regulated professions are designed to test that you know the jargon and general knowledge of the field (anatomy and physiology, case law, etc,). The day-to-day application of that knowledge is usually consistent with that knowledge. Outstanding members of the field are determined by years of experience and specialization. Software doesn't meet any of those expectations. The jargon changes weekly and your expertise with O notation and hash tables means almost nothing in day-to-day practice. The fixation on evaluating candidates on those topics is more about what's handy as a way to narrow the hiring funnel than it is about measuring what's important. Software development is a creative activity. You can't measure that. Safety critical software is developed under regulatory guidelines enforced by process requirements and certification of organizations that follow those processes.
- AstralStorm 9y agoIndeed. There could be a data safety cert too. (Data protection and data processing ethics, more and more important nowadays.) Specific technologies? Not applicable really.
- zdky 9y agoThere're plenty of certification exams in the tech field though they're never required by law, and most companies wouldn't use them as a primary criteria in making decision of new hires.
- irvingprime 9y agoHigh school kids program. Some of them are surprisingly good. High school kids don't practice law. The fields simply don't compare and should not attempt the same standards.
- Im_back_4_U 9y agoWhat prevents it is there is no need to for the general well-being of society. Would it help certain interests ? Sure, but every law has its unintended effects that the lawmaker doesn't understand.
- chrismcb 9y agoPerhaps you are asking the wrong question. Perhaps it should be "do we need a bar exam for lawyers?" What do we gain from such an exam?
- sfifs 9y agoFundamentally demand supply mismatch. These exams succeed in professions where more people are looking to enter the profession than there are jobs that will afford a comfortable lifestyle.. so the existing professionals lobby the government to setup a guild like body to "certify" and thereby limit supply of "certified professionals". The point of the exam is to limit supply and competition, it is not to ensure lawyers, accountants etc "know enough" - look at how many clients are done in by poor professional advice. There are far far more programming jobs than people available who can program today. So this won't happen.
- slipwalker 9y agoi find it much more valid each company running it's own technical interviewing process. Adapted to the specific knowledge ( and social skills ) required by the job at hand. personally i like joel spolsky's model: https://www.joelonsoftware.com/2006/10/25/the-guerrilla-guide-to-interviewing-version-30/ https://www.joelonsoftware.com/2006/10/25/the-guerrilla-guid...