Is Programming a Lucrative Profession?
itwbennett writes "A pamphlet distributed by blogger Cameron Laird's local high school proclaimed that 'Computer Science BS graduates can expect an annual salary from $54,000-$74,000. Starting salaries for MS and PhD graduates can be to up to $100,000' and 'employment of computer scientists is expected to grow by 24 percent from 2010 to 2018.' The pamphlet lists The US Federal Bureau of Labor Statistics as a reference, so how wrong can it be? 'This is so wrong, I don't know where to start,' says Laird. 'There are a lot of ways to look at the figures, but only the most skewed ones come up with starting salaries approaching $60,000 annually, and I see plenty of programmers in the US working for less,' says Laird. At issue, though, isn't so much inaccurate salary information as what is happening to programming as a career: 'Professionalization of programmers nowadays strikes chords more like those familiar to auto mechanics or nurses than the knowledge workers we once thought we were,' writes Laird, 'we're expected to pay for our own tools, we're increasingly bound by legal entanglements, H1B accumulates degrading tales, and hyperspecialization dominates hiring decisions.'"
That is all.
In my state you must have 10+ years in 5+ languages (even if the language is only 5 years old) and start at $8.00 an hour. Oh, and clerical/janitorial experience a plus!
There are a lot of ways to look at the figures, but only the most skewed ones come up with starting salaries approaching $60,000 annually...
Not if you have a magic time machine back to 1999.
Waltz, nymph, for quick jigs vex Bud.
If you have experience, and are willing to lead a team, you can make decent money. Of course, how do you get experience?
Modding "-1, Troll" is not a proper response if you disagree with me. Try reason.
This is one of those contexts where the standard deviation would be helpful, or even a graph showing the distribution of salaries.
I know some developers that are highly specialized in low-level DSP programming, and they make plenty. Also, if you are also responsible for architectural decisions and architectural design, you make more. I don't know many people who are just programmers, but I would have to assume they make less. My advice for programmers is take on more responsibilities and/or try to become a specialist. Unfortunately, there is a large supply of programmers, probably because the barrier to learning is quite low compared to say, FPGA design and development.
That they are essentially mechanics? They're just not auto mechanics, they're more or less computer or software mechanics?
That shouldn't be a surprise to any. Especially as we see more about self-fixing computers, the furthering of object oriented programming which is leading to simpler and simpler APIs so you don't even have to be a programmer to make things happen. Or technologies like Sharepoint where you don't even have to have a GED to prop up multiple sites / data sources, etc.
Blessed be he who reads this post, Cursed be he who tells my boss.
My starting salary in DC contracting with the Feds was $70K. Flash forward to a year of living in Cincinnati and my salary dropped to $40K. Now I'm back in DC contracting for Feds again. Starting salary? $105K.
60K in a place like Cincinnati, not bad. 60K in DC, can't live on it. Be sure to take regional salaries into consideration.
To quote Wayne Campbell:
It might happen. Yeah, and monkeys might fly out of my butt.
I'm a contractor working at a 30k employee company that is almost exclusively Linux / Java / Oracle. Even though they have dozens of Java programmers they couldn't get any of them to pick up VS C# / Windows Mobile fast enough to support all of their mobile devices.
The position is going to be long term and pays 80k+ per year because of the limited number of programmers skilled in C# / Corporate Mobile & Web applications. I guess you could say I made a deal with the Devil by going MS exclusively, but it pays the bills.
William Howell
Proficient in C,C+,C++
Well, Germany was much more socialist in early nineties. And the standard of living was also quite higher than now, after a lot of American-style capitalist reforms.
"It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
Goes for programming and infrastructure and all things IT -- you have to move around a lot. Employers in general have no interest in paying you more once you work there. If you want another $15k, you have to move elsewhere. Time at a company is spend padding resumes and earning certifications. Then you move. You might move back to the original company if they make a better offer. Employer logic is "We got the guy for $x, why should we pay him any more once we have him?" Doesn't matter if you complete a second degree while you're there, move from jr. developer to lead designer, take on more responsibilities, you'll get piddle-shit raises.
This kills me. I don't want to be job-hopping. I'd like to build some time with a place, earn some kudos and sweat equity. But those things don't exist. Been at a company a month or twenty years, you are equally expendable. Treat your employer the same way. And die a little inside. People want to think of the office as family because we're social creatures. Few people enjoy living life out as a lesson in Randian objectivism, looking for leverage in the battle of who's screwing whom. We aren't meant to live like that.
Kwisatz Haderach
Sell the spice to CHOAM
This Mahdi took Shaddam's Throne
Don't be a developer. They will work you 24/7. You will be cuffed to your desk most of the day. Your hair will turn gray and fall out around the edges so you'll have a friar cut. They'll water board you for overtime. They make you buy your own computer, desk, and chair. You aren't allowed outside except for one hour a day of supervised time in the yard. Coworkers will shank you with shivs made from sharpened USB drives. You'll have to gang up to get respect. First thing you'll have to do when you come to work is shank someone, to let them know you mean business! Wages are a lie. You'll be paid in honey buns and cans of tobacco so you can roll your own. If you work hard enough you can get a free day with your spouse, but this depends on company performance.
Overall being a developer is the most horrible job in the world. If I were young and choosing a career I would do something else. Like be a reality star or join the circus.
The problem is, when people start working for the economy instead of the other way around, you get the problem of treating people like so many disposable parts. Unions have helped bring the human component to our work lives, but with their waning influence (and with people so willing to subsume their own interests to please the boss), we are going backwards and workers, even highly skilled, intelligent ones, become little more then means to an end (profit).
---Technology will liberate us if it doesn't enslave us first.
If you listen to people who don't do tech work talk about techies, you'll quickly realize that a lot of them do in fact put techies on roughly the same level as mechanics or bricklayers. You can think of yourself as a "knowledge worker" all you want, but the fact remains that you are going to be treated like a bricklayer. My most educated guess on why this is true is that techies produce useful products. In most businesses, the act of producing something (rather than selling something or organizing other people to produce something) severely limits your chances for advancement past the equivalent of senior foreman.
There are 3 ways to avoid this fate that I know of:
1. Do some serious and visible work for your company about issues that aren't tech-related. For instance, if you provide intelligent input about pricing, the salespeople will respect you a lot more.
2. Work at a company who's business is technology, which is still run by a techie. Make sure to leave once the suits take over.
3. Start your own company, and watch out that you don't completely become a suit.
I am officially gone from
...and my salary is $90,000.
I work in the Washington DC area, and something like only 1% of programmers in this area are employed with no degree, but it can be done, and lack of a degree doesn't have to have an impact on salary. It certainly can, but it all depends on the company you choose to work for.
which makes it a "good job". Certainly compared with those people who have to work standing up (shop sales, manufacturing), on unsocial shifts or those who work outdoors and get wet when it rains. So far as being qualified or having a degree goes, that might count for something (other than merely a selection barrier to entry) if the skills people learned at university were actually used in their day-to-day work. Most of the IT people and programmers I meet are indistinguishable from non-degree types of the same age, when they're not talking about the one, single programming skill they have.
politicians are like babies' nappies: they should both be changed regularly and for the same reasons
I can believe 54,000 grand.
I cannot. 54 grand I just might.
Because they might show up your grammar and spelling skills?
writes Laird, 'we're expected to pay for our own tools,
I don't think it's actually common for hired programmers to buy their own tools.
... and then they built the supercollider.
I know that is a lot of crap! I live in the uk and earn roughly £25K, prob about £35K? I've always thought that to really make money out of a programming career, you have to start you're own business, do it for yourself with an original idea. Otherwise you do seem to end up becoming another wheel in the cog. I might be wrong, but its just the way things seem to be to me.
I tell new programmers to take the best job they can get. Then tough it out for 3 years. Change jobs and get a large pay raise. Tough that out 2-3 yrs and then pick where you want to live for a while, find a good job there as a senior programmer and settle down. My programmer/architect salary history: * 2004 22k (Yes out of college I made less than a teacher -.- I like teaching, I maybe should have gone that route.) * 2005 32k * 2006 37k * 2007 44k * 2008 60k * 2009 75k * 2010 75k (stagnant, employer using economy as an excuse to not give raise and is just daring me to find a new job) My specialization is .Net Memory and Processing performance. It is amazing how many people bought into the Microsoft spiel of .Net handling memory automatically. As an example, I gave a 30% performance boost to .Net 1.1 framework used by employer for programs and dropped it's memory footprint 10-20% while closing up memory leaks.
Sorry for no breaks in comment, slashdot editor not obeying line breaks and spacing I am specifying. o.O
There's a bell curve at play, though, which peaks at about age 35. After that experience becomes a detraction, and unless you settle on one company that looks stable enough to keep you till retirement, going from job to job will lead to decreasing salaries/rates.
By the taping of my glasses, something geeky this way passes
Simply put, there's three factors that determine what you're going to make. Where you work physically (Palo Alto and Austin have significantly different pay rates for the same job), where you work financially (startups pay less than huge companies, state governments pay less than the feds, banks pay less than almost everyone ;^), and where you work professionally (it's unlikely that an C or Java programmer with 10 years experience will make as much as a CCIE w/ 10 years experience). A CS/BS is a ticket to ride, but you still gotta find your seat on the car and some have a better view than others :^).
"I don't think software should necessarily be free
I had a co-op student once, who obviously had no affinity for programming . . . or, more to the point, no affinity for computers in general. (This was back in the 80's, before PCs were as pervasive as now).
I really couldn't understand why he was torturing himself with a degree program, which he didn't like, so I asked him why he chose computer science. The answer:
"I heard that I will be able to make a lot of money in this field."
Money is not the reason to choose computer programming as a career.
Or any other career for that matter . . . do you want to have your tonsils removed by a surgeon, who is, "in it for the money . . . ?"
Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
Anyone with eyes to see knew the relatively high pay of the last century couldn't last in the face of easy off-shoring and other factors.
We should be thankful for what we had, not complaining about more rational (from a capitalistic perspective) compensation.
On the flip side, most people who make okay-or-better programmers have the brains and basic skills to do a variety of careers with maybe a year or two or less of additional training, and most of us hopefully know it's not wise to put all your career eggs in one basket.
Also, some jobs such as most of those in the defense industry will remain in-country.
So, yes, there may be fewer newly-minted programmers in the Western world in the future, fewer domestic jobs available, and lower pay for the remaining jobs, but it won't be the total disaster it was for say, the steel or textile industries.
From an overall global economic health perspective, I see this as a good thing, even if it hurts me personally and Western economies in general.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
No-hire and non-compete agreements are pretty common in contracts especially when the development work is specialized. This sidelines a lot of talent and helps exacerbate the software developer labor shortage employers are always complaining about. It also lowers wages for developers since they'd have more trouble finding work if they left their job. I think we need to severly limit what kind of restrictions companies can place on their employees' future job prospects.
If you didn't come to party don't bother knocking on my door. Prince '1999'
I have been principally been a Perl Programmer so that is the market I know, but the salaries I looked at have been all over the place with a good bit of it depending on location.
Recently I was looking at Sr Developer positions in LA, NYC, Nashville, and Austin.
Now I technically have 10+ years of programming experience. If I stayed one place as a programmer (theoretically speaking) I might have gotten to an architect level position and earned 150K. Or you some Chinese super guru out of school, some companies will throw money at you, but that is a rarity.
I had also seen positions where companies wanted you telecommute for 10/hour because they thought that was what they could get from some guy in Russia or India.
Basically, if you become a programmer, you are going to be treated as skilled labor. Skilled but still labor and they will never be interested in paying you more because they will have no way of determining if you are good at your job. At that point, you will need to job boat to get a real raise. Then you need to know how large the market is for a particular technology in your area, otherwise you will end up moving all over the place.
I got into programming because I love building stuff. I don't really care what I get paid as long as I can live in contentment, and I do. I'm very lucky to have found a profession that aligns with my interests. A lot of people got into programming in the 90s because it was lucrative; well, it's not now. Be glad you have a job, Quit bitching. Welcome to reality.
boycott slashdot February 10th - 17th check out: altSlashdot.org
I could give a shit about "breadth of knowledge."
I want people working with me who know VHDL and C ***EXTREMELY*** well. The better be good with vi, and not have to rely on a GUI to configure a linux box.
Other than that, nobody in this building cares.
I don't give a rat's ass about their (for example) Java experience quite frankly. And why should we?
I am very small, utmostly microscopic.
High school kids and anyone who spends two years at a technical school can 'program' nowadays, but coming up with a proper design is something people are still willing to pay for.
Good companies, perhaps. But in general it seems design doesn't really matter, ultimately. Business wants a blackbox that works. If it takes more time to design it and test it well, that will be deemed unnecessary at many companies. I worked at a company and the most cherished developer there was a guy who wrote terrible code, didn't communicate well, was oblivious to good design but wrote a ton of code and got it out. Every developer knew his stuff sucked, especially to maintain (of course he didn't maintain his own, he was off to a new project like the cowboy he is), but the suits don't know or don't care about that.
"If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer
Never ever let anyone tell you what you can or should earn. Your salary is your choice. Do what you love, take control, and don't whine. This approach has worked well for me for the past 30 years. I've survived more than a few industry changes over that time.
But doesn't a lack of desire/inability to comprehend the rules behind one language carry over to other languages? I'd argue that it does.
So we're all just supposed to starve to death because we're doing something for a career that we 'enjoy', but pays shit?
While it's great to be studying computer 'science' and all, when the student loan bills come due, YOU NEED TO HAVE A JOB. Four-year universities should focus on giving students marketable skills, not a bunch of useless theory that has no real-world impact.
And cue all the overeducated computer 'scientists' claiming that they use what they learned in their 'theory' classes every day. That's great up in your ivory tower, the rest of us grunts need to be able to write actual code.
Never underestimate the power of stupid people in large groups.
In my experience there is always a job for good programmers.
The salary may not be as lucrative as a doctor, dentist, senior accountant, economist, etc.
But its always easy to find work (well in UK and Australia anyways), I've been a contractor for the last 8 years and haven't spent more than a week without a contract.
I hate when colleges and high schools release ranges like this. You have to look at them for what they are motivational carrots to get you to go into a field. What you need to take from this is that, it is possible to make these ranges but you need to excel at what you majored in. Then show initiative and that you are adept at the skills you are utilizing in these fields.
Companies and hiring managers see their applicants as a means to an end. They are there to make money and if you cannot perform or don’t have the skills to bring a value to them then they will see that and pay you accordingly. But if you are a superstar and bring value to the organization then they will also reward that.
Fresh out of college unless you are extremely competent and have the self confidence to sell yourself in a professional manner then you will to take what you can get. Now in this economy things are a good bit different, I personally know some great IT persons and programmer that are out of work now that have years of experience.
I owned and operated a recruiting firm for several years and know firsthand how the hiring process works for many companies. They are typically trying to get you for the lowest price possible and keep you happy. Salaries are much more complex than just what you earn you have to integrate benefits and insurance into your salary as well. So keep that in mind when taking a job.
Also when in college try you best to get an internships and do your best at them. That’s one of the best ways to get hired onto a company and they already know what you can do so typically they will pay you accordingly.
If it isn't broke, tinker with it till it is!
The only thing worse than a statistic is an anecdote. The author has his personal experience- fine. But my personal experience directly contradicts his. And the only statistics on the subject (from NACE and BLS) give a fairly Normal distribution of salaries between 57,000 and 151,000 (http://www.bls.gov/oco/ocos304.htm) Median annual wages of computer and information scientists were $97,970 in May 2008. The middle 50 percent earned between $75,340 and $124,370. The lowest 10 percent earned less than $57,480, and the highest 10 percent earned more than $151,250. Median annual wages of computer and information scientists employed in computer systems design and related services in May 2008 were $99,900.
Hello there! .NET Technologies as well as LAMP. My Key expertise is to develop Web Applications using:
Please refer to your opening on job posting site. I, Rajesh Sharma, would like to apply for the job.
I am working as a freelancer from Pune, India. I have over 7 years of experience in IT Industry with
exposure to
1. ASP.NET/C# with SQL Server 2005.
2. PHP/MY SQL.
I have experience working with distributed teams around the globe. I am self desciplined and self
motivated who always belives in quality. I have a very good infrastructure with latest Hardware,
Software, Telephone lines, and Broadband connection for communication.
My hourly rates are $ 9 USD. If you are looking for freelancers, please reply with a time to
discuss things over IM.
Thanks,
Rajesh
--
-actual reply to a craigslist posting in a major US city, looking for a software developer to work on site - received last week.
Just so you know, it's $9 an hour without even shopping around, and that's not a joke.
We all like to pretend this isn't here and it isn't happening, but I would say conservatively half the job market has disappeared in 10 years due to this currency/standard of living imbalance.
I'm in software. I freely admit my spelling and grammar skills SUCK. :)
(re)Learning spelling would be a good idea. I'd hate to be the one to debug human resources code with a variable named /*Whether or not higher subject*/
bool higher=False;
which actually determined if someone was hired, but another coder thought it was a boolean for hierarchical levels, and was making it flip-flop between true/false.
Coders, as the future jacks of all trades, need to know a little of everything, and a lot of the fundamentals.
it was the domain of the greatest scientists, engineers, craftsmen, and artists
now its the domain of guys with ass crack showing
all industries go from new and fantastic to mundane and ordinary. IT work is no exception. for some of us in networking, it pretty much IS plumbing
but there's an important caveat here: some plumbers make a shitload of money. reason being, simple economics of supply and demand: if you're a good plumber, and you're willing to mess with a toilet, you're a rarity, and you can charge good money
the same simple economic truths apply to IT work, and always will. just like plumbing's disagreeable facets to the job according to average folk, to average folk, dealing with the technical aspects of a computer is a mindnumbing experience
this means there is and always will be a natural barrier to entry in the field, and so those of us who thrive in the nominally difficult mental arena of dealing with the innards of a computer will therefore always, for generations to come, make good money, just like plumbers today
hopefully we'll show less ass crack though ;-P
intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
I don't give a rat's ass about their (for example) Java experience quite frankly. And why should we?
You shouldn't. Well, not directly, anyway, given it's not a requirement for the work you do.
But not caring about "breadth of knowledge" is a little silly. Breadth (and depth) of knowledge is a good proxy indicator for an individual's ability to learn on-the-fly and pick up new skills as needed. It also indicates a deep-seated passion and curiousity about their profession, something that's vital in a truly skilled developer. Plus, a broad range of skills means a larger range of tools (for example, the ability to approach a problem from a functional, procedural, or object-oriented perspective as needs require), which can only be a good thing.
So, while it's true that, from a checklist standpoint, candidates should have the specific set of skills you need, it should definitely be considered a plus if the individual shows a wide range of skills.
I love the job requirements that are literally impossible to meet. Like, 10 years of C# experience. I wonder if they actually do any research or if they're just going the H1B fast track ("Hey, we couldn't find any American workers...but some guy in India says he's been doing C# for 20 years!" "Wow, that's amazing! Let's interview him!")
-- Political fascism requires a Fuhrer.
The report must be on the low side.
I don't feel comfortable saying exactly what I made, but when I got out of the Marine Corps, with 4 years experience developing software and no degree, I was making more than that report's bottom end. And that was just after the .Com bust in a relatively small mid-west city.
A developer I worked with while I was in the MC, back in Washington DC was a consultant who's pay rate was $125k a year. Again, this was post .com bust. And most of the other folks I know who are working in DC, LA, or NY are also seeing much higher pay rates. Then again, a crappy apartment in NYC costs more than a nice house in Wisconsin.
There is money to be made in business software development, but that money is not in "programming". The way to make big money as a developer in the business world is to become a domain expert on what ever it is your users do. Know everything your users do and you'll write software significantly better than the best cowboy coder in world who spends his days hiding from the users.
Know your users, communicate with them, find out the ins and outs of their jobs. Look for ways that you can help them, more than just software, the full six sigma process improvement cycle. If you can do that, you'll be exceptionally well payed for your services. That's why I prefer the title "Solutions Developer" over "Programmer".
-Rick
"Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
And then you guys raised taxes quite a bit to pay for reconstructing Eastern Germany - and haven't gotten around to lowering those taxes yet. Absorbing all of that is what killed your economy.
That's not to say it's bad you guys did it - it was good and necessary to do. I just mean to say that Germany is a special case.
Do you even know anything about perl? -- AC Replying to Tom Christiansen post.
Sure there are - try changing the order of the words in a sentence or not using plural endings. It'll soon be more ambiguous or utter nonsense.
A lot of the grammar rules are derived (or evolved) from the root languages. English isn't as ad hoc (no need to capitalise Latin expressions either) as you suggest.
After 15 years I can say to the younger generation coming in with 100% certainty - go independent.
What does this mean? Well obviously you need experience so getting a job to bootstrap yourself and pay your rent is first priority. But what you do on the side will impact your career greatly.
Things you can do in your spare time:
1. Work on an Open Source project and wrap it into a solution you can sell as a service
2. Create your own shrink-wrapped application and sell it
Either way you are partaking in the foundation of wealth - ownership. Only through ownership can you be truly "free" in the western world. Owners are first class citizens in any country. Everyone else is just a worker bee.
Just to convince you let me break down a little math for you. I currently bill our clients at around $190/hr for my programming services and I'm in an average "enterprise software" development position. But I only get a fraction of that - let's say around $50/hr for argument's sake. Some goes to infrastructure but the majority of that profit goes to the ownership. If you are the owner you get it all. Yes it's more work. But let me ask you this - would you put in 10-20 more hours per week to make 3-4 times as much? And that's just the tip of the iceberg. Some indy developers have really made a name for themselves and a fortune to boot.
And if it all fails, you still have that experience to learn from. Nothing ventured nothing gained.
In the DC area, you'd expect a starting salary near $60k. For starting salary with a technical Ph.D., $100k is reasonable (although I'm not a programmer and do not know how that compares to other technical fields).
It completely depends on the field for government pay. For technical staff, the government pays terrible. They tend to value people with technical degrees/professions the same as non-technical ones. The private sector/contractor pay is much better and you can get equal or better benefits with a technical degree, if you look around.
The government also contracts out a large portion of their IT and computer related needs.
It will also depend on your motivation and ability. These do not matter one bit in the government, but are very critical to your pay with non-government employers.
Hello there!
Please refer to your opening on job posting site. I, Rajesh Sharma, would like to apply for the job.[...]My hourly rates are $ 9 USD.
We all like to pretend this isn't here and it isn't happening, but I would say conservatively half the job market has disappeared in 10 years due to this currency/standard of living imbalance.
There's another reality: it's really, really hard to manage projects in India. I have tried this for a number of projects, and have learned the following things:
Each and every project, I have had the above things. There are lots of ways around the above, but the main thing is that it's very hard.
8 of 13 people found this answer helpful. Did you?
I'll just throw out my .02 - not that it means much.
I went to Northern Il. University - not exactly the best school, not a bad school either though. I was told, by the University, that the average starting salary for their Computer Science graduates was 59k.
Not to toot my own horn, but I was a big fish in a little pond, if that makes sense. I had internships and Fermi, Hewitt Associates, Volt. I was also the Microsoft Student Ambassador for the University and had a 3.9 GPA in my major.
I had interviews with every company I spoke to at the job fair, and job offers from all three that I pursued. They were 40k, 43k and 50k (but ~50% travel required). I negotiated the 43k up to 47k.
I was pissed.
I felt like a failure after all that - but my roommate who was also Comp Sci ended up taking months to land his first gig at ~30k. Similarly, every one of my friends that was Comp. Sci. - who I knew well enough to find out, ended up making less than 50k out of the gate. Many less than 40k And a few took several months to land a job.
My girlfriend at the time, was finishing her Masters and even with that, she started at 45k....which pissed her off to no end at the time.
To this date, none of us, have ever gotten a call from NIU asking us what our starting salary was. Everyone I knew personally, took a position for far less than the 'average'.
I wouldn't be surprised since USD9/hour is a fair bit in my country.
;)...
Analyst Programmer monthly salariesin Malaysia
According to Google: 1 Malaysian ringgit (RM) = 0.292184 U.S. dollars
So at the higher end, RM4500/month * 12 = USD15777 a year, or about USD7/hour. The low end is naturally even lower...
For some strange reason[1] a company I used to work for outsourced some work to India. When the Indian workers came over and we compared salaries, they were paid more than the average Malaysian programmer in our company, and while we weren't very good, most of the Indian team made us look good in comparison, one or two of them had some clue (they were paid quite a lot in comparison), but the rest were like the sort of programmers who would be responsible for the notorious Excel bug (where 77.1*850=100000).
FWIW, RM5-6 buys you a decent lunch, you can rent a room for about RM250-500/month and taxes at the RM4500/month level aren't that high.
A lot of people in "the West" are unaware of the huge differences in cost of living. Wages are really low elsewhere. So when you see people say "it must be child labour", it's often bullshit, or someone misinterpreting a picture/video ( just because a bunch of oriental/asian workers are petite doesn't mean they are children - my cousin is 40+, she lives in New York and she has to buy some of her clothes in the children's section).
[1] Apparently the company had money stuck in some country (not India), so they decided to use it by outsourcing work to a company that then outsources it to India... Can't remember how many layers there were. Something like that anyway. I was wise enough not to say in one of the first meetings - "why don't we just buy a whole load of merchandise, ship it to where you want the money to be and sell it, you'd lose less that way", go figure why
My little anecdote. I graduated in '93 with a BA in CS Applications. I spent three years in school as a student Unix admin and went right to work doing that - for a mere $28k. I spent the 90s switching jobs every 2-3 years (and getting a 10-20% raise each time). When the tech bubble burst in 2001, I had worked my way up to an $87k/yr salary.
Since then, I admittedly haven't had a raise, and I've watched in alarm as more and more jobs were outsourced by my employer to India, then China. I even did a stint as a team lead for a group that was mostly in China (personally rewarding, but professionally alarming).
My response was to specialize in firmware QA work, and then move to a smaller company where the work requires lots of hands-on tasks. I did take a small pay cut, but the bonuses are actually better here than a certain, two-letter acronym computer giant I used to work for. Better still, my employer already 'outsourced' this group from the Bay Area to Colorado, so they aren't likely to move it again anytime soon. My group is actually hiring right now, and we can't find people with the experience we need. That's when you feel more secure. :)
My personal advice would be to avoid web application programming like the plague. Specialize in something requiring deeper knowledge and/or hands-on work (get closer to the hardware), and watch for outsourcing trends. Jump ship whenever it is beneficial to you to do so, and don't worry about your company or your friends you are leaving behind. Be a mercenary and do what is best for you and your career.
Necron69
Generally standard of living metrics are based on reports such as the Human Development Index, which in 1990 placed Germany way above the United States, but by 2009 ranked the United States better.
However, one of the biggest problems with these reports are that they are based on measurements which are not measured the same way from country to country--and they fail to use certain metrics which are demonstrably more important to Americans. In the first category are the infant mortality rates--in the United States any sign of life of a premature baby who later dies is counted as an infant death, while in many countries of Europe, live births of babies under 500 grams or under 22 weeks of gestation are not counted. If you're measuring apples and oranges, it's no surprise there is a difference in the results.
Another example in the first category is percentage of population living under US$1 per day. While poverty is terrible, purchasing parity in the HDR from the UN uses exchange rates in order to determine poverty, rather than examining purchasing parity based on hours worked. One metric which would be far more interesting to measure is number of hours of labor to purchase 1,000 calories of food. The problem is that exchange rates have less to do with individual purchasing power locally, and more with international trade factors that only influence profitability trading abroad.
In the second category is square footage per household member: it is clear that development patterns in the United States (and, increasingly in Europe) have revolved around the pressure by Americans (and, increasingly, Europeans) to increase their living space and privacy. "The American Dream" has always been to own a home--and it is clear one of the biggest problems to urban planners and proponents of mass transit has been the desire for a large home and empty land separating your house from your neighbors had caused sprawl which makes mass transit ineffective. I have yet to see a single report on standard of living, however, which has ever attempted to measure square footage per household member across countries. You'd think that if having living space and privacy is so important to humans, we'd measure that--but I haven't seen it measured anywhere. And where I've seen living conditions measured, inevitably they measure "mobility" in a way which scores mass transit very high--essentially measuring the inverse of living space, since mass transit accessibility is inversely related to living space.
Between that, and the fact that different people live in different areas because for them individually, different factors are more important than others--for some people, they'd rather give up some square footage to have better access to a reliable light rail system, for example--I always take the whole relative standard of living measurement thing with a huge chunk of salt.
I think you misunderstand the original point. The reason you shouldn't choose a career for money is that it's confusing cause and effect...people make a lot of money in computing because they love it and eat, breathe and sleep it and pay out of their own pocket to go to classes on it. At least that's how me and the other six figure per year computer guys I know do it. We make a lot of money, but we add under our breath "for all the time, money and effort I've put into my skillset, I'd damn well better make a lot of money".
So you're just vastly more likely to be successful in any way, including financially, doing something where taking time and effort beyond the regular work day isn't going to be utter misery. Of course, realism has to enter into somewhere - you're not likely to make a good living getting drunk and playing XBox, no matter how much you love it - but if you choose a career that fits with your natural talents and strengths, you're more likely to be successful.
Is it possible to make a lot of money doing something you hate? I suppose so, but what profiteth a man if he wins the world and loses his soul?
If your bitterest enemies are people who hack the heads off civilians, then I would say you're doing something right.
I'm going to be flamed for this, but the numbers for graduates from my university (UIUC) aren't that far off.
For 2008-2009:
Bachelor's: $26,000-100,000 with a mean of $72,286 (NACE average: $58,419).
MS: $30,000-96,000 with a mean of $75,125 (looks like getting an MS is not that helpful!) NACE average: $70,625
PhD: $65,000-104,000 with a mean of $90,466 (NACE average: $83,000)
Now, the university is ranked about 5th in the country for CS.
It seems that employers really value the BS and PhD degrees from there, but not so much the MS.
All the salaries except the NACE ones are self reported - the university isn't doing any inflation or guesstimates. It could be that people with low salaries don't report, but the numbers for MS and PhD coincide with what I heard personally from graduates.
And for everyone whining about H-1, etc - the salaries obtained by foreign students here were pretty much the same as those offered to Americans. They all were, though, fairly smart folks.
Beetle B.
Stop hiring Rajesh FFS!
There's another reality: it's really, really hard to manage projects remotely. I have tried this for a number of projects, and have learned the following things:
Not that I disagree entirely that it may be more difficult to manage someone in India, and I've certainly heard horror stories, but come on. These could all be applied to just about any remote contractor who isn't worth their salt. I have worked with/currently work with plenty of Indians who really knew/know their stuff.
God, schmod. I want my monkey man!
Have you ever played Bioshock? If not, I highly recommend it. It's as much a commentary on the Randian philosophy as it is a game - the first you hear of the original antagonist (Ryan) is him saying:
"Is a man not entitled to the sweat of his brow? No, says the man in Washington. It belongs to the poor. No, says the man in the Vatican. It belongs to God. No, says the man in Moscow. It belongs to everyone. I rejected those answers. Instead I chose something different. I chose the impossible. I chose Rapture. A city where the artist would not fear the censor, where the scientist would not be bound by petty morality, where the great would not be constrained by the small."
As the game progresses, you hear a lot about "the parasite" wanting things for free, with signs asking "Who Is Atlas?"
Fascinating stuff, and a great game. And yes, this is OT, no need to mod it so.
I have developed a truly marvelous proof of this comment, which this signature is too narrow to contain.
You should try hiring in India as well. I used to call these guys at home (from Seattle) - it was a major plus if they showed up at the agreed time, another major plus if they answered any of my questions with something resembling words.
I found that most teams hired like 10 people for the workload of 3 or 4 just because it was inevitable that a) one or more of them would be terminated for lying on their resume (education and degree's they didn't actually have, or degree's from fraudulent universities), and b) out of that 10 or so - you'd have 2 or 3 that actually knew what they were doing - and barely at that.
I honestly don't see how that saved anyone any money over having American's do the same work (which is what we were doing - hiring Indians because they worked for less). There didn't seem to be any accountability like you mention above either - I guess that's the problem with having employees 10,000+ miles away.
Computer Programmers are tracked separately from Computer Software Engineers - Applications or Computer Software Engineers - Systems. And salaries vary by city, state, and industry. You may find these links interesting:
http://myplan.com/careers/db/4st.php?onet=15-1021.00
http://myplan.com/careers/db/4st.php?onet=15-1031.00
http://myplan.com/careers/db/4st.php?onet=15-1032.00
Be sure to hover over the "details" link as it will give you more detail on salary distribution.
As for the question "is it lucrative?" I think the answer is definitely yes as both salaries and total employment are increasing. Especially when you check out the employment numbers for 'sewing machine operator'. Despite gradually increasing salaries, total employment has shown a rapid decline:
http://myplan.com/careers/db/5.php?onet=51-6031.00
Or maybe check out dishwashers salaries:
http://myplan.com/careers/db/4.php?onet=35-9021.00
Less than $18k per year and employment is flat.
There's some differences, though.
1) Yes, you could have most of these same problems with any remote contractor, but you won't have them with an on-site employee. Ergo, if a project is critical, don't rely on remote contractors, rely on actual employees who have a stake in your company.
2) Remote contractors in your own country are also in your timezone, and you can call them up while you're at work to ask quick questions to. Not so with someone on the opposite side of the planet. Waiting a full day for an answer to every single question causes project schedules to slip badly.
3) Remote contractors in your own country can sign contracts with you, and you can take them to court if things fail due to bungling. Good luck filing a lawsuit against a contractor in another country.
Also, if John fails to deliver as promised, YOU CAN SUE JOHN for your money back, an option that almost never exists with Rajesh. You will find that various independent Indian contractors will _basically_ hold your project hostage for more money. 'I have good code to send now. You pay 2 more weeks, I deploy good code.'
I graduated college from a lesser known school a year ago and got two offers. First was 54k, second was 56k. I was a c++ developer and could have taken the first job doing c++, but I thought I would go with the Java developer because the workers seemed a little more enthusiastic and happy to be there.
Haven't regretted it at all. By the way, I live and work in Huntsville, AL so the cost of living is fairly low. Our job and housing markets have also been steady due to the amount of work on Redstone Arsenal.
My numbers were right in line with that of the article, but my experience may not be typical.
"I don't have to think. I only have to do it. The results are always perfect, but that's old news." - Meat Puppets
Monday, my employee could not make it to the office due to a fever.
Tuesday, my employee showed up for work at 9am, but the power went out at noon, and the whole office was given the rest of the day off.
Wednesday, as my employee was driving to work, he got in a motorcycle accident, and did not come into the office.
Thursday, my employee worked a full 8 hour day, but did not `git commit` anything, did not email me about his status, and did not, apparently, get anything done.
Friday, my employee was lost in a flood. His manager called me to explain that, while she has no idea where my employee is right now, she's going out into the flood, personally, to search for him.
tl;dr version - your worth is your ability to solve problems.
There a huge specrum we just lump together under the term 'programmer'.
* Programmer: coder who churns out mostly boilerplate code in the depths of a team. You're basically given 'I need this' and crank out a specific solution. Turn design into code. The lowest form of this is the code pig - you're stuck in your little pen with no context, turning garbage into sludge. The term 'code pig,' while demeaning, is one I've heard used in the industry - one specific example was people working on the Windows Vista team.
* Engineer: someone who you can give a problem, analyzes it in the context of the complete system, comes up with an optimal solution in light of the tradeoffs, delivers a working solution. Turns problems into solutions. Engineers usually have more interest in continuing education than the code pig - whatever solves the problem easier and faster.
There are all sorts of shades of this - for instance the skilled IT guy who's not even a 'programmer' but ends up doing a lot of scripting can be effectively doing engineering. And you get people trying to act as engineers who simply should not be. Or someone who's stuck in a code pig job can be a great engineer.
But in general if you can be easily replaced you're not worth a lot - especially if your boss thinks your job can be outsourced to India and he can get the same result cheaper (even if he's wrong). If you can consistently solve problems you're worth a lot.
One good way for programmers to make lots of money: specialization. If you're good at COBOL and huge companies desperately need people to maintain or upgrade their millions of lines of outdated but nominally functioning mission critical code, well then you're valuable. If you have the rare skills and engineering skills then you're extra valuable. Another good way to make money if you have little tech skill is contracting. Get in, screw things up, on to the next contract. I am not saying that all contractors are like this - just a subset I've encountered. In this case you're trading your contacts and people skills to make up for lack of technical talent, and it takes a non-trivial amount of con man talent.
Not that I disagree entirely that it may be more difficult to manage someone in India, and I've certainly heard horror stories, but come on. These could all be applied to just about any remote contractor who isn't worth their salt. I have worked with/currently work with plenty of Indians who really knew/know their stuff.
I gotta side with cerberuss on this one. Yes, c'mon all of those can be applied to any remote consultant that is not worth his salt. However, from my experience working with remote teams (India, Brazil, within the US), there is something specific about the consulting industry in India that can really bit you in the ass harder than in other cases.
Now, just like you, I've worked with plenty of Indians who really knew their stuff. In fact, most of the remote projects I've worked that involved teams in India have had a high success ratio. But the few that have failed have done so far more miserably and catastrophically than with other teams on other countries.
This has given me a glimpse to a darker side of Indian offshore consulting, which I've actually talked a lot with several of my Indian colleagues who also agree on this: you can end up with a consulting firm that sells the idea of development guided by a a top-notch architect, and you swallow the tripe. And then the top-notch architect designs a system which looks solid, then he moves to another project. Then the consulting firm gets a whole bunch of sophomore kids from college find ways to replicate GOTO statements in Java to do the implementation. My first encounter with such practices from such a consulting team was when I was working together with an Indian colleague of mine (a really good software developer) in trying to make sense out of the mess. When we looked at the code and the original design, all we could do was say "WTF?".
That's an experience I've had to repeat several times. It's a reality, and it has nothing to do with dissing people from X or Y country. It's an unfortunate reality that cannot be denied or politically correctly sugar coat it.
Hey, you outsource and offshore because you don't want to pay a decent wage, you deserve all the pain you get.
Forget magic. Any technology distinguishable from divine power is insufficiently advanced.
Actually, the numbers quoted in the story match up very well with my own experience. At least in the Silicon Valley area, $60,000 would be an absurdly low salary for any programmer but someone straight out of college (and would probably be on the low side even for them). I've never been asked to pay for my own tools, and what on earth is this "hyperspecialization" he's talking about? The most valued programmers are those with a broad range of experience who will be able to handle whatever problems are thrown at them.
Everyone's experiences are different, and maybe his description is accurate for some people. But it's certainly not the only one, and I'm not convinced it's even a common one.
"I'm too busy to research this and form an educated opinion, but I do have time to tell everyone my uninformed opinion."
Here's how you bake that statistic:
A) Only count people who got a job
B) In their major
C) Use the best average salary from the past decade
Everything can be commoditized. Even you.
We cannot compete with an overpopulated world. The relative few of you that can pipe in with well-paying jobs are a dying breed. The pattern will repeat. Yet you still believe in open markets that have killed 90%+ of the rest of the country, on the chance that you will be the special exceptions.
Is Programming a Lucrative Profession?
No, it is not. And it shouldn't be just because it's "programming"
There is a big difference between modifying JSP/ASP/PHP pages vs low-level programming or programming and architecting highly available e-commerce back ends. There is a big difference between IT support calls where you try to help users how to press the any key vs being a Tier III support Sysadmin/Network guy who knows that kind of shit inside out.
Just as software-related jobs run the spectrum from mundane to highly complex, so the salaries that go with them. That is reality. We got to "thanks" the dot-com brainfartopocalypse and the washing down of undergraduate CS curriculum that we still get new graduates that think they'll make as much as the under qualified prima-donas of the late 90's even if don't know the difference between a pointer and a coconut or don't know the difference between a Vector from an ArrayList in Java or who think C# is the same as C++ or who have never written anything more than a "hello world" program in assembler.
You can tell the difference between the graduate who just went through the bare minimum course curriculum and the one who took far more programming courses and who tried to work at the college labs or tried to get internships somewhere (anywhere!) or who at the very least tried to run Linux at home and played with as many programming classes as possible and who found big-O notation fascinating.
What type of job should each of these two should get? And what salaries should they get? There are people who graduate from MIS and CS now who should have never been able to graduate 10-15 years ago. But they graduate. Schools let them as a response of what the industry need.
And what the IT industry now needs is a gamut of software professionals that can do a variety of jobs, from the mundane to the holy-crap-this-is-hard(10+1)! With more of the former than the later. The drop in salaries is just a reflection of that.
If programmers want more moolah, then they should try to tackle harder jobs that warrant better salaries. That requires specialization of skills: be it embedded programming or system-level programming or becoming a JEE specialist/architect who knows how to write solid back-end systems, or becoming a systems engineer, or a software architect, or work your way to become a team lead, or become a solid gold SysAdmin/DBA, etc, etc.
Being a "computer guy" stopped being a cash cow a long time ago. It can provide for a decent living (just like any other well-done trade or profession). But for those who go to school and graduate thinking they should deserve $70 just because their diplomas read "Computer" somewhere, nope. Graduate and become an specialist that can tackle hard problems. Then earn it. The reality is that salaries are going down, and that's a justified reflection on the fact that the software industry is inundated with mediocre programmers.
See, many of us during the dot-com boom-boom (and many who graduate now) came to the profession thinking big bucks. The reality is that a $50k salary (or even a $40K salary) is a decent salary for a single person ... if you live frugally (unless you live in an expensive area like NY). Living frugally and with financial responsibility appreciating a $50k salary is a far better life lesson than just graduating and getting $60-$70k just because. Many of us in the software industry lost touch with respect to reasonable proportions of salary as a function of our work functions.
That is the worst legacy of the dot-com era.
I'm sure I am in the minority, but I am proud of the fact that I got rich as a programmer and not by being a suit. How did I achieve that? I co-founded a small software company that was acquired by a large tech company. True we didn't pay ourselves much until we started making some good revenue, and it took us 7 years before we were acquired, but ultimately my ownership stake in the company got me more money in the end than if I had been working as an investment banker right out of college. I didn't turn into a manager or director or some suit who forgot his developer roots, I remained pretty much an architect/developer the whole time. I am really proud of that achievement.
But anyway, my salary at the acquiring company was quite good ($135k with bonus, stock, etc.). I checked on glassdoor.com and it looks to be comparable to other developers at the company. I agree with some previous posters that if you want to be treated more than just a code monkey, work for a company that understands what developers bring to the table, that programming is very much a creative art and not at all like a bricklayer. If you work for a company whose core business is far away from tech (off the top of my head I am thinking a manufacturer or an insurance company, etc.) you will probably not be thought of as key and so I would assume your salary would reflect that. Check out salaries for software developers at companies like Cisco, Apple, Google, and Oracle and you will see they are pretty good.
Now you do have to consider the location. These companies are all based in expensive areas (Silicon Valley, east coast areas like NY and Boston) so their salaries will have to be higher just because of that. But still, overall I do believe that tech companies will give better salaries for developers than other companies.
An engineer is someone who spends 3 hours trying to solve a 2 hour problem in 1 hour - Anonymous
You sound a little bitter. There may perhaps be some PhD students that would fit that profile. So what, they figured they'd rather be someone's bitch for 3-5 years, and then have their own bitches, rather than go out into "the real world" and be someone's bitch for the rest of their life.
And besides PhD in English or sociology in not the same as PhD in math, physics, medicine, electronics. I certainly know a few of those PhD students or people with PhDs and they are some of the smartest people on the planet. But they don't program as well as I do. But would you expect them to? People get accepted into a PhD program because of their potential to do research in their respective fields, which is a skill quite opposite of what it takes to make it as a programmer in a corporation.
As the island of our knowledge grows, so does the shore of our ignorance.
I'm finishing my PhD now, while working. I just got hired a year ago, and make about as much mentioned (+/-, if you want to count guaranteed bonuses, etc.). Great benefits. The software developer market, for people who actually know what they're doing (e.g. C++, not PHP), is *hot*. Recruiters are calling everyone (even at work), and I'm going on my second recruiting trip next month. Anyone who can remember any specifics from the last 3 years of their undergrad CS degree would be nice. My employer hires non-CS and trains them how to program (for *months*, paid at full salary the entire time), if we can determine they're smart enough to learn.
The real issue is that most people calling themselves programmers can't even write a linked list or binary tree *TYPE*DECLARATION* without spending a half hour on google. They don't get hired, because they're not very good. But they're happy to complain that they don't need it in real life -- which is true, for the lower-paying jobs they'll get hired for.
Care about electronic freedom? Consider donating to the EFF!