
Stuck in Code - niyazpk
http://pindancing.blogspot.com/2009/04/stuck-in-code.html
======
plinkplonk
I wrote that blog post immediately after the conversation referred to in the
first paragraph. I was very pissed off by my friend's assumption that coding
was some kind of menial task (he used to be a dev some time ago) and I did
very little editing (and it shows, for which, apologies. I sometimes use
writing as catharsis and don't bother with polishing when I've blown off
steam).

These days I would just shrug and move on, but I remember I was _very_
irritated with someone assuming that everyone wants to be a manager and that
the failure to "move on from coding" was some kind of failure.

PostScript: the person I had the conversation with("Vivek" in the post) is
"Director of Innovation" at an "Offshore Development Centre" here in Bangalore
these days and he is leading a "strategic initiative" to "increase corporate
innovation" (In private conversation he freely admits that he is just "pushing
paper and attending meetings" and that his employer is hopelessly non-
innovative and bureaucratic) while I am still coding in Haskell/C all day,
working mostly from home, learning new things and working with smart people.

What is worse (from his pov) I still make more money than him which drives him
a bit crazy but he consoles himself with "you are a unique kind of crazy guy".
We have our differences of opinion but we are still friends (I think ;-) )

~~~
ad93611
Thank you for writing the blog post though. Yes, your irritation did come out,
but it is useful to have articles like this to help change the perception in
India.

The value that is generated by different roles in software is generally
measured by the amount of money that the market sets for it. In India, in
general the market value of a developer is still lot lesser than the market
value of a "manager", mostly due to the low value work done in India by the
outsourcing companies. I am sure there are exceptions, but that is the general
trend. Your assertion that you make more money than the "manager" indicates
that you are an exception. I wouldn't fault the manager for a making an
assumption based on the general trend though.

~~~
plinkplonk
"to help change the perception in India"

I don't think the perception of India as a land of (by and large) cheap semi
competent (at best) devs with broken English will go away as long as
outsourcing is a reality (and its champions, like Infosys, TCS, Cognizant etc
are the folks with the most PR).

But that is all right really, at least as far as I am concerned. All the
_really_ sharp devs I know here in Bangalore have plenty of interesting and
satisfying work to choose from and could move to the USA (or wherever)
whenever they want. They just _choose_ not to, which is a hard concept for
people who'd kill to get on the H1B/Green Card/USA citizenship treadmill to
wrap their heads around.

It is only the folks with somewhat "generic" skillsets that the bodyshoppers
want, and with no unique knowledge or skill, who are really "stuck" in the
outsourcing jobs and (in some cases) desperate to move on to some
unarticulated "better job". And in most such cases the "better job" _is_
management. Why waste time hacking on some nightmare enterprise legacy
codebase no one in the West wants to work on anymore when you can politick and
attend meetings and send meaningless emails for thrice the money? If I were
working in some soulless "offshore development centre" I'd be a manager too.
It is the lesser evil.

Even outside the bodyshopping fraternity there are a lot of people here who
talk a lot about the latest kool aid fads - agile, lean startups, functional
programming,what have you, but very few people who can actually get stuff done
or code up something interesting or value providing. The folks who _can_ are
swimming in opportunity.

As Alex Feinberg (strlen here on HN) commented here the other day "Specialized
knowledge is how you make your way out of the enterprise/web ghetto and onto
much more fascinating problems". The "enterprise/web ghetto" is where all the
outsourcing critters swim and there are plenty of warm bodies competing for
those jobs. No Indian dev with any kind of specialized knowledge lacks for
opportunity.

My _personal_ belief is that if you have access to the internet and can afford
a cheap laptop to install Linux on, your only limits on achievement (in
software) are those you impose on yourself. And many Indian devs do impose
many social limitations on themselves ("I want a 'good' arranged marriage" heh
heh) which are fulfilled in dead end jobs and not in the riskier but more
interesting opportunities.

