views:

589

answers:

17

I have a friend who has a degree in Mechanical Engineering (Masters) and he's looking to shift his focus to programming. Does anyone have any ideas or clues on how he can do this?

For example, how many hiring managers would look at a mechanical engineer's resume and would even want to hire the person since his education does not include Computer Science?

Should he try to go to college and get an associate's degree - and in these days - are those even worth pursuing to get a foot in the door?

He has worked on some personal projects before, but nothing substantial. But everyone's got to start somewhere and he needs some pointers on what he can do.

+18  A: 

Just start programming.

I wouldn't hire anyone who hadn't shown themselves to actually enjoy programming in a substantial way. I wouldn't personally look too closely at the degree involved, but I would want to see evidence of personal or open source projects if they didn't have commercial experience.

Additionally, if your friend does some programming in his spare time he'll have more idea of whether or not he really enjoys it.

Jon Skeet
A: 

There are a lot of places that would be willing to hire a mechanical engineer with experience in programming for a programming position, but most software shops would not. For the majority of places, a B.S. is required. I personally don't even think an Associates is worth having or listing on a resume. Most people won't care.

If he's serious about a career in software development, I would have to say he probably should get a degree in CS.

The most important thing is for him to program for fun. He won't learn much in school, that's mainly for the piece of paper you get at the end... you really need to learn on your own and be able to show what you've accomplished and learned from working outside of school or a job.

Max Schmeling
-1 for not learning much at school. Half the reason people don't learn anything when they are at school is because they don't make the attempt to learn anything at school because they already believe they won't learn anything at school.
TheTXI
if you're in a high quality CS program then you'll probably learn some pretty good stuff, i guess I've just not had the chance to be in a program like that so I don't know what it's like to be in programming classes where the teachers know what they're talking about.
Max Schmeling
+1  A: 

He should write some code. And BTW, as someone who has interviewed hundreds of people, I don't care what kind of degree they have, or even if they have one.

anon
That's rare though, especially in the corporate world. Most places won't even let you in the door if you don't have a BS or are in the process of getting one.
Max Schmeling
It's impossible for me to make any real amount of money (in this area, because the aren't that many places to go) because I don't get my degree for another two semesters.
Max Schmeling
The "all must have prizes" syndrome means that degrees, in the UK at least, are simply useless as an indication of anything. Nobody I know pays any attention to them anymore.
anon
A degree only gets you past the HR department. Then you need to know what you are doing.
jle
@jle--Very true, but without a degree that step is almost impossible sometimes.
RolandTumble
+3  A: 

I've known some really talented programmers that don't have a Comp Sci degree. But I think if you are serious and starting out a bachelors is worth pursuing.

I'm sure you've heard the common writing advice, "A writer writes, all the time." Which basically means, that people who are serious about writing do it all the time to improve their ability.

Well, a programmer programs, all the time.

James McMahon
+4  A: 
  • The simple answer is this: start programming. That is the basic answer to the basic questions.

  • In terms of getting a job, it would probably be useful for someone with no official programming experience to either earn some type of degree or certifications from accredited colleges/universities/programs, or go the free-lance route and build up a suitable portfolio of work. If you can't demonstrate in some fashion that you know something, nobody is going to take the chance on hiring you when there is already a glut of actual programmers out there of varying quality trying to get jobs.

TheTXI
+1  A: 

I wouldn't think that the associates degree would help much. I personally have a computer engineering degree during which I only took two basic programming related classes. If he is currently working somewhere that has a programming department, I would look at getting moved over there if possible. It would also help to get involved in some open source projects.

Web
2 years is not enough to do very much.
monksy
+1  A: 

Reading Stack Overflow. He will be an uber-programmer in matter of hours xD.

fortran
Hey, that site sounds pretty neat! I doubt it'll ever get off the ground, though.
Welbog
Six to Eight Weeks!
TheTXI
I even feel I'm becoming a better programmer right now!
fortran
+2  A: 

My friend's father worked at a geophysics company. He told her that he'd rather hire physics people and teach them to program than hire programmers and try to teach them the necessary physics.

