Friday, July 13, 2007

Why is coding considered inferior?

So far, I've been in two quite different IT environments.

One Environment where you are known by your technical competencies and knowledge, you are appreciated even for improving single line of code or eliminating single duplicate line of code. Environment where people visualize code rather than preferring business process diagrams and UML charts, one 'Attila' (best of all coders) of code is known as Software Architect who rather prefers to be called just 'Technical lead' or Senior Developer, this guy is hero for the newly recruited geeks. Environment where people value instant feedback and give them too. Everyone here talks about code and team develops code cultures among themselves.

The Other Environment where you are known by your degree and institute, you are known by your swaggering designation irrespective of your skills and special abilities per se (for e.g. Senior Technical Consultant - who would consult notepad bugs), or you are known if you've special flattering abilities which can trigger a laser of lime light on you. Where it doesn't matter how you code or what you code, but how you present it to management. Where there are special board of 'designers and architects' who analyze and model the solution in industry standard diagrams, the diagrams which can't compete an ounce of real life value. Team members try to hide the details and present problem 'abstractions' to the leads (not that it really matters to lead ). Environment where long feedback chain's ends meet nowhere. No one speaks about code, and if you mistake speaking about it, you'll be provided with 'the look' (not as terrible as the woman look ;)), meaning you're considered inferior just because you spoke about code. Everyone just keeps off the talks where code is inevitable, but would prefer to be called by a fancy technical designation.

There can be many other possible differences, and if you've worked in both environments, you will come up with a list of your own. I just wanted to highlight the variance in the importance given to the most important activity of trade in the same industry! I don't understand why coding is considered bad when this is the only thing which we do uniquely?

I'm a developer who loves coding, and I've no plans to leave it for management (highly non-tech) work. Ever since I left my first job, I've seen more people considering 'coding' to be low-level and inferior profile.

If you join big services company as Fresh grad, you'll quickly develop this feeling that 'coding' is laborer's work, and you should be doing something worthwhile. This is because the way people work (coders) in such companies is disgusting and any non-insane person will runaway from this profile. This doesn't make coding a bad job but it definitely suggests that you should leave that organization to continue developing software. I know many friends of mine who chose something else for developing software, because they think coding is bad, or may be because they could never code well.

And we also have groups of people in modeling corner, who've developed the feeling that coding is mundane and should be automated. We've tools today which can partially generate code. We'd have tools which can generate full code, but we've to code (or model the problem to extremities) the models. Coding as an activity remains part of software crafting with Modeling approach as well.

I consider 'coding' a skill, and take pride doing it. I don't know why people 'make' it inferior.

15 comments:

Jesse Kuhnert said...

In a world of software concerns - anyone who considers writing it would have to be either an incompetent moron or just severely misinformed....Or both

This kind of thing seems to thrive at big consulting contract type places - esp. government work. Get out if you can. :)

Simon Brown said...

I couldn't agree more. :-)

Jerome (Sui-vie/Pharma-file) Admin said...

What about the success of the projects ?
Is it better in the first environment or in the second ?

Wille said...

I think it is pretty much a cultural thing. India, where you live I presume, is probably influenced by the UK, which is a "manager is king" type of culture unfortunately. Probably due to UK technical education being extremely poor (I live there, and I am not impressed by my "competitors" for jobs..).

Other places, like some of the Scandinavian countries, and the US in particular, engineers are heros (just look at Silicon Valley!).

Also, working for large consultancies will always suck.. :)

Nirav Thaker said...

@Jerome
It's apparent, do I need to tell? Of course, First one is better. Successful deliveries and happy customer. Whereas in other, Its stretching deadlines and delayed releases.

Nirav Thaker said...

Wille,

IMO, Indian IT industry is largely influenced by US itself. And you are right, Manager is the king mostly. Thought I've no idea of UK.

But you are lucky if your manager is technical, chances are that he might be promoted from a technical position say Architect.

Nirav Thaker said...

Jesse,

Have courage man!

Shooshpanchick said...

I think the cause is that it is impossible to earn LOTS of money without moving to management. Because of this and the stereotype that everyone wants to be a millionaire, those who do not want to are considered too lazy/weak/geeky.

Gabriele Bulfon said...

There will exist a world where Manager is the last one on the chain, and the coder is the one to make the real money for the value it really gives.
Then the Manager will switch back to coding, and remember how lovely it was: to create without fuss.

Keep thinking like this Nirav, I'm with you: maybe we should build a company and hire a couple of managers to handle annoying matters, and give them their few dollars for their real value.

:)

Luis Ramirez said...

Hi, I believe that what really matters is to be a result driven person. Sometimes and it had happened to me in the past, developers tend to be evangelist, we cannot see that what really matters to a company it is to have the product working in the time it was supposed to. Now, after learning it, everything is so clear. I love to code, that's why i got into software but you have little way up in the ladder of big companies (at least in El Salvador third world-Latin American country) which is very different in the management environment. The only thing left for good coders or at least passionate ones is having your own company, but hence comes the situation where you start to worry more about your company surviving than that tiny and annoying performance draw back in your n line of code. Let's face it guys we are urge to learn to survive in the big companies and horrible as it might sound, you ought to start thinking like them. Wish there were an easier way to live life coding, but it might be harder to find than dealing with management morons

peace

the_nerd_guy said...

being a developer maybe only considered low in India not else where in the world. maybe you should consider migrating to the west. just a thought.

Vamsi said...

I agree with Wille to some extent. Nirav, except in the place I am currently working in (which is not an Indian company and hence the US work culture being carried forward) I didn't find the Indian companies are influenced by US work culture. Manager has always been a king in Indian work culture (many Indian films too carry the same theme :) ). Moreover Indian companies hire managers (non-technical) from non-IT field too where there is stringent hierarchy. But it is not always the culture that has the effect it is also the generation to which workforce belongs. The current young generation is pretty much on the right track, I feel so.

Hiren said...

gr8 post nirav.
u may love this
http://weblog.raganwald.com/2006/04/why-do-we-resist-idea-that-programming.html

atuls said...

Excelent post Nirav. You're right, for creating a better & friendly work culture, we need the First environment.

eokyere said...

nirav, insightful!

cheers,
eokyere