When you are developer it is always exciting to be able to get to the code as soon as possible. You start to feel the tingle when you get a good idea and you open up your text editor or IDE and start cranking out code. And if the project is small enough and you are feeling really inspired then you can probably write the whole thing in a day or two. There have been many times and there has been a lot of success with that type of development.
But there have been many more missteps when developers have taken that route when it comes to creating their software projects. You are supposed to be a software engineer for a reason. You are supposed to take your time and truly plan out the project that you are doing. It does not matter how big or how small the project actually is. You are supposed to take your time and plan it correctly. Because if you do not take the time to plan out the project step by step then you will find that you will run across serious bugs and security problems down the line.
But even when you do take the time to plan out the project carefully, you can still run into problems. Most of the popular software that you see out in the market right now all took their time and created a good and viable product. But they still have problems as well. Just because you did everything by the book does not mean that you will be able to avoid all of the problems that happen to people who do not do so. Mistakes are made by the most careful of people. This is why it is not enough for you just to know how to program an app. You must also learn how to debug it as well. That is how you will be able to know that no matter which of the end of the development process a mistake happens, you will be able to find the problem.
As a programmer you should have the debugging process of your development time accounted for all ready. It is one of the things that you are taught when you first start learning how to program. But many developers do not either know this process or they skip it because they consider it boring. It is just like a lot of developers who do not run TDD test on the programs they create. It is supposed to save time when it comes to bug creep down the line. But because it causes you to write more code most of the developers out there do not do it.
What happens is a lot of developers just run the code and compile the project. If it works then they think they are fine and if it does not run then they go look for the problem. They do not know whether the program will run correctly in all sorts of different conditions. They just know that it runs fine now in their perfect environment so there is no need for them to worry.
A developer who is looking for security problems will throw edge cases at the program to see how it responds. That is what the black hat hacker will do when he is trying to get into your program. So you need to do the same.
Learning how to test and debug your program is essential in fighting off the bad guys.