|
|
|
Home About Us Achu's Page Interests Friends Photos Literature Technical Paintings |
This article appeared on the IT Glimpse magazine (1999) published by Computer Science Students Association, Mahatma Gandhi University, Kerala. (Given here is the original article I wrote.) I am sorry if the Editor of the magazine wishes to edit it for some reason, but I am sure this magazine is the best place to publish an article like this. My intended audiences include graduate and/or postgraduate students of Computer Science (or related subject) and fresh software engineers who are just out of school. This article focuses more on questions like “What makes you a better software engineer?” and “What do you need to know while you are at school?” Let me ask you two questions. Are you someone who asked the above-mentioned questions over and over, but did not get a satisfactory answer? Are you someone who had been instructed to learn all that is taught in the classroom, but don’t want to do so? If the answer to any of the two questions is “yes” (I’d be glad if that’s a resounding “YES”), this article is for you. Do you have it in you? You may be a graduate or a postgraduate in Computer Science or any related subject/branch of science. That may not automatically qualify you to be a good software development evangelist in future. The question more often asked is “do you have it in you?” Do you have it in you, which makes you successful in this ever-growing and ever-competitive world of Information Technology? Well, how do you know if you have “it” in you? Here are some of the criteria I would use to find out if you have “it” in you. Approach to the problem One of the questions I was asked in a very important interview of my life was “so, tell us the total number of gas stations in the US”. How do you approach this problem? Certainly, the interviewers were not keen on my knowledge, but they were genuinely interested in the application of the knowledge. If you thought the above question is an excellent example of Sampling Theory, I would say, you have “it” in you. Pro-activeness Most of the companies review software engineers according to their performance. You, as a member of a team, will have a definite and well-defined set of “things to do”. It is interesting to note that if you do an excellent work in keeping up to the schedules, meeting the deadlines, doing the work promptly and professionally, you will most likely end up in the “average” category. That is, you are “entitled” to get a review of 2.5 out of 5. This may not earn you a significant salary hike or a promotion. Then what else is expected from you? Any manager would expect you to “do an excellent work in keeping up to the schedules, meeting the deadlines, doing the work promptly and professionally”, but does that “make you different from others”? That is what is needed for a good review. Did you do that little extra for the team? Are you an asset to the team and the company as a whole? This is what matters at the end. So, you need to be pro-active at all times if you dream of building up a reputation in your team as well as in the company. Ability to learn quickly Are you a quick learner? Don’t tell me that you learned the game Prince in 2 days and you are an expert in Solitaire. Are you trying out something, which is not required by the syllabus? Do you have a passion for new things? Then you are on the right track. Lateral thinking I have a good number of puzzles with me that require lateral thinking. More often than not, you may be required to think “out of the box”. Even though you may not face a puzzle-like situation in real life, these puzzles help you think laterally. If you feel that coding the knap-sack algorithm is the best way to think laterally, you are way away from what I am talking. Sense of humor A “must have” for you to succeed. The software engineers’ community is never serious all the time. If you are really good, you get an extension on your deadline just by cracking a joke to your manager. Managers aren’t like teachers, because they want the project get going, otherwise, they are going to suffer from top management. But if you failed to write an assignment, you suffer alone, and the Director will not fire the teacher. (Do not try your sense of humor with your teacher unless you are absolutely sure.) What are you taught in school? What I learned from my experience is that you as a student have a very crucial responsibility to help (and even let) the teacher teach you. There are a lot of things taught you may never ever require, but there are some really useful stuff also. Bottom line is, learn whatever you can. Think about your knowledge first, your marks second, the usefulness of the subject third, and scope of the subject in question in the next two years last, and if you still aren’t tired of thinking, think something else. These are some of the tips to succeed. And these are the things you most likely miss in your school-life. If you could develop such skills (and this list can be extended), you will certainly be a good software engineer. If you have “it” in you, you can do wonders. Real tips to succeed Did you expect such a section in this article? OK, here are the “real tips” to succeed. The most important one is that you must talk. And you must talk a lot. Throwing around a few terms with which you can impress people at parties is a good beginning. Try to eschew jargons in dinners while others are busy grabbing the biggest chicken piece. Hold on to anything you believe is correct, and believe in whatever is logically possible. Do not eat what your manager says. If you repeat what your manager says and if it happens to be incorrect (well, most likely!), he’ll escape (with his ability to escape from such traps—that’s why he is a manager and you are just an engineer), and you’ll be crucified. Don’t you want to succeed? Drink more coffee with your manager. Lunch with him. But treat him as a potential destroyer of your career. Among team members, create an image that you are against your manager, but in reality, do not fight against him if he is real bad. Talk more technical issues with your manager if he is technically weak, and talk about weather if he is technically sound. Try to say hi to your manager’s boss. Act like you’d volunteer for anything, but do not volunteer to do boring work. Use email for all official communications that you are sure of, if you are not sure what you are talking, do not use email, just go to the desk and chat one to one. More and more tips are left as an exercise to the reader of this article. Read my other published
works: |
|
[ Home ] [ About Us ] [ Achu's Page ] [ Interests ] [ Friends ] [ Photos ] [ Literature ] [ Technical ] [ Paintings ] |