In the last few weeks I have been looking for some paid projects to earn some extra money. I stumbled across a lot of requests which look like this:
Looking for experienced C/C++ coder
Hello, I am looking for an experienced coder for a very simple project.
Support for Linux and Windows needed. Message me for more information.
This sort of request is so irritating, so incomplete…if I were more hotheaded, this post would turn into a 120-page rant about it.
Luckily, all I want is show you what is wrong with these requests!
So you are looking for an experienced programmer? Great! Do you think the less experienced are going to say “No, this is obviously not for me!” and ignore it? Everybody feels experienced once they learn a skill. They would not be on this page looking for your posts, if it was any different. Also, no one is looking for unexperienced programmers, obviously.
A better title would be:
Looking for coder for networking project
This is not the best we can do, but it is quite better than before. What did I do here?
I removed the “experienced” coder. And I also removed the language it is needed in. This leads us to the next problem.
The technical details
Sometimes the request comes from a company which needs freelancers to work on existing projects. It makes sense to add the technologies you need, because you already know you need a Rails developer for your existing web application.
But most requests come from persons with no or little technical background, who have an idea for a new product or need a software solution to a technical problem. They have heard that there is a thing called C++ and it is freaking fast. Of course they are going to want that, because you always want the best for your money. But C++ is not always the best. Try to write a web application in C++. It sucks!
So if your future purchase is not for an existing project, do not add technical details to your requirements, but let the developer decide! If he or she is really experienced, they know which technologies to use.
The project information
Seriously, give the developers an idea what your project is about. You do not need to disclose any secret information, but do not let everybody read your request and wonder what this is about.
Imagine every request being like the one above. I would have to contact every single person and request myself more information. This is exhausting and time-consuming!
Give clear information on what is needed.
You need to connect to some secret servers and send some encrypted classified data?
Write that it involves connecting to some servers and sending encrypted data.
You want a website for your super-secret new product no one knows about?
Write “Product website”.
Need something slightly illegal or just really shady?
Transform it into a generic request: “Need someone to connect to multiple computers and send some commands“.
Just save yourself and the developer some time and provide enough relevant information!
A very simple project?
How often have I heard this one..? Yes, of course, all of your ideas are simple. But seriously, they are not as easy to code as you might think. I just had a request yesterday which was like this:
What I need is really simple, so I am not paying that much. The program should connect to ~10k devices over telnet and send some data. I need it in C++ because this has to be as fast as possible. Can you do this?
Yes, if you describe it like this, it sounds very easy. But let me translate this into developer thoughts:
Hi, I need your program to connect to far more than 10,000 different devices, which are going to change often and are not always connected to the Internet. It should connect through Telnet, so it needs to check which devices know Telnet and support the features I want to use. It should always run and handle any network problems. It will need a database to save the devices.
This has to be in C++, because I heard it is fast, but everybody knows that the network is going to be the bottleneck and the developer could do this in Python or any other language with easier-to-use libraries. But I will insist on C++ anyway.
Oh, and if anything does not work as expected..of course I am going to blame it on the developer!
I hope you see a difference there. Your project is not simple!