In a start-up environment, things happen so fast that there’s very little time to polish your tools. Code gets done undocumented, development team members come and go with different programming styles and tools, and the chaos just builds up as the business goes.
At some point, you can’t finish or maintain something because one team member left the company with the knowledge of the code and without documenting. You either have to spend time figuring out what was done and how it works, or rewrite all that unmanageable code. I’ve seen this scenario happen too many times.
Just as the saying goes: “Stand in the shoulders of giants”, using an open source development framework is essential for the following reasons:
- Access to lots of documentation, tutorials, forums, etc
- Proven working code by a large user community
- Everyone knows where to look when a certain change is needed
- Development teams scale faster because new hires or people switching project teams can catch up and integrate to the team quickly
- Benefit from patches and upgrades from outside your development team
- Improve team productivity by not having to spend time writing basic common components from scratch every time
Even when using a closed source framework, you still get most of the benefits. Some companies prefer to build their own tools and frameworks. This approach will work out as long as they stay consistent and everybody agrees to use them in a standard way. But unless you’re addressing a very specific problem or facing a special situation, I recommend you not to reinvent the wheel and use one of the many existing open source development frameworks out there.
Here’s an old video of a chat with Steve Jobs, where he talks on how to improve productivity and saving time and resources in a development team, by eliminating lines of code to write and taking advantage of what is already out there.