You start learning how to code from your high school classes, You keep learning different programming languages at University level and finally you chose a programming language for your career after university, That programming language is most time the one you chose for your final year project as well.
No matter how much grip you have in any programming language but experience and time are great teachers. You learn and improve your codding skills a lot with time when you come to practical environment there you also develop your own practices in codding for better results and quality codes. Those practices are actually your secret ingredients to make your product more acceptable in market.
Although these are secret ingredients found or develop by personal experience but still some experience Software Engineers who believe that "The end of all knowledge should be service to others - Cesar Chavez" share their personal experience with the new comers to the field.
We made some research to find out those secret ingredients shared by experienced software engineers over internet, Here we are going to share with you the abridgment of our research.
Never Interrupt yourself when codding: This is something what we found common in all the experienced programmers. This thing is becoming so common nowadays we keep interrupting our-self by Mobile phone, By Facebook, twitter and lots of other social networks which actually interrupts our flow and sequence of thinking on a specific problem and in result we compromise our productivity and creativity.
Learn By Practice: Engineers try to practice programming languages before implementing/Writing program in it. You cant learn writing a quality software like this.. Learn by practice just see the syntax of any programming language and start writing the programs in the language the more you write the programs more you google the questions more you learn from the investigations and experiences of others the more you become a good Software Engineer. Do you know how much important this point is? When I was writing this article this point was at 6th number I copy and past it on 2nd number.
Write First, Refactor later: If you are going to write a code to solve some specific problem just write the code solve the problem, don't think about the number of variables you are using, don't think how you can avoid the large number of lines of code just solve the problem that should be your first priority once when problem is solved now refactor the code think how you can reduce the lines of code, How you can avoid some unnecessary variables to save memory and etc. This tips is the extraction of experience and sounds really logical and time saving to me try it.
Don't reinvent the wheel: That is really something important, If you are a good programmer, don't try to be our smart, Program something that is not available, don't reinvent the wheel nowadays there lots of open source libraries, API,s are available to perform common type of task just google them and use them save the time of codding and testing as well. e.g. If a programming language is providing you a built in future to count the number of character in the string why are you thinking to write your own function?
UI First approach: Some Software Engineers believe that when you come to the development phase you should design the User Interface first and then you should move towards the back end to define your data structures. If you define the data structures first and bend your UI according to Data structure it will make a simple task more difficult for you and resultant UI will be complex for end user.
New Future new Class: Well, all the programming languages are moving towards the OOP now so this is a good quality improvement secret from the experienced programmers. If you want to add some new futures to your project do not edit the old classes and methods, just add a new class for the new future and code it separately.
Google is your friend: Please don't try to prove that you are a good programmer who don't google any thing, The fact is you just can't copy and past the code exactly same from the internet you always have to modify to some extent. If someone else efforts can help you, this is not bad thing use it. Code when it is necessary but don't hesitate to google your problem or by using the problem you found over internet.
Ask Stupid Questions: Always ask what you don't know, no matter how stupid it sounds to you but ask it.
You are not expert: The day when you say "I am expert" is the day your career dies.