I've been having lots of project ideas for some time now, but since there have been more programmers before I learned how to program myself, there have been coded solutions to most of modern-world problems. My question is: should I innovate/try to reinvent the wheel with the project I have in mind or just opt for something that has been established and many are using for a long time now?
11/30/2019 1:52:42 PM0x6176696c61
2 AnswersNew Answer
What is the purpose of the project? Is it just for your own training? If so, I see no problem to 'reinvent the wheel' - for you it's the first time, so you'll learn from it. A reason not to do it would be if it demotivates you, like: 'Why should I even do it, if it exists anyway?' (Although in that case you can just as well stop to do anything.)
Even if something has been written before and used by lots of people, it doesn't mean that it is perfect or even efficient. From the large number of developers out there, how many do you think write really good quality and beautiful programs? I wouldn't want to wager but I think really low percentage. Even at huge tech companies where they have serious QA process, there are bound to be some bugs. Much of the software development process is focused on delivering an acceptable result for the deadlines, instead of picking the most ideal solution all the time... My point is, don't hesitate to challenge something if you think you can do better, and also there is always room for improvement.