November 18, 2010 at 2:02 pm | Posted in Programming | Leave a comment
Tags: community, programmer, programmers, Programming
In my earlier rant I talked about how Indian programmers are not interested in learning and sharpening their programming skills. I think did not do a justice by talking only about majority of them. There is a minority who is really interested in learning. What about them ?
There are programmers I have met (very few though, you know what minority means) who are interested in sharpening their craft, who are interested in learning programming but the organization does not support such kind of environment. Most MNCs in India do not provide an environment where a programmer can learn basics of programming, they never ever talk to their programmers on why Niklaus Wirth said Algorithms + Data Structures = Programs. All of them are made busy to meet deadlines, and they have to do it else they will loose their jobs. No one wants to loose his job. There will be hundreds of programmers working on one project and almost 80% of them never know what other one is doing. There will be less than or equal to hundred source code files and those 120 or 100 or 200 programmers will be working on them and on the top of that project manager will not be knowing which data structure (in conjunction with what algorithm) was used for solving the problem and then companies wonder why their proprietary software is called crap quality by programmers who have Open Source mindset. Programming is about solving problems, solving them in a smart way, solving them with an attitude of diligence and contemplating over small, very small and very tiny parts of code. Big parts, big things do not matter when it comes to problem solving in programming (coding). If you think you should have big programs, big files and need big teams to make a fine piece of software, you are wrong. Companies already have hired hundreds of programmers, dividing them in teams and then managers are managing them like a herd of cows and they are making software this way since the inception of word software. No wonder they still have problems they were getting 20 years back, testing phase of the code written by those hundreds is 5 to 10 times more than the coding phase. What a shame. How much it costs ? The more you do it, the more the price of end product is going to rise. You have two solutions for this problem
- MBA solution:
Filter all the empoyees based on some stupid tests taken from some books that teach wrong ways of programming. Fancy name is cost cutting, real name is jackassing in action.
- Technical solution:
Provide an environment for programmers to learn, to sharpen their programming skills. Fire the current manager (especially if he has MBA degree) and hire technical one, he will do the job better. Ask programmers why Niklaus Wirth said Algorithms + Data Structures = Programs. Fire all those programmers who are not willing to learn. If you are a opening a new division of the company, then rather than hiring 100 programmers, add the salaries of all 100 programmers, divide it by 4 and hire 3 programmers, like Richard Heathfield, Pascal Bourguignon , Victor Bazarov, Edi Weitz, H. S. Lahman or Neil Walfield. Pay them that 3 units of ‘100 divided by 4′ salary and get a piece of software which your 1000 programmers team can not create in a thousand years and I bet on that. Don’t forget Arnuld Uttre for 4th position =:o)
Many managers and programmers may (and will) think that I am talking of crap solutions. Well, You can think anything you want and I speak from experience. I talk real, I write facts. Companies who pay salaries/bonuses on who wrote more lines of code are simply wasting their resources, pay more to them who write less code. Real programs are succinct and short: for(;;) *p++ = *q++ . In India, there are too many talented programmers who are living their lives on tiny financial amount they get. There are programmers who write crap and get 10 times more salary than the real one. There are very talented programmers who are doing odd jobs because they can’t get a programming job. Whether you agree or not, a quality piece of software will always be created by a programmer who has a solid grasp of algorithms and data structures and if you don’t have such kind of programmers then, either your management is missing on real talent, they want to hire good talent but hiring practices are the opposite, just like every other usual mediocre company finding hard to get into top position in IT industry
Copyright © 2010 Arnuld Uttre, #331/type-2/sector-1, Naya Nangal, Distt. – Ropar, Punjab (INDIA) – 140126
Verbatim copying and distribution of this entire article are permitted worldwide, without royalty, in any medium, provided this notice, and the copyright notice, are preserved.