There is nothing really stopping a guy in India from building good software.
Sure you have to work harder/smarter if you are not in Silicon Valley/don't
have an American passport/whatever but so what? The world was never "fair" in
an absolute sense.

(I hope that wasn't too harsh but imho many Indian devs whine too much about
lack of opportunity and don't code/learn enough).

~~~
djhworld
I think the same can be said of western developers who just code enterprise
software and leave it at that.

I'm stuck in the enterprise rut at the moment, but I have personal projects on
the side.

------
maushu
Something similar happened to me during interview:

The interviewer said something like: "What are your prospects for the future?"

My response was something along the lines of coding until I die, since I
_love_ coding.

His response to my answer still baffles me to this day: "Nah, you will end up
as a manager sooner or later." He said this with such a conviction, as if it
was the ultimate goal of being a code monkey.

Thanks but no thanks, I think I will keep coding.

~~~
djhworld
Interviewers are usually HR who have no idea what they're going on about

~~~
maushu
In this case it wasn't a HR. It was a manager. (I'm guessing he was a
developer before too.)

~~~
plorkyeran
I'm guessing that he was once a developer who once loved coding and believed
that he'd code until he died, then eventually tired of it and so assumes that
everyone will do the same.

------
samstokes
I really like this:

 _At ThoughtWorks, when I worked there, we had an inside joke. Every technical
person would call himself "Just a Developer" and there weren't any hierarchies
among developers except ones of peer acknowledged competence_

------
jcromartie
Maybe management types see code as something you do for someone else, i.e. a
task that is delegated to a worker. They might lack the capacity to see any
joy in creating something. They don't understand how much fun it can be to
code and create. (Pure) managers create only indirectly.

"The programmer, like the poet, works only slightly removed from pure thought-
stuff. He builds castles in the air, from air, creating by exertion of the
imagination. […] Yet the program construct, unlike the poet's words, is real
in the sense that it moves and works, producing visible outputs separate from
the construct itself. […] The magic of myth and legend has come true in our
time. One types the correct incantation on a keyboard, and a display screen
comes to life, showing things that never were nor could be." -- Fred Brooks

------
onan_barbarian
Definitely not just an Indian problem.

Frighteningly, quite a number of people emerge from CS degrees with the idea
that they need to absolutely minimize the time they spend programming and
structure their careers to rise into management as quickly as possible.

This is sometimes carried to ridiculous extremes. I have seen a situation
where a proto-manager type with specific experience with a given product
delegated a critical, time-sensitive bug fix to a 10x less effective person
(with very little specific expertise in the area). This was done largely in
order so that the proto-manager didn't get accused of being an 'individual
contributor'. Needless to say it didn't go well for anyone involved: company,
customer or either of the people involved.

------
mcantor
This blog post touches on so much!

First off, I think it's very interesting that the blogger characterized the
assumption of promotion to be a very Indian/Asian thing, because it's
absolutely something that, in America, is considered a very American thing!
The whole "Peter Principle" concept of being "promoted to incompetence" is
lamentably American, and it certainly shows itself in things like _The Office_
, which began in the UK, too.

The part about being "just a developer" at ThoughtWorks also seems very, very
similar to the corporate culture at W. L. Gore and Associates[1], which
Malcolm Gladwell discussed in _The Tipping Point_. At W. L. Gore, everyone is
assigned the title of "Associate," and that's it. Same deal!

The developer/manager transition has always fascinated and confused me. I feel
like the term "manager" is overloaded. To the extent that a manager's
responsibilities are to shield his team from corporate politics, to make sure
the code they're working on is solving the _right_ problem, and to keep the
dev team happy, I would say that going from developer to manager should _not_
be a vertical move, but a _lateral_ one. Writing code and managing a team of
coders have _nothing_ to do with each other.

On the other hand, the managerial position that I would describe as _lead
developer_ feels like a more appropriate "next step." A lead developer might
not write much code (which is similar to a "manager"), and a lead developer
might be called upon to evaluate and discuss business requirements (which is
similar to a "manager"), but his concern is the technical repercussions of the
decisions made in that space, _not_ the political ones.

