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
That actually seems about right for computer/software engineers in Canada. Most "programmers" though are technical college grads or BSc Computing Science, and end up being supervised by engineers. For the typically programmer, those numbers seem totally high.
...unless you've moved into management, you're probably not making much more than those new graduates are, even if you have years of experience.
Proficient in C,C+,C++
because when I graduated in '03 all the CS jobs vanished thanks to an overabundance of CS grads combining with a dip in the economy. I was lucky to find a job paying $28k/yr. Maybe it was different in other regions, but there certainly weren't any starting jobs around here for 54k.
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
Personally, I don't see $60k beings unreasonable for well-trained graduates. The school I went to has a well-respected software engineering degree (it's actually an engineering school), and the 'average' starting salary for graduates is $57,175. The students almost all have two year's worth of internships when they leave school, and can write requirements, test plans, do proper designs in a number of languages and technologies, and overall engineer a solution.
I think the big difference here is that the article says 'Computer Science BS graduates', which I consider similar to my school. Then the summary goes nuts about 'programmers', which I think are different than computer science. People tend to think of programmers as the guys that just code, which of course would make them less valuable and more replaceable than full blows software engineers.
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.
I can believe 54,000 grand.
I cannot. 54 grand I just might.
Because they might show up your grammar and spelling skills?
You can find lots of U.S. survey data on the Bureau of Labor Statistics website, by occupation here: http://www.bls.gov/oes/2008/may/oes_nat.htm#b15-0000 and by region here: http://www.bls.gov/bls/blswage.htm
I can't find starting salaries though.
strictly "programming" is becoming a blue collar job these days.
but if you find a profession that you like that needs programming
skills in addition to its normal requirements you can do great.
myself I went to school to engineering (aerospace), that needs
a lot of programming as all we do is write code.
So its applied programming if you will which tends to be
a lot more useful in the real world then just a programming
degree.
If I could walk that way I wouldnt need cologne.
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.
If you want programming to be a lucrative career, you have to think of it as a rewarding career first. A lowish starting salary in a company where you can learn the trade is going to serve you better in the long than a high starting salary with an outfit with no ability or interest for assisting your technical development. To para-borrow, if you're smart and get things done you can get yourself a good salary.
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'
The Bureau of Labor Statistics is talking about "Computer Science BS graduates", not programmers in general. So it wouldn't be surprising if the average *programmer* made less.
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 have never seen this for regular employees, and I have been in this game for 19 years.
If this were true, then kiss Visual Studio, Flex, Rational, Clear Case, (the list goes on) good bye.
I am very small, utmostly microscopic.
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'm a final year comp sci student and I have to agree.
This course has been watered down like the drinks at a carnival.
I expected that by the end of my degree I'd feel competent in the subject.
The best way to describe my current state? I now more fully appreciate the true breadth of my ignorance.
I do not however feel that I am any kind of expert on the subject....
Some of the modules seem ok but then I look at the modules related to areas which I have an interest in outside of college and many of the modules I've done over the last few years could probably have been covered more thoroughly in a few days by an enthusiastic person with a textbook, google and some brains.
They're cutting out most of the math from first year because the dropout rate was the highest in the university and the standards in second year seem shocking since they also dropped a lot of the other basic stuff. (I've been tutoring people from the lower years)
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.
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.
He's a CONTRACTOR, not a federal employee. That's why he makes what he does. The federal government doesn't hire IT staff, that's contracted out.
Government jobs as G# through SEC whatever might pay well, but working for a government contractor sucks. You're paid like a FTE but your job security is like that of a contractor. I much prefer working in the private sector.
I don't think this point can be driven home enough and you sight a perfect example. As an employer I would want to hire first those who showed the desire to do the job(s) they are applying for. They are going to be far better employees to manage and work with when it comes to getting the job done. As someone who's receiving service from such a person their quality it going to tend to be better if they have a general desire to "want" to do the work they are doing. Like you said, I want the doctor who about to open me up to be a total geek about his choice of medicine. I would feel far better knowing that sitting in his bathroom are magazines about new research and techniques related to his field. If people are allowed to do what they are passionate about it's going to benefit everyone in the end, but here in the US especially it seems it's all about making the $ no matter the sacrifice.
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.
Shrinking salaries, H1B's and the outsourcing of work to India and other countries.
I can't help wondering if there is a forum on the internet populated by music industry professionals who are currently posting messages mocking our old business model and the need to change.
Avantslash - View Slashdot cleanly on your mobile phone.
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.
There are LOT of variables here. In some cases you absolutely cannot expect to make that much to start. In others you can expect that much or more.
I won't get into specifics but we've recently spent a few months trying to hire some recent grads & experienced candidates.
- In a few cases we lost experienced candidates because their company (which was already paying them well above the salaries listed here) threw even more money at them to keep them on board.
- Countless recent grads had already accepted offers above the range we're talking about here. One recent Masters grad was considering an offer from us that was above those listed in the story when he suddenly received a higher offer from a competitor.
It depends on what you want. Higher levels of academia do not necessarily produce good programmers, but it does typically produce good researchers. Hire the individual, not the education, is my experience.
Earlier this century building cars was a high tech job. Many thousands of people built their life around working a job that they believed that they were uniquely qualified to do, a job they believed was valued. They were wrong. Now those people and communities are failing because they were not special and they were replaced. The same will happen to you if you base your life on working with computer science. The only difference is that its a little easier to move a development team across world. People are a little lighter than a mile long assembly line.... Outsources has already begone it ill ramp up soon enough. My guess we've got 20 years before they completely gut U.S/western world develpment... A little time but not a load... Don't get left behind when the ship breaks in half....
I've been a software developer for over 30 years and I'm still trying to decide if it's a lucrative profession.
There is no such thing as job security. If you don't plan as if your job could disappear tomorrow, you're going to be surprised someday, statistically speaking.
Grammer Nazis - I mod you "troll" unless you actually add something on-topic. Yes, I know I have mispellings in my sig.
Programming works fine for me, thanks. I had to move around a bit till I found a company where software is the main product (so developers are valued), and I have to keep my skills current and work well with others. When it's time to find a job, I've had to use networking instead of blindly e-mailing my resume into a black hole. I'd have had to do all these things in any other profession. Sometimes I think the people who bitch about how hostile the tech job market has become are just whiny losers who can't take ownership of their own careers.
[Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
There are no "rules" To the English language. Too much was just made up Ad hoc.
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.
In reality, Rajesh is very likely just the front-man for a team. He'll be taking a $1 cut and paying someone on his team the $8......or more likely, less.
...but I do fairly well doing Mail Merge programming, considering I don't have a degree or any certs (unless you count ASE certs, lulz). I love that I sit in the middle between the technical team and the business team...I get to act as a translator of sorts. The mail merge programming I do isn't all that particularly difficult, but laying out new documents for our clients or trying to figure out complex math equations so data appears correct is always fun.
For reference, I work in a pharmaceutical call center, so most of our forms are things like insurance verifications, claims, patient assistance program applications, etc.
Living With a Nerd
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.
One reason is because every now and than a major paradigm shift happens or simply you find a small but very important situation where a different method will accomplish in 10 lines what 10000 lines would have required. either way its usually good to have someone with a few tricks up their bag so they can save your ass.
This is why there's a difference. I have a degree in software engineering and that's what my job is. I started out above the average paygrade with a BS since I also worked a lot on some OSS that I could show my employer.
If you sit back, get a technical degree and expect a high starting salary reality is going to hurt. If you work your ass off, volunteer on something outside of school then yeah you can expect a good starting salary.
Believe it or not, most software engineers make good money, programmers on the other hand are hired by Walmart to be code monkeys (not joking, Walmart hires a lot of programmers).
Yes. I graduated from University of Wisconsin with a Bachelors degree in Computer Sciences. I had internships for two summers before graduating. I had five interviews with top tier software companies, and got five offers, ranging from $65k to $85k, and all including excellent benefits. Do your homework. Do well in classes. Do well in an algorithms class since it gives you one of the most useful skills you'll need in an interview. Get an internship. Practice interviews with friends and share your experiences. Interview often, you have little to lose. Get a job on campus if you can't get an internship, so you can get a reference from a PhD the next year. Those references go a very long way. Oh yea, and make sure you learn about parallel programming. It's important these days.
You don't need a time machine! Just change the units on the salary numbers from dollars to rupees and then hop on a jet to Mumbai.
Cheers,
Dave
They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
Ben
Only a tool thinks tools are important.
If they can develop better without vi and using a GUI, why shouldn't they? Similarly VHDL and C. Both have their uses but neither can do everything. Use whatever tool works best and don't get all anal about having to use a specific tool for everything.
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
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.
Yes, very annoying. But really, yes, you can make a web page in Word. What you can't make is a site that supports multiple languages, authenticates users, withstands hackers, processes orders, stores data in a database, scales to support heavy traffic, can run on multiple servers, uses AJAX to speed page loads and minimize bandwidth use, looks great in all browsers, is easy to navigate and accessible to the disabled, has a content-management system usable by non-coders, etc etc.
In short, you can't make a site that's suitable for a business in Word. You need a crapload of knowledge and skill.
What they're saying, effectively, is "I can build a doghouse in my backyard. How hard can skyscrapers be?"
I'd love to know where you're pulling down 40k (~$19/hour) in the kitchen. Unless you're a chef (and even then, not guaranteed), it's more like $7.50-$12/hour for a line cook, depending on region. You're much better off in the front of the house if you want money.
If you were me, you'd be good lookin'. - six string samurai
If you happen to read the BLS 2010-2011 Occupational Outlook Handbook for programmers, you'll see they are making a great distinction between simple programmers and software engineers. In fact, the good outlook is only for the software engineers (+32% until 2018) leaving the programmers at -3%. Please read the report where they give the explanation for the difference between these two kinds of developers, which might be technical, but really important to understand the powers of the market.
Programmers, unfortunately, can be easily outsourced, leaving much competition and perhaps lower salaries. Really well-prepared software engineers, on the other hand, will almost always thrive because they need to be physically near the places of R&D and new paradigms, talking face-to-face with customers, and experience the IT evolution first-hand. You can't always do that from Bangalore.
Similar definitions and hints you can find at the German BERUFENET about Computer Scientists and their various branches. Simple coders (programmers) are always the peons.
"Sum Ergo Cogito"
That depends one your job site I suppose. I work as a contractor in a DoD office. Probably about half the people here are contractors and the other half Civil Service. Other than Management always being Civil Service, there isn't much job stereo typing between the two.
Pay wise I would rather be GS than contractor here. The contracting company is very misery about pay such that we get less pay and benefits than the GS folks we work with. On the upside I never did earn my degree and had about 2 years of experience in my specific job field, the biggest factor was probably that I still had a valid clearance from being in the military. The pay is still very good for the area, I'm the sole earner for my household of three.
I'm 25, I am a Software Engineer. I make more money then all my friends, except possibly the pharmacist. However I get to do something I enjoy. The problem with programming is a lot of people go into for money and have found out they are a dime a dozen as programmers. It is almost impossible to tell how good of a programmer someone is in a 1 day interview, so companies are forced to hire people at this "skilled" labor rates and hope they pull in some decent programmers.
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.
(Disclaimer: I'm a systems integration guy at an IT services and engineering firm. I work with tons of developers, but I'm not one myself.)
From what I've observed, the best programmers/developers/coders/whatever are the ones who specialize in understanding their problem domain. The industry I work in has a lot of specialized, semi-proprietary knowledge that takes work to learn. It's the kind of stuff you can't just pick a programmer off the street for -- to do a good job you need to know more than the actual mechanics of writing software. My company pays those who wish to specialize pretty well, and the work atmosphere is much better. By default, you're dealing with a different class of developer who is able to think beyond the code they're hacking together in Visual Studio or Eclipse. By means of comparison, we also have a set of lower-level "grunt" coders who write test code and other things that don't require the extra business-side thought.
Another lucrative area, albeit less secure, is contracting. I know Indian outsourcing firms have gotten better over the years, but I still hear stories from my developer friends of how they made a years' salary in a few months basically rewriting some of the disasters that have come back from the offshore teams. Again, you have to be smart and have a strong stomach for risk or a huge bank account to back you up during the bad times.
I think it's the same in my area of speciality (systems administration, integration and engineering.) Good people are still being hired. Companies need an engineering staff that can think for itself, design things that don't randomly die, and not be at the mercy of a vendor when they do. In the sysadmin ranks, most of the unemployment is caused by data center consoldation or outsourcing....and that directly affects the lower-level admins who do backups, operate the console, etc. It's a killer for entry-level people -- how do we grow new sysadmins if we can't start them somewhere? Same thing goes for developers...no one comes out of college understanding high level systems design, and you have to give them a few projects to get them thinking.
Just an example: company I am working for hired several engineers in their early 30s with pay well over $100k a few years ago now we know that best of them is no more than barely OK, the most of them mediocre and few did a lot damage - and it has nothing to do with careless hiring we simply could not find anybody better.
So, if you are good it will be noticed pretty soon and you will make good money while having pretty interesting work (use #2,5,8 and 10 on this list as an example http://finance.yahoo.com/career-work/article/108648/25-top-paying-companies?mod=career-salary_negotiation).
If you are not so good, it usually takes years to be discovered by your coworkers and mangers and then there is a good chance that there will be nobody better around, the pay will be still pretty decent with interesting work and in the worst case you will have to move once in a few years when your professional problems will become apparent.
Just do not work for IT departments/services, IT has reverse reward scale: worse people get rewarded and the best ones go unnoticed and the absolute worst morons become IT managers - nothing could be done about it, it is the ingrained the nature of IT services, deviations from this common pattern are no more than deviations.
Even the late nineties, a decade after the reunion, the standard of living was better than now.
"It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
Graduated with a MSEE from a top 25 public engineering school. First job was 80k + 20k overtime as a Government contractor. Three years, a job change, a relocation, and couple promotions later I'm now making 130k + 50k bonus. I'm more of a manager / team lead now, but I still get to work at a very high level with the code. So is that a "lucrative" career? Depends on your expectations. For me, I'm hoping one day it will be as I move up the ranks.
My father taught me that computers were a tool, not a trade. That perspective has always helped me guide my path as far as how to invest my time.
It's a great job if you love it. But I program in my free time I love it so much.
That said there's a big difference in ability level with programmers. There are programmers who need a week to implement a button. These people usually end up at large corporations and find their careers go nowhere. Then there are the people who can develop an entirely new application (or three) in a week. Those are the people making 6 figures and the ones Bill Gates always bemoans we don't have enough of. But I don't know that we can educate people to achieve that, which probably explains the salaries.
I actually find a lot of self-producing theater professionals make great programmers because they're good at taking huge problems, breaking them down into component parts and making sure they get done on schedule.
What if they know Verilog extremely well and think that VHDL is an archaic leftover from three decades ago which is only still hanging on thanks to military contracts?
Slashdot: Where people pretend to be twice as smart as they really are by behaving like children.
Great where can I send my resume?
I always thought of Creationism as the Raving Right's version of the Loony Left's Anthropogenic Global Warming-brightmal
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.
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...?"
I'd certainly want it to be true for my dentist. The other options are far more disturbing...
Live today, because you never know what tomorrow brings
Web developer here. I started my current job at 60K, and I don't even have a degree.
They upped it to 62,4 after a year. They said they wanted to give me more, but weren't sure what the health care bill was going to do to their budget.
Technoli
I am paying 120K for this highly unusual skill set combination
Getting 90K offer for a mere Perl programmer means only one thing, the job market has revived, and the economy is going to expand again at a good clip. Time to buy IVV, VO and VB. General market bets, not enough data to get into specific sectors.
sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
I worked with a woman just a couple years ago who had no affinity for anything more complicated than a basic cell phone.
One day while explaining to her how a 5-line Windows batch file worked (simple loop, but the syntax is a little ugly), she informed me that if not for the need to have remote access to the office, she wouldn't even own a computer (this came up because she was mad that she'd bought a home computer, then less than 6 months later company policy switched and mandated that only company-issued laptops could VPN into the network, thus rendering her purchase "useless.").
She was completely useless when she came up in the on-call rotation; if the phone rang, she immediately dumped the issue off to me.
She had school-age kids (10 & 12, IIRC), and wouldn't even own a PC so that they could learn the skills needed to use the most basic of software - which is pretty much mandatory nowadays (word processors).
How someone with that mindset gets a "Senior Developer" job title boggles my mind. Shining example of "only in it for the money."
or is it focused, if not both.
I know many "programmers" but honestly, if schools can churn them out what can you really expect to be paid.
Let alone the one fact I have found that holds true, those with ability AND initiative always do better. They may still hit the downs and such but they are faster rebounding
* Winners compare their achievements to their goals, losers compare theirs to that of others.
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.
I took a C-programming job after a decade of C++ and I've been wondering whether I'm employable in the long run. Especially so, because I'm not doing low-level stuff. I think that were I do embedded, I'd be just fine.
The lyf so short, the craft so long to lerne
Personally I would never ever higher a phd for a programing role.
I can see why.
I'm a minority race. Save your vitriol for white people.
Prove that. Based on what metrics were standard of living higher? Is the decline in SOL that you state uniform across the population or have some groups fared worse than others? If so, which groups? IF true, there other exogenous factors or confounding variables that can explain it? It would be nice of more engineers or just people in general took some econometrics courses or remembered basic statistics and experimental design. Or we could all just make decisions and observations about the universe based on our limited personal experience. Rant. Over.
>> If they can develop better without vi and using a GUI, why shouldn't they?
Perhaps its because vi is the only available editor on the deployed system?
I am very small, utmostly microscopic.
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.
Then that person works on a different floor from me and sends periodic emails about how they are "cutting edge" that are instantly deleted, and manages to never stop bathering about the relative merits of the two at company happy hours.
You'd fit right in.
I am very small, utmostly microscopic.
Yeah, for programming I would not hire a PhD for the vast majority of programming jobs. It's just not what the degree is about.
There is a difference between knowing that the contract is up to be renewed in 4 weeks and if it isn't you and 90% of the staff are out the door vs. being a full time "corporate" employee. Yes your job may disappear regardless, but living under the stress that your contract (well not yours but the company's) is only a year and depending on them to find you another contract for you or not, is totally different.
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?
The World is Flat my friend, very flat ... welcome!
And here in America (of course all over the world too) we think one human being is actually worth 25 million dollars in a year!
Humans let their big brains fool them.
If you want data, ask the federal statistical office and try to disprove me - my statement is falsifiable.
"It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
Because in C, having experience with Java usually means that you write more modular and reusable code. I've not done anything beyond the toy level in VHDL, but I'd imagine it transfers there too. People who only know low-level languages tend to write code that lacks modularity and is difficult to reuse. People who only know high-level languages tend to write inefficient code. You may be an exception, and you may have ways in your company of only hiring other people who are exceptions, but assuming other experience is completely unrelated is a mistake. Especially in programming, knowing half a dozen or more different languages (i.e. not all dialects of Algol) generally makes you a better programmer even if you spend 100% of your time working in one of them.
I am TheRaven on Soylent News
The boss "knows" he can replace you cheaply and easily with one ad on Craigslist. Or outsource to Bangalore and REALLY save money.
I'm a brazillian programmer and I'm happy to know that most americans make only 2x or 3x what I make instead of the 10x I used to think they make.
...there's a difference.
The median income of a software enginner is $85,430 as of May 2008. Programmers make less, with $69,620 as the median as of May 2008.
Software engineers have design and architectural skills that programmers may lack. This is why they are paid more.
Source: http://www.bls.gov/oco/ocos303.htm
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
I just graduated a little over 9 months ago, and I to can attest to the fact that the CS program felt watered down. However, they did not lighten up on the Math, at my school the Computer Science department was actually the Math/Computer Science department. We had to take a lot of Math classes ( upper level courses ). Three more math courses and I'd have a BS in Mathematics along with my BS in Computer Science, however, I don't want to butcher my GPA since I have to study very hard to get good grades in Math, where, even with the more conceptual theoretical parts of Computer Science it is easy for me. I feel like the Universities are producing poor quality graduates from Computer Science. I was top of my class when I graduated, my co-worker was top of the class the year before I graduated......there were very few students who were even close to our skill levels and I'm not saying I'm the greatest coder. However, I am good at Computer Science ( which really has very little to do with coding ). Universities are not preparing students for jobs writing software, that is something you have to do on your own time outside of class. My university taught the Science of Computing, not 'How to write Software for *insert industry here*.
Do you like it? If you're going to pick a career in life go with what you feel passionate about and be good at what you do. You may end up starting your own software company and become a billionaire. You may end up working for 10 pounds an hour doing trivial computer related work. The choice is yours.
I graduated in 2008 with a BS in CS from a large state university; probably a middle of the pack program. I got a job offer right out of school for 63.5K. -- So the figures don't seem particularly outlandish to me.
I read Atlas Shrugged and the Fountainhead every year or so, usually taking a rainy weekend for each book to do the reading. Rand has a lot of interesting points, as long as you take them with a grain of salt. These two books are more political philosophy wrapped around fiction as opposed to simple fiction.
Be warned that, toward the end of Atlas Shrugged, there is a very long speech from John Galt. It is part of a 'national' radio presentation that gets hijacked.
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
All countries outside the US should not follow our example. Admiral Ackbar said it best; "Its a trap!"
"The laws of science be a harsh mistress." --Bender
Here's how you do it....
Get a job. Work sufficiently long that your short period of work isn't a red flag. While working full-time, job hunt. Tell potential employers, flat out, what your salary requirement is.
IE - if you make 50k but you think you should make 65k. Send out resumes that say you need 65k to consider a job offer.
If you can't get 65k, from anyone, you aren't underpaid....you are just over-valuing your skills. If you *can* get 65k from someone else, there is a good chance you are underpaid. At that point, you've got a job and a better job offer.
If the new job is completely better and you want to leave - go. If you like your old job, and just want more money - you schedule a meeting with your boss and you say, 'Look, I really like working here, I'm doing a great job, I don't want to leave....but financially, I'm not sure that things are working out. I've got another offer for 68k - and, while I really don't want to leave here, I think that, unless you can match it, I really need to do what is best for me and my family. Heck, I'd even take a 65k because I like it here so much'.
Now, you don't have to worry about losing your job - if your boss says no, you politely thank him and everyone and blah, blah, blah, say your good-byes and take the new job.
Walking out of school (May '09) with a 4 year degree and no more experience than some undergrad research and a couple internships, I was offered a $75k/year base salary (I think ~$82k total benefits) in Connecticut, although I'm not sure what the standard of living was like as I turned it down in favor of grad school. Although, I've also heard of other people I knew and went to the same school with getting job offers in the $50-60k/yr range in other places. In either case, I'm pretty sure that as far as science/engineering jobs go, CS probably had the potential for the highest (or at least pretty close to the highest) starting pay of any other degree programs.
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.
would that be the miniskirt toga craze of 73 BC?
or the side split toga fad of 49 AD?
intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
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.
Just made up ad hoc = rules. What you probably wanted to say is that the natural language rules don't have to follow from some first principles or make sense until they become too familiar.
As the island of our knowledge grows, so does the shore of our ignorance.
This. Programming enjoyed a brief stint of ridiculously high salaries in the 90's, due to imbalance between demand and supply. In certain industries, like Legal or Medical work, this imbalance is maintained by very high schooling requirements. To be a good coder, you don't even need to have gone to school, so it's only natural that the salary would eventually come more in line with other professional work.
Also, to be a good programmer you *have* to love it. People don't become good coders because they're trying really hard at it. They become good coders because when they go home at night, they're write more code. When they wake up in the morning, they write more code. When they have a question about how to cut out the noise from the upstairs neighbors, they write more code. You need to think in it. You need to want to learn other programming languages "just because it's fun." Otherwise, your career is going to get stuck and your output will be middley at best. Or, like so many others before, you'll jump ship to something you actually enjoy doing.
If you just want money, become a finance banker or a stock trader.
The ______ Agenda
In a similar circular problem, there are in fact *MANY* civilian openings in IT at a variety of Air Force bases, and the GS level is indeed generally up in the 60K range. The trick is that most of these jobs are only open to "Internal" candidates, which means not only must you be a current DoD employee, but also already have IT experience. But trust me, I troll the Internal Job Board almost everyday, there are plenty 60k+ IT jobs available. 60k + paid holidays + no overtime + excellent medical... Hard to beat "Civil Service", at least Air Force style...
If you want news from today, you have to come back tomorrow.
Would being a lawyer who becomes a politician that writes laws be considered a conflict of interest? If they are complicated enough, you could make money interpreting them once you stop being a politician.
By the same token, shouldn't laws be written so that at least 90 percent of the people affected by them can understand them without the aid of a lawyer? This could be done by either lowering the readability level of the laws OR increasing the education level of those affected.
Stop hiring Rajesh FFS!
That guy should've went into cost accounting and get hired by a bit name financial institution. With that iron will and a little ruthlessness he could've been one of those fat cats getting a "reduced" $90K bonus this year.
Haven't you seen the 2 or 3 postings a year on this venerable site asking if coding is an art? (akin to literay writing, painting or any other real artistic endeavours)
Many misguided folks around here truly believe that both endeavours are comparable, perhaps thinking that artists and coders, both being eccentric types, may share more traits than their often exasperating eccentricity (as somebody that has been associated with both groups of people during long periods of time I can assure you that they could not be more different from each other).
Also the geeks gloss over the obvious fact that coding is a bluntly utilitarian job, so your comparison to mechanics is quite apt (that does not mean mechanics and coders can't be creative, but they lose sight of the core of their profession at their own peril).
IANAL but write like a drunk one.
Said measure doesn't make the US look bad, so you won't see it in major media. Also, remember the fashion among the intelligentsia is that people should be happy with 400 square feet in their "walkable community".
Assumiong that coding and literary writing are comparable activities.
The only thing they have in common is the tool used to produce their respective work.
IANAL but write like a drunk one.
Pay wise, I make more than this guy as a contractor. Most of the GS guys here make less than I do. Working for an 8a versus one of the big guys (LM) does have its advantages.
That person gets bumped to the middle of the resume pile.
The person on the top of the resume pile knows that VHDL, Verilog, SystemC, Specman, C, C++, Java, etc are all tools. Like all tools there are correct and incorrect times to use them (though there are plenty of instances when they're interchangeable).
The key part is that they know how to apply the tools to solve a problem, regardless of what the tools may be.
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!
And the standard of living was also quite higher than now
Lies, damned lies, and statistics
There's a reason why Drs. command respect.
There's a world of difference between graduate school and undergraduate. In undergraduate, you just go to classes, do homework, take tests, and move through the system. The classes might be hard, but it requires very little initiative, and you just do what you are told, and at the end of the day, you've contributed nothing.
In grad school, you have to figure out what the hell you are doing, since it won't be given to you. And you'll be producing new ideas and writing papers and writing grant proposals. The experience is completely different.
The reason you pay a graduate degree more is not because s/he knows a lot more (and s/he does), but because s/he has what it takes to contribute to further understanding in the company's field, and will have no trouble with meetings or proposals or what have you.
And, I don't know where you got the idea that you lose breadth in your topic by studying it in depth.
What you need is a spine. No offense, but they can't walk on you if you don't let them. If you really do have a history of creating *successful* products you shouldn't have too much of a problem finding alternate employment. No, really. Everyone is TRYING to hire right now, but because the market is flooded due to unemployment, they are being extremely picky. If you're good enough you CAN get a position and it WILL pay well.
If that is the case, then yeah, you are right.
If you get some more qualifications, get up to date and perhaps start consulting then the scenario is not like what you describe.
IANAL but write like a drunk one.
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.
I agree, worldwide the standard was better. Allowing the redistribution of wealth to such a small group of people world wide by the US in particular and every one else following that example can't be good. Oh, and BTW I assume you are talking about West Germany because in the east they are probably better off now.
There ought to be ethical standards instead of just counting the numbers in running a corporation. The government needs to play referee for us in that respect but guess who gets elected? The one with the most money donated by corporations of course. Nobody is going even be known without TV adds and that is shameful.
Many people hiring think that satying too long in the same place is a sure sign that you are incompetent, since nobody wants you elsewhere.
Frankly one should not care about those things. Trust your gut instinct, when you should not be in a job anymore you will know (some people lie to themselves about this, but I think everybody knows when they are in a job that sucks, and this realization can come after a few days or after many years, YMMV naturally).
IANAL but write like a drunk one.
... he was shafting you....
IANAL but write like a drunk one.
Because using the right tool for the right task is an essential part of software development.
Java is a silly example for your situation, but if you work on a shell regularly, a mix of bash / python / regex skills will get your job done much faster. People who can master new skills relatively easy win the "breath of knowledge" contest, and it's those I'll be looking for, or we'll be left for dead when anything changes.
Tools for embedded systems don't change that quickly, but in web development, we went through PHP 4, PHP 5 which is basically a whole new language to a combination of python and java servlets, and evaluated all other promising options. Being extremely good in a single thing but nothing else means you're out of a job in a few years.
All the more reason to keep the code here in North America, and keep it in the family, so to speak, as
someone over seas will have no problem having an extra line of code hidden somewhere tagging all the cc nos passing by your website, where as someone here knows they are accountable and might have a bigger deterrent.
There are banks.
And there are Banks (of the kind that need bailouts now and then).
Completely different beasts paywise...
IANAL but write like a drunk one.
There are jobs out there that I would not wish on my worst enemies.
There is nothing wrong to look for the money, as long as you are realistic about the pressures and frustrations you will have to face to obtain it.
IANAL but write like a drunk one.
I totally agree, but would like to add the following:
John can be reached on the phone during my business hours.
Not the case with Rajesh. The turn around time of 24 hours for even the simplest thing that could be cleared up with a quick phone call has killed many a project for us.
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.
I'm working as a game programmer (mostly low level C++ stuff) here in Bulgaria and my salary is around the $10 an hour mark. Lots of western companies outsource here: Ubisoft, Crytek, IBM, VMWare, Johnson Controls, Siemens... the list goes on. My income is above average and I think the people here still consider programmers special "knowledge workers".
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
And by its own nature it is intrinsincally outsourceable (it is comical to see freelancing websites requesting web related contractors: 200 guys from India offering "outstanding costumer service" for literally peanuts)
IANAL but write like a drunk one.
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.
This is exactly the opposite of my experience. I'm 39. I have 20 years of professional programming experience. I've been a salaried employee on a number of occasions, but mostly I've been a consultant. I've met some consultants in their 40s and 50s. I believe the reduced number of programmers older than me has more to do with the technologies that were around before me as well as the amount of computer use back then. If I were doing mainframe work, I'd probably see a lot more developers who are older than me.
For salaried jobs, if you stay in one job for more than 3-5 years, you will continue to receive 1% or 2% pay raises that don't compensate for inflation. If you switch, you'll get $5k to $10k more each time you switch, maybe more. Corporations never value their existing employees enough to ensure that their salaries keep up with inflation and changes in the market. If you're lucky, you'll get a bonus when times are good. Then again, over the last 20 years, I've been promised a bonus 9 times and received it once. And it was less than what they promised.
For consulting, unless you're switching every few weeks, how much you've switched is irrelevant. 6 months here, 12 months there, is completely 100% normal. Having no gaps is more important. And how much you've switched has no effect on the bill rate. Your bill rate is all about supply and demand. If you have a valuable skill that not many people have, your rate will be higher. If you have a set of skills that the indians also latched onto (Java/Oracle), unless you're the architect, your rate will suck. The city you're in and how the market is doing in general also have a huge effect.
Disconnect your television. Do your own research. Draw your own conclusions. They're probably lying. Don't be a sheep.
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.
Exactly. However, there's also a difference between suing John, the independent contractor, and Jim, the contractor who works with Alpha Contracting Inc. Suing John might not make sense since his personal assets might not be worth that much, but with Jim, you can sue (or threaten to sue) his employer, Alpha Contracting.
Unless Rajesh works for Wipro, you're really SOL.
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.
You have to be willing to relocate and have more skills than just MS. I went back to school (i'm 40+) and just got out. But.... I started doing cocoa touch development on my own and released sevearal apps in the iPhone app store. I relocated to California and i'm at 100K.
Well said - thanks for posting!
I think you guys are both right - but the real problem in my experience isn't with remote work, but with having trusted workers. I've had to fire local programmers who were unreliable too. It's just easier to build trust and dedication among a local team. It's also possible to do it remotely but most people don't know how and so they skip it, and wonder why the project keeps falling apart. At least that's been my experience. If I build relationships involving on-going and future work with people remotely, things tend to work out better. That said, I've had nothing but trouble with working with off-shore remote staff, so I prefer to stick with US-based subs, who work in cheaper parts of the country.
It may be different if you're developing at the level of VHDL, so the following may not apply.
But I'm glad you don't have anything to do with hiring at my software company. Knowing more programming languages, especially from different paradigms, makes you a better programmer in all of them.
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.
Yeah. But dollar was worth DM 2.20 ten years ago (and even higher in the eighties). Now it is worth DM 1.47 (calculated by the official 1.95583:1 exchange rate from DM to EUR).
Suddenly the picture looks much different. Add the inflation and higher tax (VAT alone was raised from 16% to 19% in the last decade, being at 14% in the early nineties) and your little witticism is worth shit now.
"It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
I stopped having fun in writing software a looooog time ago ....
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.
This article and many of the comments, sound like rant from programmers who have not figured out how to become a professional developer in their careers. You can't just focus on programming, you have to become a business professional as well. That means you need to balance your skills as a developer, architect, business analyst, and project manager. I have been at this for 15 years now. I have seen many programmers who just couldn't do all of the above. In fact, one's who can do all of the above, seem to be rare. Companies are really looking for people who can do all of the above and will pay for them.
If all you want to do is pad your salary, then you need to target businesses/industries that have a high corresponding ratio of what they earn from their software developments. You can't expect to work for a company building iPhone apps or web sites, and expect to get paid big. If you are developing software that has a high rate of contribution to the bottom line and are good at it, in most cases you will get rewarded. But again, you need to practice all disciplines of a business professional.
As for the salary ranges, the context must be applied. I started in this career at around $60k, 15 years ago, in the Chicago area. Today (still in the Chicago area), I earn more than twice that in salary, before generally a double digit percentage bonus. I don't even have my degree.
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."
I do work remotely as well, on web apps, so I must give source..
At any rate, the differnce between John and Rajesh is that you can sue John in a US court for breach of contract. Good luck suing Rajesh and getting any meaningful settlement.
Agree. Though, I would add that most folks I know who "eat, breathe and sleep" their jobs do so in what is, IMO, an unhealthy way. That is to say their focus on career is ultimately detrimental to their family life and other social involvement outside work.
I'm personally not a chip designer, I just have a lot of friends who are, and they all find VHDL painful. I find the debate as entertaining as vi vs. emacs.
Slashdot: Where people pretend to be twice as smart as they really are by behaving like children.
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.
Employers (and those that hire contractors) very seldom appreciate breadth of experience in how affects the ability to come up to speed on new systems. I've programmed satellite data analysis systems in Fortran, AI assistants in Smalltalk, mortgage-backed transaction systems in C++, and a dozen or so smaller things in Perl and Korn shell and now Java. There's very little you could throw at me that I can't learn quickly, but it doesn't matter to hiring managers. Unless you have the specific checkboxes and exactly the minimum years experience in that particular language/OS, anything related (like C++ to Java) is ignored. I've been unemployed for far too many long stretches because I didn't meet the specifics. Currently working as a mid-Junior level Java programmer for half my previous rate, solely because they need clearable Java programmers and are experimenting to see if older C++ programmers can be "rehabilitated" into the new language. So far the 25 years of OO programming (20 in C++) seems to have helped...
By the taping of my glasses, something geeky this way passes
Fine, here's one that is adjusted on PPP:
http://www.indexmundi.com/germany/gdp_(purchasing_power_parity).html
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.
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.
The only problem with projects done in India I keep hearing about over here is that they seem reluctant to second guess a customer that sends a design with an obvious mistake in it, so sometimes you get your product with the mistake in it exactly as you designed it. These Indian consultants cost a lot more than $9, but still not so much that it would be cheaper to hire me than to fly one of those guys in.
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
Funny factoid: it was proven, that PPP is very nonlinear, and the exchange rate between DM and USD of all things was the example. Read it up yourself in Makroökonomik by Dornbusch/Fischer (ISBN 3486228005).
"It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
Funny timing. My wife was considering quitting her software test position (roughly $50k a year in Texas with no software experience) to go to school full-time and become a developer. Seems she can come back to the same company as a developer and expect about a $20k/year raise. Seems pretty lucrative to me.
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!
US salaries on average seem to work out higher than UK. I've got 10 years experience and am on an above-average salary for a developer in London, and that still only works out at $70K. And that's living in one of the most expensive cities in the world. On the other hand, it's also more than double what many of my friends are on. .NET developer, and the first one has done at most 1/5 as much work as I have, while the developer in the US office has probably been even less productive, so while a factor of 20 may seem like an overstatement, it's not... I've worked with worse 'programmers' than these current ones... and have known others who have held senior positions by claiming credit for the work done underneath them (though the prime example of that lasted exactly 3 weeks after the person under them left and they got rumbled).
What's a real shame is that there isn't any real effort to recognise the star programmers and pay them what they're actually worth relative to the poor ones. One of the introductory books on software design actually suggests that the difference between a good programmer and a bad one can be a factor of 20 in terms of productivity. I'm currently at a place where I'm the 2nd
I'm sure there is a fairly wide distribution in salaries, because there are a lot of mediocre developers who can slowly put together code and only deserve a moderate salary to represent the hard work and limited skill they've acquired, and there are a much smaller number of programmers who eat and sleep it like the finance-sector traders eat and sleep their jobs - the difference is that the traders get million pound bonuses, while the one productive developer mainly just carries the rest of the department and gets little to no bonus. You'd have thought it's the highly paid contractors who are those stars, but I'd tend to say that a lot of the best paid ones are mainly good at selling themselves.
I agree with the hunting around - you can get the best of both worlds, though, rather than dying a piece at a time. Look at it as widening your contacts and people you know, and if you get an offer, you can always go to your current employer and ask them to match the offer - I haven't managed to get an extra $15k , but I've got a pay increase of $9k while staying in the same role... if they won't match the offer, you are still in control as you can decide whether to stick with the employer you know or pursue higher rewards elsewhere.
do you want to have your tonsils removed by a surgeon, who is, "in it for the money . . . ?"
As opposed to someone who is doing it for the love of cutting people? Yeah.
mirrorshades radio -- darkwave, industrial, futurepop, ebm.
...and Cb
So proficiency in B is required? (C doesn't have a flat in the musical scale). And instead of C#, I prefer Db.
Good afternoon,
I think that specialization in a couple of focused areas (depth of knowledge / tools), breadth (experience and multiple different project types) and looking further than 'pure programming' are the best ways to increase your income and job satisfaction.
I found it interesting the number of people who happened to be in Cincinnati: I am too. I make more than $100K / year but not in programming. How? Ironically by running offshore test teams in India. Employers are starting to learn that offshoring works best when you have experienced leads doing the planning and verification activities, attending meetings, looking ahead to remove blocks and generally keeping test velocity high. Deep experience in process, toolsets and industry (28 years) makes me valuable. Staying current with all of that means you study a lot, take classes and are generally aware of upcoming trends. I believe the exact same things are true for dev not just test. Have a humble attitude; I always say I'll wash the dishes if needed (do not wait until asked).
I know when I want to hire a senior test automation person (I hate the term 'resources' - we are people) I know the price varies by city but that I need to budget around 110k base on the West coast and 85K or more in the mid-West. Have you ever considered moving over to automated testing or performance testing (programming in tools like SILK / QTP / others)? There is a shortage and it requires essentially the same skillset.
Being able to write coherent sentences, plan, dress well and give presentations easily adds 20K / year to a salary; do not overlook those skills if you want the money. Image is not everything but removal of a deliberate 'individualism' that blocks a positive perception adds to your salary. Be a skateboarding 'punk' with green hair, body odour and foul language on your own time (these are all real-world examples over the last 5 years). I'm not saying don't do things you like or be a conformist; simply allow business - they pay the bills - to relate to you. Make them think of you as a peer or able to give good advice.
Being able to admit when you are wrong, asking for advice from other teammates (and thanking them sincerly for the effort even when you do not choose to follow it) along with a myriad of other social and 'soft' skills also add to your 'likeableness' and make you more secure. This is different from plain 'sucking up' in that you must truly be sincere.
Being able to help with estimating and planning development work is a crucial area that contributes to project success if done properly. One of the best PM's I know started out as a developer and transitioned. She makes more money (significantly more) and is much happier. She is extremely valuable because her estimates are accurate, she can call developers out when needed (I've watched her load an IDE and help a developer identify code issues) and she has the organizational skills to keep track of everything. She brings creditability and gravitas. People know her projects are hard but they step up and deliver.
I guess if I summed it up: actively work to make yourself valuable to an employer. Do not hold on to information - the more you share the more you are needed. Learn business processes not just development ones. Learn basic accounting / order entry / shipping / etc. terminology and methods.
P.S. I only have a GED.
6th note in Eb minor scale.
So, you get exactly what was represented to you, no more and no less. That's what you ought to expect in any arm's-length, contractual agreement. Anything else is irrational.
If you wanted a specific background for the development team and not just the architect, that should have been specified in the agreement.
Family life?
Social involvement?
Outside work???
Please correct me if I got my facts wrong.
From my experience this is not true at all. I lived in Germany from 1990-1992 and then again from 2005-2007. The standard of living was much higher in 2005 than it was in 1992. In 2005 (and even today, probably) I would rank the quality of life in Germany higher than most areas I've lived in in the States. In 1990, it was practically a developing country compared to the US at that time.
The better be good with vi, and not have to rely on a GUI to configure a linux box.
And if they were using a real text editor instead of vi, they might not have made this mistake...
Was it East Germany? Because your experience surely doesn't match with mine.
"It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
yeah yeah, so I got the scholarship...doesn't mean I passed (or even took) the theory classes. Drummer means I got a pass.
In today's "modern" world, people aren't taught grammar in school; instead they are taught to pass standardized tests. Unfortunately today's "standard" represents a lowered standard of knowledge compared to 10 or 20 years ago. Otherwise perfectly competent managers and executives stumble while trying to wordsmith their emails or business documents, and the end result is both jarring and disappointing.
I've sat shaking my head on more than one occasion, reading an email another has directly or indirectly sent to me. "Where" and "were" are often used interchangeably, and "their", "they're" and "there" are apparently some unholy trio of confusion for most.
Not to rant (but I know I am), others tend to treat you as stuffy when you use proper grammar. It's as if the movie Idiocracy were coming to fruition as we speak.
but what profiteth a man if he wins the world and loses his soul?
The same profiteth as if he kept it.
Then you should stop developing on the production system and get some development systems instead ;)
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
Purchase Power Parity from CIA Factbook-
"This is the measure most economists prefer when looking at per-capita welfare and when comparing living conditions or use of resources across countries."
Germany was much more socialist in early nineties. And the standard of living was also quite higher than now
Nominal GDP per person contradicts your statement. As does real GDP per person. For good measure here is a study done in 2003:
http://www.springerlink.com/content/p634gl14222451n1/
An excerpt:
"During the past ten years, quality of life improved in the former German Democratic
Republic (GDR), but such came with some self-inflicted problems."
Those problems are explained:
"Germany's structural problems today are a reflection of unsound fiscal and monetary policies of the 1990s."
So, not only are Germans better of by every measure I can find, the socialist fiscal and monetary policies of the 1990's are to blame for any structural problems today.
Without being as bitter about it as you seem to be, I'll agree. Many of the PhD students / holders I have known are actually mostly just people who weren't really sure what the next step was going to be for themselves when they got to the end of their undergrad career. Remaining in academia was easier for them than trying to enter the next phase of their life. Some of them then remain in academia as professors, so they never really experience what the rest of us consider normal life (not that there's anything wrong with that - I wish I possessed exactly the right mix of motivation and apathy which seems to have gotten most professors where they are).
That's not to say this is true of every PhD student. It's just that you need to be of reasonable intelligence, and willing to dedicate a lot of time to it. Those are really the only requirements - it really doesn't require exceptional intelligence like it once did, just time.
My work experience with PhDs has lead me to the conclusion that most of them are good at philosophizing about their field of study, but few really possess any real capacity to accomplish much outside of theory. If what you need in a new hire is a theory person, then this is probably right for you. If you need a pragmatist or real producer of tangible work product, then seeing a PhD on the resume should make you hesitate.
To go anecdotal, just today a friend was lamenting to me how difficult he finds it working with the PhDs at his company. They rejected the approach his team was taking toward a super high volume proxy for a particular kind of data as being ideologically incorrect, and built their own competing product. The undergrad team produced software capable of handling 50,000 connections per second, while the PhDs could handle at most 1 or 2 thousand on the same hardware. The same team had previously experienced problems where software written by the PhDs was broadcasting data in a deprecated format. The PhDs refused to believe that their software was wrong, and insisted that my friend's team was the source of the disconnect. It took several months of his team translating the deprecated data format to the new data format before the PhD team quietly announced (not to his group) that their software had not been updating correctly for the past few months.
I know, anecdotes do not a rule make, but it's pretty consistent with my own experience as well. There are some firecracker PhDs out there, you can often easily distinguish them from the lamers because of the prominence of their insistence on recognition of their education. The good PhDs don't jam it down everyone's throat, while the bad ones use it as a form of appeal to authority (i.e. don't question me, I'm a PhD, you've only got a bachelors, etc).
Slay a dragon... over lunch!
You could be missing out on some very talented emacs users! And just VHDL? Not Verilog?
When it comes to higher education, here's how it works.
First, there's the B.S. - and we all know what that means.
Then there's the M.S. - which means "More of the Same."
Then there's the PhD - "Piled Higher and Deeper."
I would attribute part of this to the culture in India. You see, India is not a first world country, despite their best aspirations, and what is considered an "acceptable" or even a quality solution in India is often not up to American or European standards. If you complain about this you often receive confused looks or angry retorts in reply because they are actually proud of their spaghetti code mess. They will argue that it works and meets the external spec so what is your problem? One can get a glimpse of this by watching videos of Indian traffic jams, complete with crazy mishmashes of cables connecting buildings in every which way and spliced hundreds of times in countless haphazard directions. This is "normal" to them, especially if they have never been overseas.
On the other hand, do you really want to have your tonsils removed by someone who has some strange urge to remove other people's tonsils?
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?".
Back in the day, about 15 years ago, I had very similar experience outsourcing software maintenance to a firm in India. A couple of good guys came over to discuss the deal, and we were very pleased. They turned out to front a team of much, much less experienced people, and there were considerable pressures on the good guys to move to other projects. We were able to say NO. The shiny computers that were assured they were well-equipped with turned out to be mirage, and though we insisted in the contract they be completely legit, they did everything on pirated Microsoft products, which was not to our liking. The connectivity was always intermittent, and it was really difficult to communicate. Power failures seemed endemic. Eventually all worked out OK, and the contract ended amicably. Good luck to you.
Are you bullshitting me?
"During the past ten years, quality of life improved [b]in the former German Democratic
Republic (GDR)[/b], but such came with some self-inflicted problems."
If you really want hard facts, here they are:
http://www.ruhr-uni-bochum.de/sozialreformen/downloads/Hauser-Handout.pdf
In 1993 only 12% of the population were below poverty line. 10 Years later, 13.5% are. This kind of makes you look even more stupid.
"It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
Just don't ever think about getting a programming job in the Toronto area - I haven't heard a single positive story from tens of ppl, only nightmares; the practice is to overwork you till you spit blood if you are not one of the intimates of the boss/management.
I appreciate the linked document as I had a difficult time finding historical information on poverty rate. I guess economic statistics really get you worked up if you're at the point of calling names. Personally, I find it hard to get emotional about statistics, but I'll try to address your argument again:
standard of living was also quite higher than now
Standard of Living is defined as:
"The level of well-being (of an individual, group or the population of a country) as measured by the level of income (for example, GNP per capita) or by the quantity of various goods and services consumed (for example, the number of cars per 1,000 people or the number of television sets per capita)" - World Bank
While the definition above doesn't mention anything about poverty rate in calculating standard of living, I was able to find a definition on Wikipedia (I know, not the most reliable source) that says "Standard of living is generally measured by standards such as real (i.e. inflation adjusted) income per person and poverty rate".
If we use the Worldbank's definition of standard of living then there is no argument. The standard of living has increased since 1990 as measured by the real and nominal GDP figures. If you can find stats on car or TV ownership I would find them interesting but I doubt that they will support your case.
If we use the Wikipedia definition then we can add poverty rate to the metric. So lets do that:
Real per capita GDP between 1990 and 2009 increased by about 95%. The number of people in poverty has increased by 1.5%. A 1.5% increase in poverty compared to a 95% increase in income isn't a very convincing argument for a "quite higher" standard of living in 1990. In fact, it says the opposite: most people are a lot better off.
Also, lets not forget that the poverty line is defined by the number of people making less than 60% of the median income. If the real per capita income increased by 95% then the poverty line also increased. In other words, even the poor enjoy a higher real income than they did in 1990.
The average German is way better off now than in 1990 thanks to capitalist reforms (on average 95% better off). But some people are poorer. Why? Well, the document you posted has the answer: the Gini coefficient. There is a more unequal distribution of wealth now than in 1990. The rich have a greater share of the wealth. That's to be expected in any switch from a socialist to a capitalist market.
A rising tide lifts all boats, or Germans.
Absorbing all of that is what killed your economy.
The German economy is far from dead. Germany is the world's second largest exporter (or possibly third) and was one of the first nations to exit the global recession way back in q2 2009. Germany has 7.7% unemployment. United states has 10% unemployment.
So, you get exactly what was represented to you, no more and no less. That's what you ought to expect in any arm's-length, contractual agreement. Anything else is irrational.
If you wanted a specific background for the development team and not just the architect, that should have been specified in the agreement.
Nope. That doesn't work that way. Your analogy would be like you contracting a licensed architect and a team of engineers to give you a proper design, project plan and cost estimation of a suspension bridge, and then have the construction company execute them all with substandard materials and unlicensed technicians and subcontractors without any oversight as to the quality of execution.
When a software consulting company presents you with a solid and sound project plan and architecture devised by a top-notch architect, that architecture is a design contract for an implementation that follows it.
It should be said that in all those instances I've mentioned, the contracts with the consulting companies explicitly stated the type and seniority expected of developers, coding conventions, usage of source control and many other things.
However, unlike civil engineering contracts, software contracts are usually impossible to enforce for practical reasons (specially when development is being performed half-way across the planet.)
So you know the rate I'm paying?
Because I pay at least double of what the OP was quoting.
8 of 13 people found this answer helpful. Did you?
It "profiteth" a man as in "keeping a roof over his family's head". Your "soul" argument is unrealistic and myopic. Soul is overrated, as is happiness. Nobody will pay you what you need to live on doing something that's enjoyable, that's why they call it 'work'. Deal with it.
Anyone that claims to love what they do if they make a living at it is either a liar or trying to pull a fast one on you, or both.
Never underestimate the power of stupid people in large groups.
Careful with your terminology. The American economy contradicts capitalism. We would be jailed if we used a currency that competed with the dollar, and capitalism is about competition.
I have 17 years experience in the Valley. I have a $165k/year base + 18% bonus. So I guess it depends where you work and in what areas you specialize in. If you're good, then you will be handsomely rewarded, I think. If you're only making $50k/year, you need to be more aggressive and move to where the money is. If you're too scared or would rather live close to where your family is, then don't complain you're not making enough as a programmer. Don't expect to be paid $165k/yr while living in places that don't value your talent.
If you are 7'2" and play basketball in the Antarctic Men's basketball league, don't be surprised that your talents aren't as valued as highly as if you were playing in the NBA.
That's one way to do it, but the people who should get a decent wage are still screwed. It's nice to see the outsourcers suffer, but it's nice to eat too.
You can watch the outsourcers suffer AND eat at the same time. It's called a Union.
Disclaimer: I put 4 of my own people out of a job last year by sending their jobs overseas. And I enjoyed it.
Fascism trolls keeping me up every night. When I starts a preachin', he HITS ME WITH HIS REICH!
Well maybe you should fix that.
I'm a team lead at the moment, although that, thankfully, is changing soon. One of the team members has abysmal writing skills. Uses the wrong words (like higher/hire) and misspells the words he uses properly. Reading an email he's written is painful.
I get a lot of grief from my manager about his written skills. I water it down some and pass it on. It does no good.
I'm not going to be there to protect him much longer. I hope his skills pick up somehow, because it's going to hurt his reviews, and that's going to hurt his pay.
The preferred solution is to not have a problem.
Exactly. The thought is that you learn how to write software on your own. The degree is just supposed to teach underlying concepts. Also in theory someone who never turned on a computer is supposed to come out knowledgeable about computer science. Personally I think it would be very hard to pick up programming from the college classes (the explanations/instruction is often very poor with many details glossed over). The classes don't really have enough programming assignments to get good at it either. Someone would have to practice a lot more than just in class assignments....
I did a B.A. in C.S. (basically it meant I had more freedom to pick electives). Mostly the value of college was a lot of math classes and physics (my High School had lousy science classes so physics was great for learning to solve the word problems, before that class they were kind of hard, but after that class all word problems were much easier...).
College doesn't teach you how to program a large maintainable system, or even good engineering practices. It is good for teaching the underlying concepts of operating systems, networking, data structures, etc. if you don't already know them. The reality is that we could all benefit from refreshing our mind of the concepts. And even if you already know the stuff, you still pick up more tricks/information. It's like a book, the first time you read it you get the plot. Then each additional time you pick up other details.
I am now doing my MS in CS in the hopes of learning something. In one of my classes we had to do a Huffman code assignment in Java or C (storing the compressed file at the bit level). Well writing bits in these languages (which like to write in bytes) is tricky. Anyway when it was all said and done my code was a mess with bit writing, writing the compression tree, lots of additional data for lengths of codes, the huffman tree, etc. all strewn about haphazardly but it worked and got 100% credit. My classmate commented that he didn't finish the assignment because he was too busy designing a library to let him write bits, and after he completed it there was no time to do the Huffman code. In a serious software organization, my program would be severely criticized as unmaintainable and my classmate's would have been celebrated and held as an example (assuming he got it done in a reasonable time). But in college you are not programming "elegantly" or even "well", your job is to solve the problem/assignment. In a larger software team your job is to engineer software for reliability and maintainability in addition to doing it as cost effectively as possible. In a start up environment your job is to get code out as soon as possible (basically the college approach again works here.....).
I have been working for 7 years and my code still sucks. I keep getting startup like teams where the pressure is to get it done, not to engineer it for maintainability. Also mostly I work with SQL and coding is more for "side projects". I'd love a real software team someday but I can't seem to find them. The closest I came was a one year job as a DBA where the software team was great, but I was on the wrong team.... They seemed to have a comprehensive computer architecture, a process for coding, code reviews to help developers get their code up to par. I have yet to have a code review of anything.... Now I am technically on a software team, but it is start-up like development (although this is a big company with a giant properly engineered software dev team...but since i am in a side business they have a tiny start-up like dev team supporting it as opposed to the main business which is supported by the "Software Engineering Group") of some web apps and a lot of reporting which is SQL + a report designer. No code reviews, get it done yesterday....
Hey I made Slackware work back in the day but I needed menus at least.... X configuration was a bitch...but since you are doing embedded systems probably not an issue.
The configuration used to have a set of NCURSES screens though which is technically a GUI, made life much easier...
I would say this applies to the PhD, not the Masters. It is possible to get a Masters with only classes (sometimes with an exam required) or mostly classes and a project.
:) The best is a professor who is always accurate and simple in class, but if you talk with him about something you quickly find he is more informed than you are, but he says it in a way that you can understand and even points you to places you can look for more info....Such a guy or girl does not need stroking, the best thing you could do for them is to give them something new to work with.
In CS there are typically 3 paths to a masters degree (class only, sometimes with exam at end depending upon school), project (very open, can be a pretty standard software system that would come out of a company), Thesis (less novel than a PhD but still a lot of research work, the adviser pretty much agreed with me that it would be crazy to do a Thesis for a Masters because if you are doing to do a thesis you might as well do the PhD and there really isn't that much time to do it, most do not get it done in the two 3 credit Thesis classes that they take)...
Anyway it seems MS in CS = Undergrad with more group projects so far (finished 15 credits so far and am working on another 6 now). Also the algorithms classes have much more emphasis on the mathematical/proof side then the undergrad equivalent. But aside from that more of the same...
now PhD seems to be more contributing, doing research, showing initiative, etc... It also seems to involve a fair amount of ego stroking of mediocre professors. Not all PhDs are geniuses. As an undergrad the most frustrating thing in the world would be when these "geniuses" give an exam and then can't recognize a correct answer. Then when you show it to them they imply "they are GOD and are always correct". Then after a while you shove the book page saying that they are wrong in their face, and maybe even some references found via Wikipedia to some publication they respect. Then they scoff and have to give everyone credit for that question that got it wrong. Or in class they say some generalization that is totally wrong. Or they mention stuff as impossible that was solved 10 years ago... Quite often a book will say "a = b" and then a paragraph or two it will say "the above only holds in cases 1, 2, 3" or "except in the case when a=z". Some professors must skim their books or something and just not read it all. There are a lot of idiots, lazy losers, and tools in academia.
But there are a few gems. There are some professors who I completely cannot keep up with. They hurl so many ideas so fast and think about them in 10 ways before I can blink.....I am 100% certain that if a question is wrong on their exam it is wrong. Now should they go at that pace in class, maybe not but that's where the curve is your friend
Why not, PhDs need to eat too... Also the illusion of someone staying at your company for 10 to 20 years is just that, an illusion. You're lucky to hold a 20 or 30 something for even a year or two in this day and age. So what's the difference if he/she has a PhD, Bachelors, and Masters as long as he/she can do the job and doesn't break the bank.