I am a full-time consultant. I develop iOS apps for small teams, help them on Product Strategy, Design and better User Experience. It’s been almost a year since I am doing this independently. Earlier I ran a mobile app studio for 3 years.
What is the problem:
So there are people who want to get their apps built: A, there are people who can build apps: B. In 99% (assumed, don’t hold me to it) of the cases, A and B are totally exclusive set of people. Developers are shitty (let’s face it) as designers, business owners don’t know how to code. Now only small set of people are in touch with A and B both (Circles in the image above), and they are doing God’s work in connecting both the parties. Most people are either Triangles (only know people who want to get their apps built) or Squares (only know developers). I agree that there are platforms who want to solve this problem, but most I have come across don’t not do a fair job at it.
Another extremely important aspect these platforms are missing, which makes humans best (yet) for this job, is they are focussed on only one parameter of the project, which is “What the assignment is?”. This is important, but not sufficient. There are other parameters which are equally (arguable) important:
1. What is the type of client? Is it a small team or big corporation?
2. What kind of involvement they are looking for? Do they want developer to guide them, help them make decisions or just do whatever is told?
3. Do both parties culturally match?
4. [add your own]
To be honest, why such platforms fail at it because these things are hard to quantify! You can’t say both parties match ~63% culturally. I hope we develop some technique in future which can scale and map psychological attributes. If we are able to achieve that, we will solve Recruitment once and for all and we will live happily ever after. That is the reason why Humans are best at recommending candidates and why 70%+ job openings get filled by personal recommendations.
Possible solutions (and what all I have tried):
When I started full-time independent freelancing, I did not take up a project and then quit my job. I quit my job, gave myself sometime to think and clear my head, then started looking for a project. I started what all of us would start with, I asked around in my personal network. My goal was to reach Circles (from the image above) while there were a lot of Squares. It took me 2 months to start my first project, and yeah, it WAS through my network.
I started getting active in developer communities. Github open source projects, forums, open #slack teams, personally meeting people I knew were influencers. I must tell you, it is like growing a tree. You have to keep at it, be patient and wait for that day when the fruit ripens. It is a long process, but when you have a full grown tree, the frequency of fruits you will get from it increases exponentially. The second project I am doing, which has already started (as of April 2017), was scored through #slack community. Don’t ask me why I am writing #slack with “#”, even I don’t know, but I am liking it.
Platforms (connecting A and B):
I also signed up on various platforms which claimed to connect developers with potential clients. May be I haven’t come across good ones, but I had no luck on them. Specifically I want to quote Upwork. As most of reviews goes all over internet, here, here and here, I had similar experience with it. Platforms like Upwork which are race-to-the-bottom don’t work for most of us. Even developers there are ready to take up a full project at as low as $6 per hour! I have been amazed to see that, how do you compete with that? I am not saying that all of them are like that, but many (cheap) developers there are looking to make extra buck while doing a full-time job somewhere else. What happens in that case that they are not able to give time to this “extra” project and end up taking money (partial) from client and not deliver it. This creates a distrust, make clients unhappy and eventually spoils the market for all of us.
There is another side to it too. There are clients also who don’t play fair game too. Constant bargaining on the rates makes desperate developers lower their rates so much, even they themselves are not much happy about it. I get that, to kickstart your career and get first couple of projects you have to do it. Now it is a vicious cycle, if you are not too happy with the rates you are getting, you lose interest and do your work half-heartedly. That results in half-baked app and makes client wonder about the competency of the developer. I heard this from a friend:
The biggest mistake an employer can do is to make their Star Employee unhappy
@clients: Don’t bargain too much. Well compensated employees are happy, and happy people do great work.
Though I haven’t done much open source contributions, but it is by far most rewarding thing you can do. Why you ask? It not only surfaces you as an active community member, but it also helps you learn. Isn’t it awesome to keep on learning while creating your persona among fellow developers. After all, some people in B are also circles (refer image above). But the thing is contributing to Open Source is hard and daunting. Most of the devs don’t know where to start. This might help.
Articles help you get visibility along with honing your skills to write. If you think you don’t write well, the community will help you out, people will tell you if you are not good. So your first article may not be super good, but your 10th would certainly be.
How it should be (ideally):
There should be another set C which facilitate connections between A and B. Recruiters think that they are doing this job, but as far as I know, all of them suck at it. If your motivations are derived from quantity rather than quality, you can’t expect them to try and improve quality.