| Site Home |
|
|
Vadim Motorine's Ideas BlogTue, 15 Aug 2006 Why Smart Software Developer Don't Need to Know the Technology to Use It. I mean don't need to know in advance, of course. It is because the most of the software technologies are very simple and all that the smart developer should do to start using them is to read a few paragraphs in a very good book. Sometimes it is just one sentence, see for example XML in Seven Words and COM in Twenty One Words. Most of the thick books about the technologies are just the handbooks of the functions in the technology. No reasonable person will try to learn them. They will use the index instead. Most so called experts in the technologies just learnt the most often used functions from the handbooks because they used them often. It is nothing especially to be proud of because it may happen that the new technology exits that is more suits the particular task. Really smart developer searches for the most suitable technology for the particular task independently of whether this technology is new to her / him. It means that the numerous lists of the technologies in the job offers and job resumes are rather senseless as well as the certificates in the technologies. I believe that there are two reasons for their existing. Developers pretend that technology is complex and they are the experts because it makes them indispensable in the eyes of their bosses. Large companies pretend that their technologies are complex and need certificates to tie up their customers to their technologies. However in their hearts they know the truth. For example Microsoft in the job interview rather asks to solve general puzzles than checks the technologies. I know it exactly because tried to get the job in Microsoft in year 2002. My friend once got the job to develop for Linux though the startup company knew exactly that he never did it. This person worked for this company several years and both were happy. So why do I write about it? Just because I feel that in many cases the really smart developers that are able select the suitable technology for the task and work quickly and reliably cannot get the job they deserve. It is a kind of loose-loose. The company doesn't get the really smart developer and the developer doesn't get the job. How can the company check that the developer is really smart? One way is to check whether the developer is generally clever as Microsoft does. However it is mainly for the students. For mature developers the more reliable way is to look at their projects. If he / she made one large project, he /she is able to make another independently of any technology. And at the conclusion I would like to quote the words of Peter Drucker's ("The Man Who Invented Management"). As he said to Harriet Rubin "A knowledge worker needs one thing only: to learn how to learn" |