Maybe they want to avoid java coding patterns. FactoryFactoryGenerator kind of stuff. Maybe they want to teach their own java coding patterns and want someone coming in with a blank slate so they don’t have to unlearn habits. Maybe they’re tired of diploma mill programmers applying and are using this as a resume filter tripwire.
We had an outside contractor bring us some code once that was thousands of lines of Python to do a very simple job. I was perplexed. I dove in to figure out what the problem was, and somehow I was looking at the most Java-esque Python code I could imagine. What’s worse is that he implemented his own “Java style” property getters and setters for all the Python classes, which obviously aren’t needed because you can simply access properties directly. In the end I took an 80 line snippet of his code (which actually did the work we needed), swapped out all the getters and setters, and deleted all the rest.
That’s not to say that python coding habits are the best either – certainly they’re terrible when translating outside of python (most of the time). And even within python, someone who is used to with only the base modules will write it differently than writing PyQt and still completely different than someone doing numpy code… because the styles of coding of the underlying system change your coding mode. Like, my variables are all CamelCase when doing user interfaces with Qt because it makes sense there, stylistically.
Definitely the first. I work in ML, and I find for instance people with background mainly in c# to be the least fit for my field, particularly if they have long experience. So I understand this kind of requests
Maybe they want to avoid java coding patterns. FactoryFactoryGenerator kind of stuff. Maybe they want to teach their own java coding patterns and want someone coming in with a blank slate so they don’t have to unlearn habits. Maybe they’re tired of diploma mill programmers applying and are using this as a resume filter tripwire.
Definitely. Horror story time.
We had an outside contractor bring us some code once that was thousands of lines of Python to do a very simple job. I was perplexed. I dove in to figure out what the problem was, and somehow I was looking at the most Java-esque Python code I could imagine. What’s worse is that he implemented his own “Java style” property getters and setters for all the Python classes, which obviously aren’t needed because you can simply access properties directly. In the end I took an 80 line snippet of his code (which actually did the work we needed), swapped out all the getters and setters, and deleted all the rest.
That’s not to say that python coding habits are the best either – certainly they’re terrible when translating outside of python (most of the time). And even within python, someone who is used to with only the base modules will write it differently than writing PyQt and still completely different than someone doing numpy code… because the styles of coding of the underlying system change your coding mode. Like, my variables are all CamelCase when doing user interfaces with Qt because it makes sense there, stylistically.
You can always tell when someone’s been a career contractor because they never adhere to any of the established patterns/styles in the codebase.
I disagree. Good career contractors should learn to write in the code style of the project. And the real pros do.
Did you pay by the SLOC?
This is pretty common with outside contractors.
We just come in, say we’ll pay them x dollars and they give us code that passes the test. But that code will not at all align with any prior patterns.
I absolutely know I’m guilty of it when I do freelancing. Sorry.
Definitely the first. I work in ML, and I find for instance people with background mainly in c# to be the least fit for my field, particularly if they have long experience. So I understand this kind of requests
It might be to see who is reading the posting and tailoring their reply. Kinda like a “no green M&Ms” rider.