So if your friend learns to code, it's quite likely he'll be even more valuable to a company like that, one who's got plenty of mechanical engineers that he can relate to, where he can help translate their work into code.

Adam V
This is true, to some extent. However it's a fact that not everyone can be taught to code. It's not a superior/inferior thing it's just a that some people have minds which work the right way to code, but most don't.
Cruachan
I'm a software engineer embedded in a team of research geophysicists working in the oil industry. We hire PhD geos to write domain-specific algorithms. Once they've done their stuff we (the s/w engineers) integrate it into our processing and workflow systems, refactoring if necessary. Sure, if you are already a geophysicist and aspire to program come here, but such jobs are few and far between. I would also note that not all the geophysicists are good programmers and none of them is a good software engineer.
High Performance Mark
A: 

I don't have a CS degree, and I've been programming professionally for the past 7 years.

In fact, most employers know that an engineering degree is more appropriate for real world programmers than a CS degree. I hold an MSEE, so your friend with an MSME should do just fine.

Anon E. Mous
+1  A: 

The difficult part is getting that first programming/IT job.

One route is to do enough hobyyist/open-souce work that you can really sell yourself (or be so succesful that you don't need to.

Alternatively you need to get that first entry level position. Having done a serious amount of programming helps, but you are really selling yourself as having potential.

There are employers who will consider entry-level people with good qualifications/background in non-IT subjects without CS degrees. I would look at organsiations such as Civil Service and large banks and IT companies. If they have a graduate entry scheme you have a chance.

I've been that route myself (albeit many years ago) and my son (engineering degree) has done more or less the same thing a year or two back.

djna
A: 

I've never get my higher degree, and still, don't have any problems with job. Maybe in USA situation is different, but here, in almost every european country experience outbeats education.
So, simple answer for me is: if you'll become a guru for yourself, you'll not face any borders.

Andrejs Cainikovs
+1  A: 
  1. In general, the best way to become a programmer is to write programs. It seems like a silly answer, but in general, it doesn't matter what type of program he does. It doesn't even need to be advanced or particularly complicated.
  2. Someone with a Masters in Mechanical Engineering is clearly an intelligent person, and most managers will ask to see an example of his code. Again, doesn't need to be huge, just representative of his skill and style. Style is very important.
  3. In general, larger companies will care more about degrees, and smaller, family or startup businesses will look at someones examples more carefully.
  4. The single best way to find out whether or not it is worth it or possible to switch focus to programming is to go out and look for jobs. Apply to several, go to an interview, and ask questions. And if he gets a job while doing that, then he's already succeeded.
SEK
+1  A: 

In order to be a writer, you write. In order to be a programmer, you program. Fancy degrees can help you get a foot in the door, but some of the best programmers don't have degrees in programming. In fact, programming has very little do with standard comp sci degrees from colleges. Just tell them to be a good programmer and that will create job opportunities.

Bob
A: 

Read the article Teach Yourself Programming in Ten Years, by Peter Norvig!

A small quote:

  • Get interested in programming, and do some because it is fun. Make sure that it keeps being enough fun so that you will be willing to put in ten years.

  • Talk to other programmers; read other programs. This is more important than any book or training course.

  • Program. The best kind of learning is learning by doing.

Sébastien RoccaSerra
A: 

Lots of practice, lots of effort, and lots of mistakes.

monksy
A: 

Where I live it's difficult to get into a programming job if you don't have a formal qualification or a fair bit of commercial experience in the area. It was different years ago when computing graduates were few and far between, but nowadays there are so many people coming out of university with computing degrees as well as a load of unemployed, experienced programmers who are willing to take less pay in order to get a job in the current climate.

Your friend does have a pretty relevant degree though, not just any old idiot can get a mechanical engineering degree - the type of skills and mindset needed to do that are the same as what is needed to succeed at programming too. If he can provide some examples of programming work he has done then he may be able to get a foot in the door somewhere.

TabbyCool
A: 

Your friend needs to have some form of programming education or degree. Getting an associates computer programming degree will ensure that he has the required proficiency and exposure in programming. This will not only help him get his foot in the door but would also add value to his resume. Since your friend does not have substantial experience it would be apt to take this route.

Amanda