
“Hard Work is the only key to success.”Is it? The key which was considered as one of the important Mantra for success is somewhat self-effacing and is considered as a cliché or a stereotype by most of the achievers of this ever-changing and competent environment. Change is inevitable and is the only constant in the “known” universe; so there has to be a change in this stereotype too.
The achievers from various diaspora believe that strategic planning, determination and necessary motivation are the keys that are fortuitous and lie above in the to-do-list for achieving a purpose. Since, I belong to the tech fraternity, so I will emphasize more on its backbone i.e. coding. Recently, there was a study that only 4.77% candidates can write the correct logic for a program and among 95.23% over 2/3rd could not even write code that compiles. Although, there was a twitter tussle on the stats and statements but “The height of arrogance no matter what it is can never encapsulate truth.” I also have a credo that this might be right because I have experienced and have seen my peers in the same “catch 22”. So, what is the problem behind that? Do they don’t work hard for it?
The answer is a big no. I can guarantee that out of 95.23% roughly 90% of them do work hard(they take courses of various technologies, register themselves to various online coding grounds and for a week or two become sure that coding will be on their fingertips) but due to lack of necessary planning they finally choke to their own procrastination and become ignorant.
It is must that you should be damn-confident about your coding skills and coding should be at your fingertips if you belong to IT fraternity. According to my eight years of experience and as far as my feeble powers of knowledge goes, these are a few must-do-list to enhance your programming skills and be a competent programmer.
Daily Must-do’s — :
- Provide yourself with necessary motivation-: This is one of the most vital step for glory in any field. Keep in mind! no one was, is and will be writing perfect codes because everyone is a part of nature and nature itself defies perfection. But Perfectionist do exist and you are one and can also be in writing codes by ample practice and perspicacious planning. Motivate and inspire yourself daily and just exploit yourself to one thought,”You are sui generis and you are the best the way you are and keep improving.”
- Take breaks Don’t push it right away-: One of the vital problem that is quite common among all, i.e. for a week or two we are filled with motivation but after a particular duration finally becomes fugacious. This happens with everybody no matter how focused and motivated you are. But there is also a tool to take care of this. When that particular time arrives just take break and in that time(break) tell yourself that, “It happens to everybody and I am no different but I am different in the way I will handle it. I have to reach a point and be better and nobody will stop me. I have created the shortcomings not anyone else and only I have the charisma and stoicism to convert them to my forte. And It’s not of so much kerfuffle, I’m certainly going to do get out of it and make it my passion and hobby.”
- Embed coding in your lifestyle-: Don’t take things very seriously. Try to find fun and enjoyment in the things you do. I do not need to tell you about the fun and enjoyment because everyone is the mozart of that art. Just for instance stuffs like How to propose in terms of coding, How to wish someone or write a note, etc.(You all are much more creative than me). Do not take coding as a burden instead try to come out with the part that you can do with it in your real life. Live with your codes. It will help you stay motivated.
- Enhance your external environment-: In order to become a good and legendary programmer you must know what the legendary programmers do. They talk and have the community of programmers so that they are focused and motivated by knowing the work of one another.Join various communities like stackoverflow , github , etc do the same. Always stay in touch of “good” programmers. You can do something like this which too worked miracles for me. You can create a repository on github and start pushing programs per day and try maintaining a daily streak. Share it with you friends and there is a lot you can think of. After some time it will become your habit.
- Stay updated and “Documented”-: Stay updated with the technology that you work with. Keep ameliorating your program with comments because they are surely going to act as documentation for you in future. Here is one more way which is definately leading to failure and that is rushing from one language to another without purpose and just to write it in your resume. Many of them just keep on mugging up with the technologies and forget to focus on the core requirment i.e. work. The same case of ocassional covfefe (mistake) is with the selection of study material. We keep on collectingbooks and study materials and after that just keep on procrastinating that,”Okay I have the book, I will read it any time I like and ‘time’ never comes”. So just keep as much material which you can read and prepare and then move to other. Moving on to languages and technologies; if you are very good with one language then you can migrate easily to another but first be good(and literally good) in the language you choose. If you are a tyro keep these at your fingertips although from coding point of view first one is enough:
- C for Data Structures and Algorithms
- Java for development
- MySql for database
- Python for scripting(optional as a tyro)
- Android for mobile technology(optional as a tyro)
- HTML5 and CSS3 for web designing
6. Embed coding in your lifestyle-: Don’t take things very seriously. Try to find fun and enjoyment in the things you do. I do not need to tell you about the fun and enjoyment because everyone is the mozart of that art. Just for instance stuffs like How to propose in terms of coding, How to wish someone or write a note, etc.(You all are much more creative than me). Do not take coding as a burden instead try to come out with the part that you can do with it in your real life. Live with your codes. It will help you stay motivated.
7. Follow the modular approach and strategize-: Just as you eat pizza in bytes and not as a whole try to break the problem statement into small modules. Do not directly rush to #include <stdio.h> instead first try to figure out what the problem is. If you are given to make a house, you do not just start laying bricks. You need to first plan that how many rooms are needed. What type of materials are required to make the same, how could the house be built with less cost and with more purpose; the same applies to program as well. You need to understand what data structure will be suited, how the program will be cost effective and developed with minimum possible time complexity,etc. The gist being:
- Take your ample amount of time to understand the problem domain. If you figure out the problem statement you will code quite easily. Don’t rush on code at first.
- Figure out the ways to make your program readable, cost effective and creative.
- Try to break the problem statement into chunks, conquer them and unite them again.
8. Be omnivorous and silly-: Do not just stuck to one particular solution to the problem. Try to read the code written by other programmers “in free time”(You get a lot of those). Understand their way of tackling the problem and document if you get something lavish. Sometimes being silly makes you smart. Example-gratia:
x >> 1 {print "Happy"}
//can also be written as
x >> 0x01 {print "Coding"}Quite silly indeed but proffered me praise and compliment by one of the interviewer as a glib and agile programmer(Although I was nothing more than an imbecile in coding those days). Try to come up with omnivorous solutions to one problem. Take your time, be confident and keep documenting.
9. Last but not the least PRACTICE and be honest-: The last but one of the most important step that does not need its introduction. If you want to be good and even legendary in any area of interest practice is must. While practicing your stuff after certain amount of time(this time more than a week or two) a thought will pierce your brain that No success is visible now also. I have tried and have been good at it but nothing’s changed as I cannot see my destiny; and it will be evident to nearly all(Exceptions do occur although) of you but be positive and just use these lines,”I hate practicing you. It aches me to give time to you. But If I have to become legendary so called geek I have to practice and I will stop at no cost.” Mohammad Ali quoted,”I hated every minute of training but said to myself train now and live the rest of the life as a champion.”
These points if practiced honestly would not only work miracles for you in terms of coding but also help you excel in your life; the purpose for which you were created.