MouthShut.com Would Like to Send You Push Notifications. Notification may includes alerts, activities & updates.

OTP Verification

Enter the 4-digit code
For Business
MouthShut Logo
Verified Member MouthShut Verified Member
Bangalore India
'a' to 'z'
May 06, 2003 03:11 PM 2161 Views
(Updated May 06, 2003 03:23 PM)

Notice the usage of small letters(a and z) in the title. It implies that this piece of writing does not cover all the aspects(‘A’ to ‘Z’) of programming but is a subset of what I know about programming- the technical and the logical aspects.


I’d like to share with you, few do’s and don’t that I had faced in my journey so far. They aren’t present in the chronological order .So, fasten your seat belts and be prepared for the take off…


*a**:*Always* have a positive approach to anything that comes in your way. No matter how difficult and unreachable the given problem appears to be, do not get hassled.


*b**: Be strong in your *Basics*. Though it may take a chunk of your  time, yet never leave those minute important details regarding the language, the software,  or basically anything.


Books* are your best friend. And never go for the “dummies” series ‘coz it hardly covers anything but don’t start off with the advanced technical book straightaway.


*c**: *Creativity* in your programs and approach will be an added advantage but not at the risk of its efficiency.


Add *comments* to your program as and when required. The benefits that you reap are inexpressible.(I am not referring to my senior’s well-documented programs!).


Contructs*: All the programming languages have a similar set of control structures and logical constructs, the difference being in the syntax .


*d**: Be aware of the *deadlines*.


Refer to API *Documentation* as and when necessary.


*e**: Try *experimenting* with all the possibilities .You never know that you have struck a gold-mine.


*f**: Priority should be given to *functionality * than to the looks. Once you are done with the functional module, make-up and cosmetic surgery can always do some help later on.


*g**: Try *Grasping* everything  said by or written about Tech-Personalities(Bill Gates/Scott McNealy.) or atleast register it, as it may be of sense and use in near future.


*h**: Extensively use the *help* feature. In fact, it contains more specific information than a book.


*i**: Identify the *Inputs*  .Go to any extreme and see to it that your program handles all kind of inputs(even erroneous) .


*j**: Do not use too many *jump* statements in your program as they worsen its comprehensibility. Avoid computer * jargons* as far as possible and unless and until asked for it in day to day life.


*k**: Share your *knowledge* with others and value their suggestions(aka MS trusted circle).


*l**:*LOGIC* is the “KEY” factor. Your mind is the master of all trades(w.r.t program).


*m**:*Maintain* the(hard/soft) copies of the programs.(Emergencies may creep in at any time….)


*n**:*Never* say no to any opportunity that comes your way to do something new(even though you don’t know the head or tail of it) because learning is a process and that opportunity acts like an initiator.


*o**: Capture the *output* of the program most of the times(printouts). It helps in a clearer understanding once you come back after  a long break.(example after world cup.).


*p**: *Pictorial representation* of a problem helps in the better understanding.


Devote much time to *Pointers*. They are ever green and won’t stop haunting you.


If you are not comfortable with * pointers*, then select a language which doesn’t have them . Example: java


*q**:Sharpen your ability to *query* what is being asked for. The more you ask, the more you understand, the more you get and the more you can give.


*r**: For any graphics related program, check the *results* in different *resolutions* and you will be surprised to see the output.


Try to deduce a *real life* analogy as and when required.


*s**:  Think extensively on the *selection* of the languages, sorting algorithms, logic and the operating system.(It pays to spend time thinking before than spending hours on  debugging and modifying later…….).


*t**: Identify the *target* and see to it that you hit the bulls eye. Target in the sense the end-user(customer/lecturer/your younger brother or so).


*u**: Once the program is finalized, check the memory *utilization* thoroughly using the tools meant for that purpose(like JProbe and Purify).


*v**: Make your program *versatile* for example, initially u’d want to work with fixed input, then later accept it from the console. To avoid re-typing, make use of variables, assign them the fixed input and then later


*w**: Do not *wait* for others(lecturer/friend) to come and help you out. Refer to books or to internet, if possible(eg:  MouthShut.com) for the guidance.


Work* on your *weaknesses*(for me its pointers) rather than running away from them.


*x**: Give in your *x-tra effort * that increases your chances of becoming an *x-pert*.


*y**: Say *“YES”* to all kinds of ideas and implement them.(this point is similar to e’s). Never ever get discouraged by the reactions that you get after expressing your ideas.


*z**:If you can’t send an .exe file to a particular company’s account due to its restrictions then save it in a folder and *zip* it and send…(personal experience).


Software industry is ever-growing and expanding(big bang theory is not only applicable to universe but also to computer industry). You can’t afford to stop at any point of time in such field. One has to keep his eyes wide-open and updated. But, the catch is to make one specific subject(Java/C/networking/web etc) as your ultimate strength and later on find similarities between it and other languages, operating systems and so on.


Hoping that you had an informative and a safe journey(didn’t cause you any yawns or so.)…Applications are invited for the post of co-pilots who can add more to this….


Landing .

image

Comment on this review

Read All Reviews

MouthShut's Top Picks: Must-Read Articles

See all
X