Most of the advice is pretty solid but I don't agree with this one. Most of the companies succeeding today are doing so because they are building platforms. The web is migrating to platforms and not having that core concept embedded into the DNA of a company is a sure recipe to get systems that will be coded for purpose, non-extensible and a maintenance nightmare when it is time to grow it.
There are arguments for both sides, but if I had to choose between exceptional development talent and freelancing design or exceptional design talent and freelancing architecture, I would choose the development talent every time. That being said, there are some generalist that are great at both. I agree with the hire a generalist advice, but try to get a generalist that has both design and development experience. In my experience every company that I have seen that has hired the wrong development person, has been a technology disaster. I have repaired many of them and it takes years to undo all the technical debt that is leveraged on, when the seed systems are poorly designed. Fixing poor design is much easier as it is only a front end concern. Poor development infects every aspect of the system.
Most of the advice is pretty solid but I don't agree with this one. Most of the companies succeeding today are doing so because they are building platforms. The web is migrating to platforms and not having that core concept embedded into the DNA of a company is a sure recipe to get systems that will be coded for purpose, non-extensible and a maintenance nightmare when it is time to grow it.
There are arguments for both sides, but if I had to choose between exceptional development talent and freelancing design or exceptional design talent and freelancing architecture, I would choose the development talent every time. That being said, there are some generalist that are great at both. I agree with the hire a generalist advice, but try to get a generalist that has both design and development experience. In my experience every company that I have seen that has hired the wrong development person, has been a technology disaster. I have repaired many of them and it takes years to undo all the technical debt that is leveraged on, when the seed systems are poorly designed. Fixing poor design is much easier as it is only a front end concern. Poor development infects every aspect of the system.