Skip to main content

Writing software from scratch in business [Resolved]

I'm a programmer with ten years of experience. I've worked as full time programmer in 2 companies in these ten years as a software developer.

I have always loved to have my own business. My question is, is it ok to start a business project from scratch and write every piece of code from zero?

Remember for example if there are some open source apps close to my project and I prefer to get the source and when the customers come into my business, I start to change program. Not to spend several months and lose the market.

I've seen in companies which I've worked, writing a project from scratch is bad marketing habit and will end to lose all the customers, based on long time of outcome and huge and detailed bugs that comes in.

Question Credit: Hamed_gibago
Question Reference
Asked October 4, 2018
Posted Under: Programming
5 Answers

What's the value that you want to bring into the market? What can you do better than your competitors?

  • If it's writing software frameworks, then don't hide them in a single-market end product, but make your business from offering that framework to the market.

  • If it's understanding the customer and quickly providing solutions to their needs, re-use whatever suits you appropriate. Don't waste time on writing frameworks.

  • If you have a customer where the out-of-the-box solutions don't fit, and all the other "box-combiner" competitors failed, then do both, the usage-specific framework and the end-user application. The customer will be patient if you can convince him.

  • If all you want to do, is to combine available frameworks built by other groups, then you'll face a hard time against the zillions of competitors who do the same, but have more man-power.

Having said all that, whatever framework / library / components you choose, decide wisely. The fact that a framework has a wonderful whitepaper doesn't tell you anything about the amount of work you have to spend integrating it into your project. Some of the questions can be:

  • How many days would I have to spend for implementing the part that I need, from scratch? If it's just a couple of days, go for your own implementation.
  • Frameworks always have an impact on the code that uses them. Does using the framework improve the quality (readability, robustness, performance, portability, testability, ease of debugging, ...) of your application software?
  • How many days will I have to spend to understand the framework, before I can start using it?
  • How many days will it take to integrate the framework into my project?
  • How buggy is the framework?
  • How good is support and documentation?
  • Will the framework still exist next year?
  • Do new versions of the framework maintain compatibility or do the developers make breaking changes quite often?

Yes, using existing frameworks can help you a lot, and ignoring them is surely wrong, but don't think "using framework = benefit".

credit: Ralf Kleberhoff
Answered October 4, 2018

is it ok to start a business project from scratch and write every piece of code from zero?

Yes, if that's what you want to do.

Its not typically the most practical way of doing things, and you may find it helpful to use third party libraries or components to handle functionality that is not a core part of your product. But ultimately its your project/company, so do what you think is best. You don't need anyone's approval.

credit: GrandmasterB
Answered October 4, 2018

Is it ok for a business project to start it from scratch and write every piece of code from zero?

No, that's a terrible idea for the reasons you've already identified - you win business by getting your product or service into the marketplace. The way to do that is to use existing tools (whether they be open source or proprietary) where they are the right option and build the bits where there isn't a good option. Otherwise you're going to spend an enormous amount of time and effort building a buggy, less functional replacement for Spring, ASP.NET or whatever else while your competitors have already got your potential customers.

Taking this to extremes, are you going to write your own operating system, your own hardware drivers, your own compilers, and so on? No, because that would be stupid. So given that you're not going to write everything from scratch, don't worry about reusing application level code from other people as well.

credit: Philip Kendall
Answered October 4, 2018
Your Answer