My Job Went To India
Josh Skillings writes "The author, Chad Fowler, draws upon his experiences as a software engineer, a team leader over a group of Indian developers, and as a jazz musician, to describe 52 ways or tips that will help you to become a more valuable employee. These tips are described in two or three pages each, and are usually illustrated by a practical example or story. The tips are well thought-out, well-explained and make sense. Chad draws upon the open source movement as well, highlighting ways that contributing to and learning from open source can improve your career. These tips gave me greater respect and appreciation for the open source movement in general." Read on for the rest of Josh's review.
My Job Went To India (and All I Got was This Lousy Book)
author
Chad Fowler
pages
185
publisher
The Pragmatic Bookshelf
rating
8
reviewer
Josh Skillings
ISBN
0-9766940-1-8
summary
Offers 52 ways you can keep your software engineering job, or grow yourself into an even better job.
Chad encourages the you to think of your career as life cycle of a product, and as such divides the 52 tips into the four areas of "Choosing Your Market", "Invest in your Product", "Execute", and "Market", and then two extra groups called, "Maintaining Your Edge", and "If you Can't Beat 'Em". This grouping works surprisingly well and provides an overarching context that makes sense. Many of the tips have specific calls to action at the end, which are useful if you don't already have ideas on how to apply the tip.
For example, under "Choosing Your Market", tip #7 "Don't Put Your Eggs In Someone Else's Basket", Chad encourages you to refrain from learning vendor-specific technologies that can disappear with the vendor, and then calls you to action by suggesting you write a small project in a technology that competes with the technology you are used to using. This will help you understand why the technology exists to start with and what opens your horizons for what might be coming next.
Under the section "Investing in your Product", tip #14 called "Practice, Practice, Practice", Chad offers suggestions on how software engineers can get even better by specific kinds of focused practice. The action items at the end of the section suggests practicing "Code Katas" katas similar to martial artists, but instead in code and in different languages.
With 52 tips, this book has a lot of tips, a tip for every week of the year, but you should expect to spend much longer than a week on most of them. A few of the tips you are probably doing already, but many of them you aren't. Some of the tips are fairly straight forward and easy to put in to practice. You could spend your entire life attempting and never achieve some of the other tips, such as tip #39, "Release Your Code." The ultimate goal of this tip is to be able to say in a job interview, "Oh, are you running Nifty++? I can help you with that- I wrote it." Chances are this scenario won't ever happen to you, but by working towards this goal in the ways the book outlines, you will definitely become a better, more valuable software engineer. Many of the tips will make you a better person in general, regardless of your career, such as tip #28, "Learn How To Fail", where Chad emphasizes how to fail gracefully and the rewards that can be learned from failure. This wide range of time, difficult, and application of the tips gives you something to work on today, next week, and next year.
The title of the book is silly. Yes, it was catchy enough for me to notice in the bookstore, with the red cover and the homeless (software engineer?) holding a sign, "Will Code For Food". So from that point of view, the cover worked. However, unless you've read the book, you might think it's as campy as the cover and wonder if it is somehow anti-Indian. I think a better title would be along the lines of "How to Get Any Job You Want", since if you can master all of these tips, you'll be the best there ever was.
While I didn't expect any specific technical advice, I would have liked some. I understand that an author needs to be sensitive to how fast technology changes, however just one tip with a warning: "This information is my opinion on April 11, 2007 and will probably change tomorrow". And then describes about how Subversion is a great tool, Python is a great language to learn, and learning design patterns can make your life easier, would have been appreciated. A tip like this would help you to understand the author a bit better and further encourage you to learn more.
If you want to improve yourself and you can accept advice, this book is for you. You will find things you can do better and skills you've never considered. Like some of the other Pragmatic Programmer books, I will never be able to master everything in this book, so I'll be reading this book again and again, trying to get better every time. Don't let the cover put you off, this is a great book.
You can purchase My Job Went To India (and All I Got was This Lousy Book) from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
For example, under "Choosing Your Market", tip #7 "Don't Put Your Eggs In Someone Else's Basket", Chad encourages you to refrain from learning vendor-specific technologies that can disappear with the vendor, and then calls you to action by suggesting you write a small project in a technology that competes with the technology you are used to using. This will help you understand why the technology exists to start with and what opens your horizons for what might be coming next.
Under the section "Investing in your Product", tip #14 called "Practice, Practice, Practice", Chad offers suggestions on how software engineers can get even better by specific kinds of focused practice. The action items at the end of the section suggests practicing "Code Katas" katas similar to martial artists, but instead in code and in different languages.
With 52 tips, this book has a lot of tips, a tip for every week of the year, but you should expect to spend much longer than a week on most of them. A few of the tips you are probably doing already, but many of them you aren't. Some of the tips are fairly straight forward and easy to put in to practice. You could spend your entire life attempting and never achieve some of the other tips, such as tip #39, "Release Your Code." The ultimate goal of this tip is to be able to say in a job interview, "Oh, are you running Nifty++? I can help you with that- I wrote it." Chances are this scenario won't ever happen to you, but by working towards this goal in the ways the book outlines, you will definitely become a better, more valuable software engineer. Many of the tips will make you a better person in general, regardless of your career, such as tip #28, "Learn How To Fail", where Chad emphasizes how to fail gracefully and the rewards that can be learned from failure. This wide range of time, difficult, and application of the tips gives you something to work on today, next week, and next year.
The title of the book is silly. Yes, it was catchy enough for me to notice in the bookstore, with the red cover and the homeless (software engineer?) holding a sign, "Will Code For Food". So from that point of view, the cover worked. However, unless you've read the book, you might think it's as campy as the cover and wonder if it is somehow anti-Indian. I think a better title would be along the lines of "How to Get Any Job You Want", since if you can master all of these tips, you'll be the best there ever was.
While I didn't expect any specific technical advice, I would have liked some. I understand that an author needs to be sensitive to how fast technology changes, however just one tip with a warning: "This information is my opinion on April 11, 2007 and will probably change tomorrow". And then describes about how Subversion is a great tool, Python is a great language to learn, and learning design patterns can make your life easier, would have been appreciated. A tip like this would help you to understand the author a bit better and further encourage you to learn more.
If you want to improve yourself and you can accept advice, this book is for you. You will find things you can do better and skills you've never considered. Like some of the other Pragmatic Programmer books, I will never be able to master everything in this book, so I'll be reading this book again and again, trying to get better every time. Don't let the cover put you off, this is a great book.
You can purchase My Job Went To India (and All I Got was This Lousy Book) from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
They took my job; they took my job; they took my job.
The American companies are to blame, it has nothing to do with America or India. If Dell, HP, GE outsource to India, don't buy their products anymore. Simple as that. But don't blame the poor people over there trying to make a living with what the CEO of Dell does.
Anyway, Python is a great tool, yeah.
slashdot rocks
...and all I got was this lousy t-shirt!
mcgrew's razor: Never attribute to stupidity that which can be explained by greedy self-interest
Aren't those two things universally exclusive? Unless you're a hooker, in which case both would apply.
I judt got a nre Kinesis keybiartf so please excusr ant egregiou typos.
...and all I got was this lousy t-shirt!
...which was made in China.
Maybe the author should stop by where I work. He can talk to the people they are hiring *back* after the off-shore company ripped us off for millions giving us crap code which was basically unsupportable written by the "experts".
"Get a security clearance".
Those jobs aren't going to India.
Quidquid latine dictum sit, altum sonatur.
...but if your job went to India, you're expendable. Learn some new skills, get better at what you do, etc.
what an insensitive BS answer!
I'm an expert in my field, I have over 20 yrs doing what I do (netmgt) and yet companies are not respecting actual field experience anymore - they prefer to cheap-out EVERY TIME ;(
there is nothing I can do about it. 'get better' at what I do? I'm already a leader in my company, for this technology.
actually, my job didn't go to india. it went to 'eastern europe' (country name withheld). the labor is MUCH cheaper there but I'm not at all convinced they have better experience or understanding of the field. it was PURELY for cost reasons.
when its for cost reasons, there is nothing an employee can do. can I live on the same pay rate that east europe can live on? surely, I can't (I live in the US).
no matter how you cut it, its unfair and its NOT the employee's fault. grow up and you'll see this - and stop blaming US workers, its NOT our fault most of the time. its the bean counters.
--
"It is now safe to switch off your computer."
We outsourced to India ... and are now scrapping and rewriting in-house ....
The code works but ... trying to change anything with the time differences involved is a nightmare, it does not matter who they are just where they are ...
Puteulanus fenestra mortis
12%
An indian software engineer can earn about 400,000 rupees ($10k)at the moment. In 10 years that will match the west, but long before then the difference will be too marginal to make it worth offshoring.
Deleted
Confucius say "Job is like a woman. Smartest programmer in world cannot keep job from leaving if it wants to."
Fascism trolls keeping me up every night. When I starts a preachin', he HITS ME WITH HIS REICH!
Learning new software, programming languages, code-katas or whatever is NOT going to help.
Indians have access to the internet too, you know.
They can learn all this new stuff and provide the same service cheaper.
Some random points:
(1) People who code, administer or test will not survive. If you write/fix any kind of code or scripts or do any kind of testing at least once a day your job is in danger.
(2) People who are unable to create something from nothing will not survive. If you need a well-defined set of requirements and design before you can do your work, your job is in danger. If you need someone else to take some vague problem from the customer/boss and come up with a solution that you can implement, your job is in danger. If, however, you invent solutions, you will be fine.
(3) People with inability to solve problems will not survive. This goes to general smartness/intelligence. If you are the kind who can use a cool-head and solve most of problems (job-related or not) through a combination of steps such as keeping a cool head, knowing what to do, who to approach etc, you will be fine. Many problems are tough but you would be surprised to see many people give up before they even take a stab at the easy ones.
As an example: Here is a problem given to you by a customer: "Size the work effort that you personally will require to install DB2 on my AS400 box"
Bad answer: We are a C++ coding shop. We dont do DB2 admin. We dont know how to size this.
Good answer: 6 months (cuz we have to learn all the shit first)
(4) People who will survive are those who can talk to customers to elicit business requirements, design tecnhnical solutions and coordinate project activities - not people who know how to change a config file to get Linux to play mp3 files.
(5) Good-looking people who can talk with management and customers in a confident non-geeky way in perfect English will survive.
(6) If you can relate well with people and can get them to do favors for you, you will survive. If you are the type of person who ends up leading meetings and discussions, you will survive.
(7) If your job is in IT but deals with some kind of calculation involving dollars at least once a day, you will survive.
The problem with outsourcing in general is that you change the business
relationship between what used to be internal customers and internal
providers to one where you've got some outside company with interests
that are probably completely different than your own.
You're no longer a cohesive team. Those other people will not necessarily
pull together for you anymore. They will have their own bosses and their
own sucess metrics.
Your relationship will be defined by a contract that is designed to
prevent you from abusing them too much. Processes will have to be
formalized far better. Changes will be far more tightly controlled.
Depending on the project, it may be dramatically more expensive to
outsource (like something with insane dev schedules).
A Pirate and a Puritan look the same on a balance sheet.
Are you a Microsoft astroturfer? You sure sound like one.
OSS increases the total size of the market, providing more jobs for software engineers. The only companies OSS is bad for is software companies like MS, that have a business model built on proprietary software.
Personally, I work at a semiconductor company developing Linux kernel code to support our products. If OSS didn't exist, we would either have to contract outside companies to develop firmware for us, which would be inefficient and very expensive, making our product probably not viable in the marketplace. Quite likely, many, many products simply wouldn't exist without the presence of OSS.
Imagine a world where almost everyone was illiterate, because a few ivory towers held all the dictionaries and books about written language, and only allowed people to see these books for a high fee. There wouldn't be any writers/authors out there, and all the other industries that rely on written communication simply wouldn't exist. Having access to these tools for free or cheap (remember, education is free in most developed countries) makes the size of the overall market much larger. It's the same way for OSS. Unfortunately, there's some companies like MS who don't like this state of affairs, and want to keep everything secret and under their control.
amazing. your whole post was 'stop whining'. what a content-free post!
No, the content was "stop whining" AND "value is not based on what you think it ought to be".
I'm a principle engineer with a few decades of field experience. I'm far from entry-level yet you tell me to 'grow up'?
Damn straight. Apparently you have a mistaken notion that the world owes you something for having a "few decades" of experience. I'm sure the buggy-whip makers with decades of experience were pissed off when they were no longer able to make as much money.
even if I'm the best contributor in my field, if the bean counters are swayed by cost and cost alone, this is a losing battle.
If you're the best contributor in your field, and that's not enough for someone to pay you what *YOU* think you're worth, then -- shock -- do something else that's more valuable. The world changes. Adapt or perish.
clearly you have not lived this experience. YOU grow up and then you'll see it, first hand.
You're right, I haven't lived this experience -- primarily because I've adapted my working knowledge to the world as it has changed (If I was still doing what I was doing 20 years ago, I'd be making peanuts). But if, for some reason, I found myself left high and dry because my particular niche wasn't as valuable, I assure you I wouldn't be blaming the "bean counters". I would be looking at the market to see what *was* making money. In fact, I typically do that anyway.
Sometimes it's best to just let stupid people be stupid.
Wow! The "tough love" is really touching!
It obvious that you're still a relatively young person or at least someone who doesn't have many responsibilities outside of work. I would print out and frame your response so when the really hard times come in your life, and they ALWAYS do, you'll understand why no one around you seems to care.
"Meaningless!, Meaningless!" says the Teacher. "Utterly meaningless!"
I entirely agree that individually you need to be as valuable as possible. That's why all the CCNPs I know are working to finish their CCIEs and the CCIEs are working on their Juniper/Avaya certs. All of this is on top of their technical degrees.
The problem is that you and your "invaluable" skills really aren't being taken into account. It doesn't matter if firing you would cripple the company because we're typically thinking 90 days at a time. If you replace a $150K CCIE with a $20K wanna-be, then you as a manager can claim a $130K dollar "savings." Hooray for you, here's your bonus.
When that $20K wonder takes all of your customers down -- and here's the beauty part -- you aren't blamed for it. No one is currently drawing the line between your $130K savings and the customers that walked with their millions of dollars.
The really scary part? I frequently work on municipal, hospital and 911 systems. Infrastructure disasters here can cost lives. I've watched the cheap guys take down emergency systems, and I tried not to think about the calls that were getting dropped as I fought to get them back online. I push the frantic calls for help out of my mind, because if I let my imagination run with what an unanswered 911 call could mean...
The cheap guy's response as I berated him for putting lives at risk? Basically, what do I care? It's not my country.
Every one of the guys I know are putting in 60-hours weeks routinely. Hours like that mean divorces. They mean early heart attacks. They mean neglected children left to raise themselves. They mean broken homes with the societal carnage that goes with it.
It's the classic tragedy of the commons. The people who lead our country are insulated from the carnage associated with gutting our workforce. In the meantime, my country is falling apart. I've got a CS degree from a prestigious college, a CCIE, and a decade of international experience and even I am feeling the heat. I weep for those not as lucky as I.
We're gutting our middle class. We just are, and if you don't see it, it's probably because you're young. I hear your "Well, it's not a problem if you're the best of the best" bravado, and I wonder what you propose to do with the other 99% percent of the population, because they're not just going to just disappear.
I was downtown during the LA Riots of '92. Rodney King and Daryl Gates might have been the spark that set it off, but that riot burned on the fuel of unemployed people. Last time I was in LA, more than a decade later, the damage still hadn't been repaired.
I'd really prefer not to see that happen on a country-wide scale. But me and the other gray-hairs are worried, especially the people I know out in LA. We're getting that "vibe" again.
Things are stretched beyond breaking. Our teachers have flat-out given up. Our cops are showing the sort of violent and unstable behavior you would expect from PTSD. The wave of earnest enlistees that flooded the military after 9/11 have become the sort of weary jaded bastards that could put the most burned-out Vietnam Vet to shame.
We are, for the first time in history, routinely using mercenaries in almost every level of our military and law enforcement. I'm seeing military families, families with generations of service, hang up their uniforms and forbid their children from serving.
Our hospitals are literally allowing people to die from neglect in the ER. Our bridges are falling down. Our electrical grid is one snapped breaker from going dark.
Katrina should have been our moment of clarity. The fact that it so clearly wasn't scares me to death.
But you go ahead, and keep humming that "I'm the best, I'm the best, I'm the best" mantra. Keep closing your eyes as tight as you can and shut your ears tighter. Find a good teddy bear, because the old man, the old man has seen all this before.
I'm terrified of where this train is going.
What I noticed in my experiences with code written by outsourced coders was that while it worked, it just wasn't that good. They knew the LANGUAGE, but they didn't know how to PROGRAM. Not very well, anyway.
While working with the outsourced coders for a client of a managed hosting company I was sent a 250-line SQL query (for MySQL, no less) and asked why the query was running so slow. It was a mess. The guy obviously didn't understand SQL or database design and was using brute force to get the data.
I'd say it would depend on what stage of your career you are in, and what responsibilities you either have or think you might end up having.
If you are in your early 20s, and want to have a family, or own a house definitely change to something that will help you 20 years from now when you are in your 40s. Given the globalization issues, I wouldn't recommend putting all your eggs into any job that could be done through an internet pipe.
I'm in my late 40s, the mortgage is over halfway paid off, and there's no kids to worry about. Worse case is that I lose my permanent position job (for whatever reason), and have to take a pay cut, or do temporary consulting at bargain rates.
I chose IT 25 years ago because I knew it would afford me a nice standard of living, that at least for the foreseeable future there likely would be a job that would pay enough to cover the kind of house I wanted to live in, and leave a little extra for vacations, emergencies, retirement, weddings, etc. It worked out, but I wouldn't recommend it for someone starting their career today. It's definitely a sad state of affairs.
I'd say that one could learn to do something that you can't outsource, like nursing - but even that isn't guaranteed. Many of those jobs are being "insourced" - that is people from developing countries are being hired here at a lower rate than what us locals are willing to bear.
I guess the best bet (if you don't want to deal with the uncertainty of working for yourself) is for whatever you decide to do, to find a job working for a small company that has a good business model. One, which as part of its culture, tries to keep money local -including the money that it pays to its employees. One that really doesn't have the resources to outsource or sponsor people for insourcing.
Actually, it is your attitude.
When you are shopping, do you always buy the cheapest clothes, vegetables, meat, shampoo, magazines, etc? No you don't, and neither does the "bean counters." In fact, they are real persons with real emotions, you know. They try to take rational decisions in the best interest of the company. If they were bean counters, they would count beans, and you would be a bean counted. Is that the value you place on your work?
Kalvin Klein isn't worried that people will stop buying his 200$ shirts just because 5$ shirts works just fine. He is perfectly capable of projecting an image making consumers spend 195$ more and believing that it was worth it. Your job is the same. Your price tag is 10x of theirs, can you have them believe that it is worth it? Can the Indians be on site within an hour? Can they write legible English documentation? Can they talk about a problem of strategic importance over a lunch with the boss? Can they chit-chat about the game during coffee breaks?
You say that you are "the best contributor in my field," does anyone but Slashdot readers know that? If not, then you have no one but yourself to blame.
Football Odds
I know of very few programmers who can effectively administer.
I know of very few administrators who can effecively "code"
Okay, next topic.
Obviously you don't know many attorneys.
Fact is, very few high-level jobs let you work 40 hours a week. Just the way it is. You're right on one point though, there are certainly no worries about overtime.
<xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
If you stop and look around at what's happening, it terrifies you. So you quit looking and try to kill or at least discredit the messenger.
The last time I was in an emergency room I was escorting someone with uncontrolled bleeding. I had done my boy scout best, but I am not a medic. It was a three-hour wait while the orderlies joked about how much weed they were planning to smoke that weekend. When I asked for a doctor, they referred me to a security guard. I mentioned the incident to my doctor at my next visit. She winced and said "Yeah, we avoid that place like the plague when we can." It's the largest, best-funded hospital in the area.
The last time I asked a cop for directions in a strange city -- wearing business casual clothes, mind you -- he placed his hand on his weapon and told me in rude terms he wasn't a tour guide. I'd like to think he was just a random jackass, but the attitude smelled like he was trying to bluff through insecurity and fear.
The last time I went on a business trip, I watched a TSA agent browbeat and threaten a small clumsy woman with incarceration if she didn't take her shoes off faster. When I spoke to his supervisor, he called over an armed officer in uniform and threatened to arrest me. The supervisor caved and apologized when I pointed out the surveillance camera recording the incident.
My kids' teachers have that vacant look of learned helplessness in their eyes. They were idealists once. It's been beaten out of them.
There's a major elevated highway in my city. It's been basically condemned and it's still in use. When it falls, there's a large number of buildings and thoroughfares that it will take with it. Everybody knows. No one can do anything. I try to avoid it when I can.
Forget McCain and Obama. We need a seance with Washington, Jefferson, Franklin, Lincoln and both Roosevelts, Teddy and Frank. I honestly think it would take all six to get us out of this mess, after they kicked all of our respective asses for letting it get this bad.