This post is dedicated to those who are new to developing software and are confused where to begin and how to do things.
It is also for those who want to make their own little projects to improve their knowledge.
If you feel that this post deserves attention and contribution from the forum, then please click the +1 button to support it.
The post begins after this post.
Joined: Jul 06, 2012
If I knew what it took, then I would have surely written a book by that name with each
and every detail that I could provide.
Lets keep the computer, the IDE, the tools etc aside for sometime.
I want to know how does a person (or a team) create software, from the conceptualization to delivery and upgrading.
I seek answers to questions like -
- How do you begin ? Diagrams, flowcharts ?
- How do you decide which language or set of tools to choose ? Why Python ? Why not Ruby, Java or Scala ?
- Which design is going to work for your situation ?
- If a database is needed, which DB do we use and why ?
- Working in a team ??? What do you use - GIT, SVN or Mercurial ? Why ?
- How to test your code ? Print statements or something else ?
- How to make your code secure and resistant to exploitation ?
- Protecting your code from reverse engineering and plagiarism...how ?
- Maintaining and upgrading the software.
I welcome all of you to share your knowledge and experience about these things or even add more questions to the above list.
For small self started project all these process oriented stuff(complete SDLC) may not be significant but working for a big project from a big organization process makes a lot of difference...how process oriented and a non process following projects differ that is a long term benifit(like dependency on people or company)