Log in Page Discussion History Go to the site toolbox

I Can Do IT

From BluWiki

Hi friends, I have compiled a list of attitudes which i think are the must-haves for an IT guy. I am calling them the "I can do IT attitudes". These are the types that will set u apart from others in the industry and catapult u to success.

Why not I make IT?

You want a particular type of software. You search hi and lo for it and still are unable to find a suitable one. What do u think next? For the diehard IT guy, it must be "Why not I make one?" Doing so will get you on a search on how to go about it, which are the technical topics needed, etc. In the end, u will know a lot of topics, APIs and better programming practices and can make yet another type of application.

I have to know IT.

Say, you listen to a conversation between two people or news or reviews on a topic that u do not know about. How does the utopian IT guy react to this? He will say, "How come I don't know? I have to learn all about it. Bring on the books, papers, magazines, googles, wikipedias to me." The essence also lies in a system programmer trying to learn about ERP or a business programmer hungry to know about dual-core processors. You will end up with a good knowledge to fire away at any interviews, speeches, presentations, discussion topics, etc.

== There is a faster / smaller / cheaper way to do IT. ==

Now say, u have made a program. But a true IT guy never likes what he does. He wants a program hurtling fast in the least of memory and costing him lower than dust. This is where he begins researching on ways to make the program tiny, light-year fast and cost-free. He identifies parts which are slow, bloated and expensive in investment for him and replaces them with faster or smaller or cheaper / free solutions.

There ought to be more places to run IT.

OK, we have a perfectly running program working on an Intel P4 workstation loaded with Windows XP service pack 2, using visual basic. But a true IT guy never likes specialization. He will also want to run his software on a SPARC supercomputer or a mobile phone. This is where he will try to use universally feasible solutions such a web-based solutions or multiplatform interpreted languages such as Java or Python and make sure he creates a setup which runs everywhere. He will isolate modules which can run anywhere and those which he will manually need to rebuild in different ways so that they will cover maximum possible settings.

I can make IT more friendly.

A real nerd will want his users to keep using version after version of his software. He will use all the tricks in the book to entice his users with thoughtful features. After getting a working console program, he will port it to a GUI, then use really attractive and live GUI, then use 3D and so on, but at the same time giving the users choices of interfaces. In fact, choice is the main thing. The users can configure each pixel of the interface and each bit of the software. Well that is too much, but that shud b the kind of thinking.

I can scale IT up.

Right, with good software comes great expectations. A geek in mind will anticipate them and add feature after feature to version after version never running out of ideas. He will create a feedback system and filter out really good ideas and implement them. His power also lies in the hard decisions to reject ideas which are irrelevant at the cost of hurting the self-proclaimed geniuses. But of course, he also gets his own brainwaves.

I can modularize IT.

This is the most important can-do. In fact it paves the way for points 3, 4, 5 and 6. A nerd knows that he must and where to break his software into manageable pieces that can be individually managed and changed without the others being even looked at. For example, he will write functions which work only on parameters and return values and does not depend on shared variables, global data structures, etc that raise dependencies. In fact, he will avoid those completely. Similarly he will use many constants and relative paths or better still in-memory data structures, etc. He also breaks files into manageable pieces like headers, code, definitions, data, etc. and such things as device dependent code and interface code or platform independent parts and platform-specific parts. Lets see each of points 3 to 6 in perspective of this point.

Effect on 3 - Helps identify and manage non-optimal code more easily.

Effect on 4 - Helps seperate platform-dependent and independent codes.

Effect on 5 - Helps seperate functionality from interface and work on a smarter interfaces without compromising on performance.

Effect on 6 - Helps add new code without shifting any old features.

Also remember that over-modularization is better than no modularization at all.

I can share IT.

IT is a community where the more u give, the more u get. Go out there and contribute ur software and let it be used by people who may face ur problems. Go out there and help the forums, wikis and code repositories. They need the help and generosity of geeks. U treat them and they treat u in return. Another good tip is if u contribute ur software u can always showcase ur software at ur next interview / discussion / event, off media or Internet and make an effect better than any verbal answers and presentations. Something tangible out of ur skills is there for every1 to see.

Thats all folks, say the above lines at the same time that u recite ur shlokas, namaz or gospels. Because, as much as we belong to community religions, we also belong to the religion of Geekdom. Let the above can-do commandments shape ur attitude to ur geek life and rise above all the rest of the cannot-do IT world.

Site Toolbox:

Personal tools
GNU Free Documentation License 1.2
This page was last modified on 7 April 2006, at 09:53.
Disclaimers - About BluWiki