3 ms·
In my experience (granted; anecdotal, limited, etc.) people who enter a job that is mostly coding (job title notwithstanding) and who come from an academic back
by L_226 7y ago
In my experience (granted; anecdotal, limited, etc.) people who enter a job that is mostly coding (job title notwithstanding) and who come from an academic background often tend to write seriously unmaintanable, borderline illegible code.
I think this is because they are not used to having other people read and work with their code, especially if they have just graduated and never worked in industry. This is potentially justifiable in an academic setting where stream-of-consciousness type programming is acceptable for a barebones proof of concept, but attempting to work with 1000+ LOC functions with non-descriptive variable names etc. is not only not acceptable in modern software, it is ungracious to your coworkers.
Unfortunately this can sometimes be coupled with a good dose of hubris ("I have a PhD and you don't!"), and efforts to provide constructive criticism are often met with anger/apathy/belittling/ignorance. Their pride, which may be well be deserved within the narrow field of their academic work, unfortunately doesn't mean that they automatically know how to write maintainable software and also potentially hinders them learning how to. This is perhaps why there is a trend to dismiss "academic candidates".
That being said, some of the best software engineers I have ever worked with hold doctorates - and people worth working with will usually admit their limitations anyway. This is not limited to those with an academic background in general, as accepting our faults is the first step in adressing them.
- perl4ever 7y agoI'm prejudiced against people with a scientific background mainly because of the code I've seen written by astronomers. When I was in high school, I was interested in VSOP87, and found the sample code to be in obfuscated Fortran, and I also remember how Sky & Telescope insisted in publishing all programs as stone-age style BASIC, with line numbers, on the basis that anything more readable and structured would not be compatible with everyone's computers.
- kls 7y agoTwo of the best programmers I have worked with, and who I credit myself to becoming a "real" programmer, where PHD's, one was a tenured professor at MIT who founded a computer learning start-up. I learned the elegance of simple black-boxed code from both of them and they both seemed to have a strong focus on that. I was young and a hot shot programmer at the time and they where both older patient men, who saw raw unfocused talent in me. I am a better person for having learned under them and for them having endured me, but I would absolutely place them hands down as two of the best and most productive programmers I have ever worked with. I am thankful I did not have hiring responsibilities in my 20's, as I would have been one of "those" pricks and would have a lot of regrets for the way I treated people now.
- seanmcdirmid 7y ago> Unfortunately this can sometimes be coupled with a good dose of hubris ("I have a PhD and you don't!") Is that sentiment actually common? I don’t know any other phds who would ever bother pulling that out for coding (maybe writing a research paper, even that is dubious); even in a research lab where phds are more normalized but there are still lots of people without. I hear this stated online, but it always sounds more like some insecurity on either side going on. We do get the shaft on hiring because we are often overqualified, meaning we might bail quickly when a better opportunity shows up. I can’t really blame smaller companies for worrying about that, especially in this day and age of $300k salaries.
- bigred100 7y agoI have the same question. In my lab the way you make fun of someone for writing a horrible monstrosity of code is to call it “research quality” or “Ph.D quality” or something.