I am currently working as a tech advisor for a start-up. We tried composing a dev team for a while, but were unable to find talented people.
We got a proposal from a company to build our app, backed up with Magento. The idea is to go with that, and find our team while version 1 is being built by that company.
Magento sorta fits our needs, but it's not ideal. Any other CMS would do just as well. I am myself more of a node kind of guy, advocate of open-source, and so on; I dislike CMSs, and would rather go with a framework. In particular, our project would greatly benefit from a noSQL database, and Magento works on SQLs backends.
this said, I am willing to put aside philosophical matters for the sake of the project. "Fast iterations will always beat ideal iterations" and all that stuff.
However, I am weary about one thing:
How easy is it to build a tech team after the project has started?
Here is my reasoning:
- Talented devs are already scarce
- Choosing any particular tech restricts your potential hires, but this can be a good thing: restricting your tech to node or perl means you are actually widening your percentage of possibly talented devs. But Magento is not exactly the type of technology that hackers are enthusiastic about.
- Any really good dev is a creative person who has an inflated ego (myself included) and I will have a hard time convincing them of jumping in the bandwagon, when all the tech choices are already made, to basically improve an app, as opposed to creating it from the ground up.
My options:
- Not take the company's contract, and continue trying to build a team, with the risk of not reaching our milestones in time
- Take the company's contract, but insist for them to use technologies that fit our ethos better, in order to be able to attract like-minded people, with the risk of imposing on them technologies they are not familiar with.
- Just forget about ever building an internal team, and try to work out a long-term deal.
This is a cornerstone of our project's development and I am weary of taking the wrong decision.