What if there were a certification authority that could claim that professionals are, indeed, competent in X, Y, Z within software? And, of course, that authority would need to be recognized by A, B, C companies. That'd certainly skip the endless, often mind-numbing, repetitiveness of technical interviews (especially for those with many years of experience) and can jump straight to culture/team/behavior fit.
This is basically what all engineering disciplines do and it's why I take "software engineer" with a massive grain of salt.
I have several certifications from Microsoft and Google and, for the most part, mean jack to an interviewer. I am still forced to leetcode and answer mind-numbing questions.
On a side note, of all the choices I prefer a take-home, as long as it is timeboxed to no more than 1-2 hours.
It never is one or two hours though. It might be if you designed the thing and know exactly how to get there and handle all the corner cases. Oh and also we always underestimate.
I have yet to see a 1–2h take home test actually be doable in that amount of time. It’s more like 8–10h to get going, have something meaningful, and code that isn’t inscrutable.
It can be if they give you something to start with.
One company gave out sample code and asked me to optimize it so it ran under 5 seconds. The exercise was in parallelizing or caching/reusing what you could per the requirements.
The timebox has to be enforced on the company side, meaning that you have e.g. 2h to submit your answer once you've opened their link (which you should be free to open at any time, so that you're sure you have the time allotted).
I think the <textarea> problem can be solved if the interviewer gives enough information so that the interviewee can have their IDE working correctly by the time they get started.
The pressure problem can be solved by giving more time than what would be expected in a work setting. If you expect a task to be completed in 1h, just give 2h. Of course that implies that you don't give a task which would take an expected 6h to complete.
Of course these are things to consider from the company side, if they think they want to hire people who can program under high pressure, they should probably keep that as part of the interview, for both the company's and interviewee's sake.
i would agree a universally accepted accreditation organization, like the American Medical Association, can make interviewing for technical competency easy.
But like with AMA, they would (and does) gatekeep. What kind of policy can the organization be instituted with so that gatekeeping is impossible?
Doctors _should_ be a dime a dozen. They should not cost so much - because their services are valuable and therefore, more of them should be produced to make medical costs lower.
Software engineers, if they followed the AMA model, would cost $500k in student loans to train, and there's be barely any graduates to fill the demand.
> Doctors _should_ be a dime a dozen. They should not cost so much - because their services are valuable and therefore, more of them should be produced to make medical costs lower.
Physician salaries make up about 8% of medical costs. And even if you doubled medical school class size, you wouldn’t get 2x the doctors because there aren’t enough resident slots available.
And even if you had enough slots available, you’d still need to guarantee high salaries afterwards. Most people who are smart/driven enough to be doctors aren’t going to work 80-100 hours in a high stress position for 3 years if they are only going to come out making $80k.
So the only way to drastically increases (3x,4x) the supply of doctors is to drastically decrease the standard of training.
So you reduce residency down to 1 year and you triple the number of doctors. Now you’ve reduced the quality of doctors, and you save people less 5% in healthcare costs, but no one even notices because that number gets drowned out by the continued rise in the other 92% of healthcare costs.
You're assuming the bugs are required. Residency as it is now is a terrible system that had no need to exist in its life destroying form. The industry had already figured this out and is moving work from doctors to nurses and PAs and offshore radiologists who don't need a residency.
Moving work to lower level practitioners is functionally equivalent to reducing physician requirements.
Of course companies are going to do anything they can to reduce prices. And of course the industry is going to put out flattering white papers in support of their cost cost cutting measures. Yet those reduced costs haven't been passed on to consumers or measurably improved medical care, so the argument merely that the industry is doing something is a poor argument in favor of it from a consumer/public health/societal standpoint.
Some companies love to outsource labor to countries with relaxed labor laws. That isn't a convincing argument against the need for labor regulations.
Maybe because building a bridge is a very standardized process that lives through regulation. Maybe software will end up there some day, hopefully a day by which I am retired.
It may make sense to do this for certain disciplines, like software tailored for other engineering disciplines (think medical grade software, airplane/car control software, etc.).
However for the broad mass of software projects, certification makes no sense and is in fact much worse than what we have now. Do you think certification can't be gamed? It will usually be much easier to game that one since certification by definition is meant to be achievable by a broad mass of people. You don't build a certification program for elites.
Professional leetcode programmer? Sure. So let's count the facts we have at the end of the interview:
* You can code yourself through a number of problems, answer follow-up questions that dig into random specifics of your problem, slightly modify the problem, etc. You can demonstrate structured problem solving, ad-hoc clean code and you make an overall good impression in that performance.
* You are able to demonstrate the necessary experience through targeted behavioural questions that probe deeply into specific aspects of your job history and alignment with the company values
* You are able to design a complex software system and are able to answer unknown follow ups and able to follow drill-downs into random aspects of your design.
Congrats, you are a professional software developer. Can you game the leetcode part? Potentially, however I met several "leetcoders", some of which were even kind enough to put that on their CV... They usually fail quite spectacularly at random follow ups and modification to the problem statement. But even if you are able to somehow "wing it" convincingly, you need to succeed several times and you need to still demonstrate the adequate proficiency in the other two pillars (behaviour and software design).
What we might need is an "interviewer" certification.
I don't have statistics in front of me, but I'm fairly certain that the vast majority of people with "real" engineering degrees aren't Professional Engineers (which is what I assume you're referring to). On top of that, there was a SWE PE offered in the US for several years. NSPE stopped offering it for lack of interest.
This is basically what all engineering disciplines do and it's why I take "software engineer" with a massive grain of salt.