I remember those days when i was in my programming classes and my mentor used to say- “ you don’t have to become a typist, but a programmer.” That was in a satirical tone, as he meant to draw a difference between a good code and a bad one.
In order to be an efficient programmer you need not to go through the tutorials and copy and follow the same. Instead you need to hone your skills!
I too have learnt from my mistakes and this is why I am sharing all the mistakes in this blog.
Learning can be a very rare process when you are a corporate coder. You have deadlines to meet, you have clients to attend , a report to submit and also a boyfriend/ girlfriend/ friends/ kith and kins to attend. This is where our programming community is going wrong. If you are a programmer and you are not learning a thing or two new, then your are stagnating your career. Learning new things not only increases your knowledge, but also helps you to perform better and optimize your programming skills. This further brings to you more quality time and also helps to improve your career. This further helps to improve your understanding level and the way you look at problems.
Use Revision Control
Over confidence is harmful
Using revision control is must for your code and you should certainly use it if your are not. We have free revision controls such as GitHub, and moreover the price of the advanced version is very less, if in case your needs grows in future. Revision control tools help you to function in a very controlled manner and is one of the proper safety measure. Apparently everything will be fine when you are not using a revision control, but it can have pernicious effects if something goes wrong.
Moreover, when you have to work of projects which involve “cowboy coding” , then in this case harnessing a revision control system can prove to be a lot more important than just being a simple precaution, as then it helps you to carry on your work a bit faster.
So that the work goes in tandem
The best way to carry on a streamline program layout is to create a plan for implementing your code before advancing to actual coding. Simple task will only require small flow diagram for creating an implementation model. On the other hand a diagram or flow chart will further help to simplify difficult or complex problems by fragmenting the main job into smaller jobs. Moreover, if you have a complex task ahead then it is advisable to fragment the task for each module, flow of data and then create an implementation flow for each module.
Planning might delay the development process a bit, but it helps you in long term by letting you incorporate adept methods to complete your job. This further helps you to save unnecessary deadline delays and cost overruns. This is the reason why it is highly recommended to invest time for planning before starting with the development. Moreover, having all the steps well drafted in advance will help all the teams function in tandem.
Optimization can be tricky
Shrinking several line of codes into one is one of the most brilliant thing for the newbie developers. I personally enjoyed nesting multiple functions, removing comments and spaces and several such things which optimized my code. This might sound extremely silly but I would like to mention that we use to have a code optimization competition.
This craze got over when we started our jobs, as there we realized the importance of clean code rather than writing a shorter code. This happened when I got a project to modify and I have to sit for hours in order to understand what was written by the programmer. Then I actualized that writing shorted coded wasn’t such a good idea.
Say no to Hacking
Follow the moral code
I learnt this when I started my first internship project. I had a deadline to meet and that to in a very short one. So, in order to save my self I thought of taking a shortcut. Though, sometimes it is necessary and can be refactored if you did it in the right way.
This was the time when I realized that hacking a framework is never a short route. This might help you to meet your deadline and present you as a brilliant programmer on the first go, but trust me they are very costly to fix. You can promise your clients to deliver functionalities which can be done by altering the framework file. If you are adopting hacking in lieu of programming, then you need to maintain this for as long as the project exists.
As we know that programming skills is like alcohol, though a very inapt metaphor, but yes it’s gets better as it grows old. It doesn’t means you will be a ingenious programmer once you reach 50, rather it means that more and more practice will help you grow your programming skills.