User:AaronPeterson/Software development

Software Development is a process that we all partake in, whether it's configuring our web browser, or or hacking the kernel, or just wishing that something would be a different way.

Tools
for now, see: Programming Tips & Tricks

Step By Step

 * Your Human brain is the most important tool you have for solving problems, you need to know what you need, want, and collect the information on how to do it. You also need to design arround it.
 * Freshmeat may already have a product that does what you want
 * a Search engine like Google|[Google] Might also help with that quest.
 * Bug reporting enables bugs to be reported, and hopefully fixed in later versions.
 * Planning software development ensures that programming is not aimless and achieves its specified goals.
 * Platforms, frameworks and toolkits consist of ready-to-use software objects that can be linked in to your program.
 * Documentation should tell you how to use the software libraries or frameworks.
 * Programming languages are what you will communicate your ideas with.
 * Text editors let you type in your programs.
 * Integrated development environments link you to the compiler.
 * Compilers or interpreters will make your computer do what you tell it to do.
 * APIs Application Programming Interfaces, talk with other programs
 * SDKs Software Development Kits, contains software tools, example code and templates.
 * Runtime environments may contain your work, so that it doesn't destroy other stuff when it crashes and burns.
 * Debuggers will help you find your errors.
 * Package management will help you deploy your product.
 * Submitting work should help you find where to send your creation or patch.
 * Patching HOWTO Save bandwidth or submit a fix to an existing project.