You're right, it would be pretty difficult to make a test that actually gauges competency. That shouldn't necessarily be a reason not to try though.
Honestly, it might be easier to adjust the hiring process. If the hiring process were able to easily select driven individuals who retain "software engineer" as part of their identity, and people that take pride in their work, seek constructive criticism and want to learn, then that would be good enough.
I should also clarify that being self taught isn't necessarily a bad thing (one of the best coworkers I had was self taught), lacking any of the above traits is.
>That shouldn't necessarily be a reason not to try though.
I'd argue that if a test could select good SEs then companies would be giving tests (or outsourcing such tests) as part of their interview process. It's not like a lot of thought, effort and experimentation hasn't gone into figuring out how to hire software engineers.
>Honestly, it might be easier to adjust the hiring process. If the hiring process were able to easily select driven individuals who retain "software engineer" as part of their identity, and people that take pride in their work, seek constructive criticism and want to learn, then that would be good enough.
I'd like to note that a test would not select for any of those things except the ability to study hard.
Self taught programmer here, criticism is something I think is harder for self taught people. I think it stems from never having an authority over you when you initially learned, and that sort of becomes enshrined as part of your identity. If your not reviewing someones code formally, just ask questions that could lead them to what your trying to suggest. Pretty commonly used method but just having them logically work it out sort of quails the knee jerk reaction to criticism.
Also maybe a lot of people are self conscious about no formal education as well? That wasn't an issue for me but I imagine it is for some.
TL;DR: The transition from learning the hard way always, to allowing someone to try to prevent it is tough.
Honestly, it might be easier to adjust the hiring process. If the hiring process were able to easily select driven individuals who retain "software engineer" as part of their identity, and people that take pride in their work, seek constructive criticism and want to learn, then that would be good enough.
I should also clarify that being self taught isn't necessarily a bad thing (one of the best coworkers I had was self taught), lacking any of the above traits is.