Software Engineers Ranked Best Job in America
fistfullast33l writes "CNNMoney and Salary.com have ranked the title of Software Engineer the best job in America. Computer IT Analyst also ranks 7th on the list, placing both technology positions in the top 10. From the article: "Designing, developing and testing computer programs requires some pretty advanced math skills and creative problem-solving ability. If you've got them, though, you can work and live where you want: Telecommuting is quickly becoming widespread.""
Especially with larger companies, I see it more and more that telecommuting is a frowned upon idea. In fact, most of the articles on telecommuting today are instructions on how to argue with your boss because your boss is going to be the last person that wants you telecommuting.
And that's just for jobs in general. With software engineering jobs, the need to work together on a team is obviously a mandatory requirement. Very few solid and marketable software applications are written by one person. Telecommuting just raises another possible barrier and could compound dynamics and differences among team members. There are also security issues regarding the connection between work and home as well as the problem of productivity being a hard thing to measure when developing software.
Then of course there are home distractions that all managers would worry about.
This is old news to the Slashdot crowd.
In the Fortune 500 company I work for, I don't know anyone who telecommutes. We are encouraged to work with different teams accross the country but they are at company facilities in sub-teams that get together everyday.
If by "widespread" they mean one person does it in New York and one person does it in California then I would agree. If they mean "widespread" by increased frequency and occurance then I would not only disagree with them but adamently argue that it's not accepted as a viable method for getting the job done in the software engineering world.
Now that, I can see. I've only been working in the field for a couple years but I can already see that the room for growth in software development is unparalelled. What I mean is that people who start out as grunt developers often have a chance to become a team manager--it depends on how well they can estimate mentally and breakdown a project into tasks (something programmers are required to do in code anyways). More and more I see the manager world developing into two different kinds of managers--engineering managers and business managers. In fact, I have two managers (Office Space is more accurate than you think) with those two titles. One I can talk tech with and the other doesn't know jack about what I'm doing.
My work here is dung.
This story said that IT managers have the U.K's third-worst job -- ranking just below phone sex operator (No. 1) and ferry cabin cleaner (No. 2).
Wouldn't it be a better job to own a company like Google or Microsoft? http://www.servicerules.com.ar/
Tell that to unemployed software enginner Steve (who comes from a rough area) and is making more money selling Vibe than he ever did at Intertoad.
So what exactly constitutes a "software engineer"?
At my job, I have to write software (varying from simple quickie scripts to complex neural-net based adaptive administration controls) to handle the administration and maintenance of a few tens of thousands of servers. I have to be able to work with 5 different languages and be familiar with developing for four different architectures.
I'm rarely ever given the chance to plan anything in advance (that's just how this place works) and "testing" is often done hot - launch once operational, and quickly work out the bugs while it's in use. I usually work either entirely alone, or with our admins to give them tools to their specifications and needs. No team, little oversight, and full responsibility for failures.
Does that make me a Software Engineer? Or just a two-bit coder?
Do not confuse "Freedom of Choice" with "Free Will".
"You can work anywhere you want"
So long as it's in India or China.
Telecommuting is quickly becoming widespread.
Yeah, telecommuting from India.
====
Crudely Drawn Games
I have a degree in math and CS and I hardly ever use anything I learned in math for software development. Maybe simple sums and if things are getting really advanced I'll divide by the number of elements for an average. For that matter, I rarely use anything I learned in CS either, past the sophomore year anyway.
The vast majority of software, at least that I've come across, is just moving data around. Certainly, more complex software development exists, such as in the financial services sector. And we rarely have to get into the details of how complex data structures work because we always rely on libraries. Again, I'm sure there are exceptions, but from what I've seen of the work I've come across and that has been done by other developers I know, little is used of school knowledge.
That said, development isn't easy either. You have to be able to pick up new and weird APIs fairly quickly and find creative ways around asinine constraints. I'm just not seeing much in the way of school knowledge used though.
being a sysadmin is a good job, as long as they give you the leeway to do things the way you want them. because once you get done cleaning up the mess the last guy got fired for, and after you get done setting things up the way you want them to be... its a pretty slack job (after everything gets running smoothly), leaving you with plenty of time to experiment with new technologies and stuff. As a programmer, you generally have things you're supposed to be working on every minute of every day. /former sysadmin, current programmer //thinking of switching back
Most computer software requires nothing more than simple arithmetic.
There are exceptions such as in finance and 3d graphics, but come on.
This mentality is really annoying. The math office in my high school wouldn't let me take the C++ class because I had not taken the requisite Calculus class first. Even though I was writing C++ code in my part time job! (Out of spite, I'll mention that I took the state C++ AP test and went on to score the highest in New York. Take THAT Mrs. Lechner!)
Pfft.
I don't really see this amazing need for math skillz. I don't think I've used any calculus at my job, and I'm not even writing just business apps but also some basic software drivers and industrial automation stuff. College algebra is all I've had to use so far. But I appreciate the talk up of how amazing my job is :) I'm not even sure Linus Torvalds has ever had to use calculus in Linux.
Now we DO have to work with funky algorithms and I guess studying math helps with that somehow...
I don't see Male Porn Star anywhere on the list...
I guess when that happens, the few people that still have jobs are quite grateful and enamored with them.
Telecommuting is overrated in a number of cases. I enjoy the ease of contact with my coworkers. Part of the draw of my current profession is that I work with funny, intelligent people.
Working at home would likely be filled with endless distractions, mostly in the form of a two and seven-year-old who want to play Princess or Legos, respectively. Rarely does my coworker dress up in pink and demand they be called Princess Dave.
I've been both a software engineer and a system administrator/engineer. They both have their perks.
Software engineering I think gives you more of a sense that you're working on something really big, and there's obviously a huge sense of accomplishment when something you spent a year writing is used by thousands of people. On the flip side, though, you have to work for a year or more pounding away at code, with no real sense of accomplishment other than passing milestones. Often times, even that gives you no real sense of a job well done, since time frames for milestones are often set unrealistically, so you end up feeling lousy about missing a milestone instead of good for hitting one.
Then, there's the problem of usage. I've been a part of failed projects, and it can be gut wrenching. I've worked on applications that took 2 and 3 years to write, and ended up failing for various reasons. It sucks pouring so many hours into something and making all the sacrifices necessary to work 80 hour weeks just to have the project fail.
Being an SA, on the other hand, has its own rewards and issues. First, most SAs (unless you're a junior grade) don't babysit servers all day long, they generally are working on various projects to build or improve systems. These projects tend to be of a shorter duration than software projects, so there is generally more of an immediate sense of accomplishment. Also, you tend to be closer to the user base, which means you can easily see people using something you built on a day to day basis and draw some sense of accomplishment from that.
On the other hand, SAs also tend to be overworked, and can easily get caught up just trying to put out fires to maintain the servers rather than working on new and better things. A good SA will be able to stabilize things, but depending on the issue at hand that could take days or weeks or even months of very long hours before things return to where they should be. While a good SA will automate virtually every day to day task they can, sometimes they are too busy putting out fires to do so. This sort of thing can cause rapid burnout.
I spent 5 year being an SA, then spent 5 years being a software engineer, and now I'm back to being an SA again. Chances are good I will eventually be a software engineer again at some point. Both jobs have their advantages, and depending on where you work, both jobs can generate basically the same salaries.
Even being a "Software Engineer" varies from the "coding monkey" who gets it from the man, or the "unemployed contractor" who can't find a job, to the "game company project manager" or "I run my own successful software business" types.
;-)
All in all, it's a great job, agreed. But there's always a better title in the field, with better perks and better pay, and better everything.
So keep coding your butts off.
Would be the guy in "Office Space" who went on to make his Jump to Conclusions game. He had a secretary who would gather the requirements from the customers. Then the secretary would take the gathered requirements and pass them along to the engineers. Oh wait, he was laid off. Forget what I said...
So this is as good as it gets?!
--t
My 4 year old daughter walks up to me one day and say "Dad, Mom says you are a puter nerd, but it's OK cause you make lots of money..."
My degree is in Physics. In the process of getting my degree, I used
tons and tons of algebra. Maybe other programmers think differently, but
I find programming very mathmatical.
1) Factoring lines of code out of loops or into methods
2) Looking for invariants
3) Commutation (can you switch the order of operations and get the same result)
4) Being carefull about details
5) Finding the mistakes (where did I pick up that incorrect factor of 2?)
It is true that you might not use specific things you had in school (like F = mA).
But I think doing a lot of math exercises the same parts of the brain as a lot of
programming.
As far as using libraries for sorting or collections, it is helpful to know how a linked list or a hash table is in order to choose the right collection.
Or for that matter, knowing something about the performance of sorting algorithms in ordere to choose the right one.
Hopefully, you found some of the topics covered in your degree as fun so it will not have been a complete waste if you don't ever use them at work.
Imagine if you knew you would never do anything you didn't learn in school.
"We can't solve problems by using the same kind of thinking we used when we created them." -- Albert Einstein
I understand what you are saying and think there are different perceptions about the terms. I too majored in CS but consider myself a software engineer. We started with 300, only 26 graduated (1990); 26 hours of math required.
Perceptions (right or wrong):
Software Engineer: plans, manages, and develops full end-to-end software work products. They work in industry where the phrase return-on-investment (ROI) is used daily, their organizations often answer to stock holders, and their reputation hinges on each successful effort.
Computer Scientist: conducts research, often in government / educational / research facilities where the terms Grant and Research Funding are more often used and they can often obtain tenure (a secure position).
Cogito Ergo Sum
But it seems odd: If you compare software engineer to college professor, it is clear, based on their data, that the 10-year growth parameter is fairly heavily weighted in their ranking since professor is equal or higher in all other areas.
Software Engineer:
average salary: $80.5k
10-year growth: 46%
Average annual job openings: 44.8k
Stress: B
Flexibility: B
Creativity: A
Ease of Entry: C
College Professor:
average salary: $81.5k
10-year growth: 31%
Average annual job openings: 95.3k
Stress: B
Flexibility: A
Creativity: A
Ease of Entry: C
It seems like *if you had the job*, the quality of that job *right now* would be somewhat independent of the 10-year growth parameter. In that same spirit, if they folded in some "job security" parameter, it seems the tenture (or tenture-track) options of a professor would trump all others.
i\hbar\dot{\psi}=\hat{H}\psi
..and the world's Worst Job, for the second year in a row, "Assistant Crack Whore".
[/Norm MacDonald]
So I marched right in and asked the boss if I could be a software engineer. He said "What do thy do?" and I said "Same stuff I do", and he said "Sure!" so now I'm one of the few, the happy few! And to think, this morning I was just "the computer guy".
But they have it ranked as C, which I assume is average entry difficulty. According to their numbers, there are about 95,000 professor positions open every year. But that's not the whole picture: only a small fraction of that 95,000 are positions open to a particular person. In order to be a professor, you need to have a relatively narrow expertise. There will be few professor positions open in the country that want your particular expertise.
I also think they underestimate the stress level of getting tenure. Getting tenure is a cutthroat process.
For the record, I am a Computer Science graduate student.
Don't think of it as "cleaning up the mess the last guy got fired for". Think of it as "making a mess, that is compatible with your prejudices, for your successor to clean-up."
Censorship is telling a man he can't have a steak just because a baby can't chew it. --Mark Twain
I don't see Male Porn Star anywhere on the list...
Oh sure, it looks glamorous when everything is slightly blurry. Wait until the first high definition porn titles become available and you can see all of the pimply, warty details. Suddenly being a "sanitation worker" isn't so bad.
I thought their choices were pretty good, but they completely screwed up with the reasoning behind the selections. Here's my take on it:
1. Software engineer
Congratulations, no one really knows what you do. As a software engineer you have carte blanche to fuck off. Don't like what you're working on? Tell your employer it'll take two years and 10 people to accomplish. No one will know the difference. Just remember, 10 minutes of inspiration gets more accomplished than a strong work ethic.
2. College professor
Congratulations, you figured out how to never leave college. Rather than figuring out how the real world operates you get to tell future generations how you wished it worked. It's the only job in the world where you can bang 18 year-olds for the rest of your life and simply be called 'eccentric'.
3. Financial advisor
Congratulations, you figured out how to be a criminal that gets a salary. Because, hey, no one really goes to jail for white collar crimes. Scraping a few pennies worth of commission from every trade is not only legal, it's expected. The best part: the only qualifications are you need is the ability to use Excel and wear a shit-eating grin. It's possibly the only job in the world where someone else will take a fall for your dirty deeds. Think Enron.
4. Human resource management
Congratulations, you're so good at covering your ass a company has hired you to cover theirs. When most people get frustrated at work they put their head down and mutter obscenities. Instead, you have the opportunity to fire the asshole who pissed you off. Furthermore, if you don't like your benefit package you can create your own.
5. Physician's assistant
Congratulations, you found a cover for being an escort. We all know you bought the nurse's outfit first and found the job second. Working bankers' hours gives you the ability to pursue more lucrative opportunities on the side.
6. Market research analyst
Congratulations, you figured out how to remove the stress and anxiety from marketing leaving you with pool parties and martinis. As an analyst, you get to try new products and impress your friends with the latest in cell phone technology. The best part: you'll still make plenty of money to pursue your coke habit.
7. Computer IT analyst
Congratulations, you figured out how to get a lucrative job in the IT market without any technical knowledge. As a translator between real people and the geeks you'll be revered by both. The real people will invite you to after work parties and give you an escape from nerddom. The geeks will be so thankful you've removed human interaction from their job they may let you play with their dual-core superpiplined hyperthreaded 64-bit processors.
8. Real estate appraiser
Congratulations, you've discovered the single career more criminal than financial advisor. You have more angles than a protractor. Not only do you get kickbacks, you have a waiting line. As if banks, insurers, and developers weren't enough, now you have every government agency on the Gulf Coast wanting to give you money for a job they've already done. Just remember, banks have to report every transaction over $10,000.
9. Pharmacist
Congratulations, you're a licensed drug dealer. You're college buddies are now serving mandatory minimums for selling a few tabs of acid at a Widespread show. Meanwhile, you're doling out Valium and Vicodin on a daily basis to the doctors' wives. If the people making the drugs have a stock symbol, it can't be that bad, right?
10. Psychologist
Congratulations, you found a way to get paid for kissing ass. This whole career was developed by a genius who figured out there was money to be made by telling codependents everything they wanted to hear. You have that special knack for convincing people their friends are wrong when they 'Get over it.'
----- obSig