Before we jump into the topic let me introduce who a software developer really is?
But what are the principles of software engineering?
Before we jump in to see How a software developer can apply these basic principles to build a better software?, let's understand what a Software Development Life Cycle is?
The stages of SDLC include:
We won't get into much detail but you will get a fair understanding. We will dicuss the aim of each of the stages and the activities/work that needs to be done.
The aim of this stage is to determine whelther the product is financially worthwhile and technically feasible.
The aim of this stage is to understand the exact requirements of the customer and document them properly.
The aim of design phase is to transform requirements specification in a form suitable for implementation in some programming language.
The aim of this stage is to code and test the modules designed in the previous stage. The end product of implementation phase is a set of program modules that have been tested individually.
The aim of this stage is to integrate different modules in a planned manner.
The aim of this stage is to enhance or maintain the provided service through the product. The maintenance of any software product requires more effort than to develop the product itself. Typically, development effort to maintenance effort ratio is 2:3.
Each of the stages in the Software Development Life Cycle are too vast to be dicussed in a begineer's guide. I have focused mainly on Software Development Life Cycle because it gives you a workflow to develop a software product. Following a SDLC would be the first step into becoming a better software developer . It makes a great difference in terms of time, cost and effort and that's what separates the beginner and the experienced.