Hacker News new | past | comments | ask | show | jobs | submit login
Stuck in Code (pindancing.blogspot.com)
95 points by niyazpk on Nov 22, 2010 | hide | past | favorite | 24 comments



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 ;-) )


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.


"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).


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.


What does it mean with "Specialized Knowledge". I'd like to know.


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.


I think people conflate management with being better at your job, but developers have the Maker mania. Managers don't get to make things, so why would we want to do that?


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


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


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.


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


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


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.


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.


NOT just an Indian problem.


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


"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.


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


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.


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".


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.


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

You wouldn't, but look at the majority of Big Companies out there. If you see someone still coding at 50, 1% might be doing because they love it and are great it it, but the other 99% are doing it because that's the furthest they could get. Sad, but true.


> People who work with their hands (or their keyboards) are often considered "inferior".

I wonder if the perception is true in many cultures.


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?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: