Welcome to NexusFi: the best trading community on the planet, with over 150,000 members Sign Up Now for Free
Genuine reviews from real traders, not fake reviews from stealth vendors
Quality education from leading professional traders
We are a friendly, helpful, and positive community
We do not tolerate rude behavior, trolling, or vendors advertising in posts
We are here to help, just let us know what you need
You'll need to register in order to view the content of the threads and start contributing to our community. It's free for basic access, or support us by becoming an Elite Member -- see if you qualify for a discount below.
-- Big Mike, Site Administrator
(If you already have an account, login at the top of the page)
Recommendations on How to Identify Good Programmers
Was hoping to get some insights and experiences from those who have hired programmers for projects before or can code themselves. Outside of references and referrals, what is the best way to identify if someone is a good coder?
Are there any filters you recommend using to help distinguish between ones to avoid and to separate the great ones from the merely good?
As a side note (for those that have hired programmers for projects), how big of a risk is it that the programmer starts selling your custom indicators for example to other people and you've essentially just funded someone else's R&D?
IMO you can only make a guess by references and prior work. And good programmers tend to know their value, i.e. the cheap ones tend to be shit.
Whether the programmer will be abe to sell his work to others depends on what you agree on. If you don't mention it in the contract/agreement at all, the right stay with him and he is free to do anything he wants with it.
Not always.
If you did some very smart things in your code and don't want the client to share it later with another coder (which is in fact a competitor) the code can be obfuscated to make it hard to read and understand.
I used to do this and have 2 versions: the 'readable' one with comments and easy to understand, and the 'bad one' obfuscated without comments and funny variable and methods names.
If you ask me, good documentation is part of the product. Don't pay for it and you won't get it. If you are ready to pay for it, I'm going to budget time for it. It's the same with support/further improvements down the line. On their own comments aren't a good sign of quality, e.g. they can hide (possibly uninentional) design errors or flat-out lie about the exact behaviour of an interface. The lack of comments and other similar halmarks of good coding standards can be a sign of a bad programmer, though.
Oh and a propos obfuscation: it's not unheard of that clients end up disappointed after a project ended, because the program they get isn't as big/complex as they imagined it would be. They feel it couldn't have been that hard to write this amount of code, so they feel cheated. Thus making it look more complex (and taking a lot of time) can be necessary as a justification for the amount of money you get. Even though that's the exact wrong way to go about writing software.
Can you tell I'm happy I don't work as a freelancer anymore?
@ Skoa, thanks for the insights, I had never considered those issues before coming from a non-coding background. Are there any filter questions during the interview and screening process that you would recommend asking to help filter out the bad coders?
@ Sam, Is there anything you can recommend to a non-coder to help make sure we have as streamlined of a code as possible to avoid further complications as we continue to build on top of the first stages of work?
Thanks again everyone, the insight so far has been tremendous.
Your best bet is to go with references, people in your network. I have been a programmer for my entire adult life and almost all of in in the trading industry. I have been interviewed, interviewed, hired and fired people during this time. For every 100 programmers you come across, 90 will not have the technical abilities to do what their resume says. Some of the remaining can be trained and that depends a lot upon their attitude towards work in general. Basically, this is a tough route to go. References, networking work best in this industry.
Thank you very much for that insight. 2 Quick follow up questions for you:
1) How much of a risk do you generally think there is a one programmer taking what they worked on and taking it to their new employer? (Both actual employees and project contracts) Am I being over paranoid thinking that some of my R&D dollars will be helping fund a future competitor?
2) With regards to the above issue, do you find it's better to find coders specifically from the industry or what has your experience been with bringing in coders from outside of the industry for projects?
Depends upon the programmer. The only thing you can do is have him sign an non-disclosure, non-compete agreement (I am not an attorney so please find out exactly what needs to be signed in your specific case) with you. That does not mean that your ideas wont be stolen if someone really wants to but that is all you can do legally to protect yourself.
A programmer from the industry will have a shorter learning curve and will be more expensive. But if you find a great programmer and you can do your part of explaining/documenting what you need well, then that works too and probably has an advantage because the programmer does not know the value of the end product and is less inclined to steal it.
Just another word on this. Whoever you find, it is not going to be a one time engagement. This will most likely be an iterative process so the relationship between the two of you will matter a lot.