I'm sure that many people with far more experience have written much clearer
explanations of this pattern, but it's what I have seen so far.

1\. <http://en.wikipedia.org/wiki/W._L._Gore_and_Associates>

~~~
plinkplonk
"First off, I think it's very interesting that the blogger characterized the
assumption of promotion to be a very Indian/Asian thing, because it's
absolutely something that, in America, is considered a very American thing!"

I've worked in the United States :-) (I am the blogger). Believe you me India
takes Office politics to a whole new level that Americans can only dream of
:-).

Partly this comes from the fact that the Indian managers of "offshore dev
centres" don't have any real power to make decisions(as compared to their
American counterparts). Besides, society is far more hierarchical than in
America, which reflects in the work place. Etc etc but office politics is
_really_ bad in India. As an example one of my (Indian) friends recently moved
back from Google Bangalore to Mountain View because he couldn't stand the
level of politicking here.

~~~
mcantor
Wow, that's remarkable. And telling that even Googlers aren't shielded from
politics there. You have my condolences, sir!

------
sp4rki
I was asked a few years ago if I wanted to climb up the corporate ladder and
become a manager. My answer was kind of like this: "Yes, but no. I think it
would be more useful to promote myself and X to technical leads (sort of
having various people with a pseudo CTO position), keep us doing what we love,
while steering a project based on the requirements. I want to lead the
projects, I want the bigger paycheck, I want the extra responsibility;
however, I want to keep coding and architecting solutions... I do NOT want to
push paper around."

This days the "technical managers" are needed less (of course there are
exceptions to this rule) and less. You need a technical lead that can
influence projects, make decisions based on experience, and act as a link
between the developers and businessmen. Nowadays, I don't code all day as I
also have some managerial responsibilities, but the bulk (say 80% ~ 90% of the
time) I'm stuck in Vim pushing lines of code. I find that 10% ~ 20% of my time
can be devoted to actual managing and it's more than enough.

Tip for the businessmen: Don't assume you need a bunch of managers to steer
your project into blissful completion, you might very well get your best and
most respected senior developer and ask him to act as a link between the task-
force and the executives. You keep your best men coding or administering
technology, keeping their morale high (don't underestimate having your cake
and eating it too), and save money on hiring a paper pusher who is probably
going to be a nuisance to the ecosystem.

------
cafard
NOT just an Indian problem.

------
tomasr
Just my personal experience, but seems to me like the career growth options
for coders, while staying technical are more open in product-oriented
companies (or starting your own products), than in consulting/outsourcing
companies, where project management is seen more valuable by both the company
and their clients.

Either that, or you have to go into technical pre-sales, but that's a
different story. In the consulting/outsourcing case, anyway, it's about what
the company can get its clients to pay for, and many just don't know any
better.

------
forinti
I hate this mindset, especially because good coders are rare. So why would we
want them to stop coding?

I hope one day people will dread being called into their manager's office to
be told that "I'm sorry, but you just can't code; you'll have to take up an
administrative position".

~~~
PakG1
Everyone has their own skills. It's just unfortunate that people equate good
technical skills as undeniable potential for good management skills, and that
managers are viewed as more important than the guys who are managed. The
really good managers will always recognize, appreciate, and reward the guys
who get things done well, no? Well, the enlightened ones, at least.

------
tamersalama
> _People who work with their hands (or their keyboards) are often considered
> "inferior"._

I wonder if the perception is true in many cultures.

~~~
Dylanlacey
Definately. Tradesmen are often looked down upon as not only being inferior,
but less intelligent and cruder, despite the fact that their work may be very
skills based.

People think cleaning is menial work, that gardening is what you do when
you're too dumb for college, and that secretaries are braindead.

Sometimes, yeah, it's true, but who knows what is locked up in those
personalities and minds?

