Physics A physics major is not good preparation for a career in software development

AI Thread Summary
A physics degree typically does not provide adequate preparation for a career in software development, as the curriculum focuses more on theoretical concepts and less on practical programming skills. Most physics programs offer minimal programming coursework, often limited to optional introductory classes, which do not equip graduates with the necessary skills for modern programming jobs. Employers generally expect candidates to have experience in relevant programming languages and technologies, which are rarely covered in physics education. While some successful programmers may have physics degrees, they often possess significant self-taught programming experience, making the degree itself insufficient for job readiness. Overall, relying on a physics degree as a pathway to programming careers can lead to misleading expectations about job qualifications.
pi-r8
Messages
138
Reaction score
30
Whenever people ask what jobs they can do with a B.S. in physics (and to a lesser extent with an M.S. or Ph.D.), one of the first suggestions offered is that they can become a programmer. In my opinion, this is seriously wrong and harmful advice.

Look at the standard courses that physics majors take. None of them have anything to do with programming! Most of them are pencil-and-paper theory classes, with a few lab classes thrown in for kicks. In my program, they suggested one, *optional* introductory-level class in programming. Would you tell someone that they were qualified to be an engineer, just because they had taken one introductory course?

Some people do programming as part of research projects. Again, these are entirely optional, and not part of the standard curriculum. And even when they do, they mostly program simple number crunching algorithms in obsolete languages like Fortran. That kind of programming does not even come close to qualifying someone for a professional programming job. It can actually be *worse* than no experience, because it teaches bad habits that will have to be broken later.

Meanwhile, the skills that are actually in demand for programming jobs, are not taught at all. I'm talking about skills like web and mobile development, server maintenance, or managing a database with SQL. Not to mention languages that are slightly more recent than Fortran (or even C++). Oh, and since so many programmers have CS degrees, they'll also expect you to know a fair amount about CS, even if it doesn't relate directly to programming. No one will ever ask you to calculate an electromagnetic field, though.

As far as I can figure, the only people who are successful in landing programming jobs with just a physics degree, are the people who self-taught themselves programming (usually starting in high school or even earlier). Which is fine for them, but it doesn't really help the people who didn't do that. It's completely unrelated to the physics degree itself. It's basically like saying, that if you teach yourself piano very well, then you can become a professional piano player after getting a physics degree. Technically true, but misleading and unhelpful to anyone with a physics degree who is not a self-taught piano or programming virtuoso.
 
  • Like
Likes math_denial
Physics news on Phys.org
By that reasoning a BS in CS is a waste of time for software development since so many CS BS people can't development software at all, and so many good developers do not have CS degrees. A college degree in a specific field guarantees no skills or job prospects. For better of worse college programs are customizable. Your complaint seems to be that very specific training is not forced on everyone for the benefit of the few people that need it.
 
You seem to view a CS degree as a vocational degree. If you want a vocational degree, get a vocational degree and some certificates, not a CS degree or a physics degree. They're completely different things.
 
bcrowell said:
You seem to view a CS degree as a vocational degree. If you want a vocational degree, get a vocational degree and some certificates, not a CS degree or a physics degree. They're completely different things.
No, that's not what I'm saying at all. Of course no one majors in physics just to get a programming job. The problem is, everyone seems to think that they'll be able to get programming jobs(among others) with just a physics b.s. degree, just like they would with a cs degree, and it's really not true. A physics degree is totally unrelated to programming jobs. A cs degree also teaches unrelated knowledge, but it does at least somewhat prepare you to work as a programmer.
 
  • Like
Likes math_denial
I don't think pi-r8 is too far off base.

Someone who has a degree in physics with no programming experience (or just a rudimentary knowledge of it) has very little chance of getting a programming job. I don't know of any companies that would train someone how to program, just because that person has a physics degree.

But - if a physics major has significant programming experience, their chances are greatly increased. I'd say the same for math majors, too.
 
  • Like
Likes math_denial
lurflurf said:
By that reasoning a BS in CS is a waste of time for software development since so many CS BS people can't development software at all, and so many good developers do not have CS degrees. A college degree in a specific field guarantees no skills or job prospects. For better of worse college programs are customizable. Your complaint seems to be that very specific training is not forced on everyone for the benefit of the few people that need it.

No, my complaint is that people are giving students bad job advice by leading them to believe that a physics major will teach them enough to get a programming job.
 
  • Like
Likes math_denial
Yes that is bad advice indeed. A physics major is not (usually) enough for a physics job or a programming job.
 
  • Like
Likes math_denial
It still looks like you see a BS as vocational training.
 
I agree. I have seen some of my colleagues' programming and it's atrocious. One physics PhD I know doesn't even know touch typing! He's a hunt-and-peck typist. Personally if I was in a position to hire a software developer I would be very critical of someone with a physics degree, especially just a BS.

Vanadium 50 said:
It still looks like you see a BS as vocational training.

Considering the way colleges market their degree programs, that's not such a strange thing. If getting a college degree wasn't at all relevant to finding employment then far fewer people would do it than there are now.
 
  • Like
Likes math_denial
  • #10
Agree wholeheartedly with the OP. I wonder how many physics students are in school with the notion that a phd in physics is an attention getter in the "real" world because of so-called critical thinking skills.

The elite make a big stink over math and physics skills as a primary indicator of competitiveness, and the pro-education shills rah rah on the sidelines, ...but but...

It just aint so. Otherwise show me the respect.
 
  • Like
Likes math_denial
  • #11
daveyrocket said:
Considering the way colleges market their degree programs, that's not such a strange thing. If getting a college degree wasn't at all relevant to finding employment then far fewer people would do it than there are now.

That's part of another issue: "not knowing what to do with young adults."

A year or two ago, a poster here (it was probably twofish-quant, but I'm not certain)[/size] was saying that before, young men went to the army. Today, they go to college.

rdg123 said:
Agree wholeheartedly with the OP. I wonder how many physics students are in school with the notion that a phd in physics is an attention getter in the "real" world because of so-called critical thinking skills.

The elite make a big stink over math and physics skills as a primary indicator of competitiveness, and the pro-education shills rah rah on the sidelines, ...but but...

It just aint so. Otherwise show me the respect.

Easy way to test this supposition. Simply cold-call 10 firms/companies, ask them if they're hiring, and in the conversation, mention having a physics degree. Note their reaction.

Done.

Why is it that people don't know what to do with physics majors, but "they" know what to do with Slavic literature, history or politics majors?

Check http://academic.reed.edu/poli_sci/resources/poliscimajorhandbook.htm out. It's the handbook for political science majors at a liberal arts college, which happens to be a very academically rigorous one. Specifically, read the section titled "Life after..." and the one about "summer internships." The department goes out of its way to pay its students for the internships they're doing. Summer internships are *part* of the degree, and that's at one of the most academic institutes (arguably) in the country.

Sure, a college degree is not, and should not be regarded as a vocational course. Educating oneself is an end in and of itself, but if that was *all* that mattered, I'm certain lots of people wouldn't be getting into as much debt as they seem to. Certification (i.e, a bachelor's degree) is the de facto requirement for lots of jobs. I don't think there's anything wrong with jobs not requiring bachelor's degrees, and I really wouldn't mind doing one after getting any degree, but most people don't think that way. That's also because I probably won't go to a college that would require my getting too indebted.

I've heard of people doing philosophy degrees and then going to work in a circus, which is pretty cool. I don't think there's anything wrong with that. What I find wrong, however, is that just about everybody around me (i.e, kids my age) think they're entitled to cushy white collar jobs just because they have a degree. I have friends studying civil engineering who already have plans of working "on the field" for a few years, and then going "into management or consulting" after, because that's where the money is at. And they're just freshmen...

As far as I'm concerned, every academic department should have one such "major handbook" available to the their students. I've went over the webpages of at least 75 colleges' physics departments over the past year or two, and I've never seen one. At least, not one with specifics instead of "with the critical thinking and technical skills you earn with your physics degree, you will be qualified for a wide range of positions. Many of our graduates go on into fields such as management, software engineering, law, medicine or physics research." Caveat: a lot of them get further degrees for that. I haven't quoted this directly from any webpage but it's the same kind of generic "information" that I've seen in most places. I actually e-mailed a person who takes care of "what alumni are doing" at a college, and my e-mail was forwarded to a prof who responded with that same generic info. It was nice of him to take away 2-3 minutes of his time to reply to my e-mail, but he completely walked around my question and told me exactly what I found in the department's main website.

That was an ivy league school btw. Another one, while not having any extensive info, did have some relevant stuff available. "X, Y and Z business consulting and investment banking firms recruit on campus. Many of our physics graduates have been hired straight out of college from them. Here are some of the questions you may be asked at an interview. Here is some further information on the nature of the job. While most of what you learned in your physics degree will not be directly relevant, these employers value our graduates." (paraphrasing here; been a while since I went on that page, but that was the gist of it)

Now, *that* was useful! However, that's just for an ivy league college. And we know all too well that McKinsey doesn't recruit on campus at SUNY-Platsburgh, Arizona State or UMass-Amherst...

Sidenote: Why are law, medical and engineering schools part of universities? Sure, people conduct research in those fields, but are those degrees not primarily vocation qualifications? The M.D and J.D are "vocational doctorates."
 
  • #12
pi-r8 said:
Meanwhile, the skills that are actually in demand for programming jobs, are not taught at all. I'm talking about skills like web and mobile development, server maintenance, or managing a database with SQL. Not to mention languages that are slightly more recent than Fortran (or even C++).

Classes are only part of your education. If you are good with computers you can and will be expected to teach yourself the language of the day, which is one reason that being in an environment where you can teach yourself is a good one.

Oh, and since so many programmers have CS degrees, they'll also expect you to know a fair amount about CS, even if it doesn't relate directly to programming. No one will ever ask you to calculate an electromagnetic field, though.

Not true. Calculating field equations was something of a standard interview question for the jobs I was applying for. I also got questions on Green functions and contour integration.

As far as I can figure, the only people who are successful in landing programming jobs with just a physics degree, are the people who self-taught themselves programming (usually starting in high school or even earlier). Which is fine for them, but it doesn't really help the people who didn't do that.

Well download a book from Amazon and figure out what it is you have to learn what it is that you have to do to learn what you have to learn. Complaining that physics classes don't prepare you for the "real world" is like saying that doing push ups and aerobic exercises doesn't prepare to you play football.

It's completely unrelated to the physics degree itself. It's basically like saying, that if you teach yourself piano very well, then you can become a professional piano player after getting a physics degree. Technically true, but misleading and unhelpful to anyone with a physics degree who is not a self-taught piano or programming virtuoso.

It's not unrelated. Doing physics problems gives you the mental toughness that you can use to do other things, if that's what you want to do.
 
  • #13
rdg123 said:
Agree wholeheartedly with the OP. I wonder how many physics students are in school with the notion that a phd in physics is an attention getter in the "real" world because of so-called critical thinking skills.

It worked for me. It's not that people will fall over you if you have a physics Ph.D., but rather that if can figure out neutrino diffusion then figuring out how to write a resume shouldn't be that tough.

Part of it is I think is attitude. If you are in the "pay X money to get Y degree to make Z money" then physics sucks. But I've been incredibly curious about the universe. I like analyzing systems, whether physical or sociological, and then figuring out how to make those systems work for me.

Physics works for me because it's the hardest thing that I can find. I can have someone teach me physics, and then I'll figure out the CS and marketing stuff on my own. If I specialized in marketing, then I couldn't teach myself physics. So since I want the "whole package" I went into astrophysics, and then read everything that I could on stuff that has nothing obviously to do with astrophysics.
 
  • #14
Mépris said:
Easy way to test this supposition. Simply cold-call 10 firms/companies, ask them if they're hiring, and in the conversation, mention having a physics degree. Note their reaction.

One thing that I learned from sales people is that this is the wrong approach. If the company wants a computer programmer, then you are a computer programmer. If they company wants a salesman, then you be a salesman. If you can't give what the company wants, then shake hands, politely close the conversation, and move to the next person.

It doesn't matter if 9, 99, or 999 or nine million people say no. All you need is one person to say yes, and you are golden. One thing that sales people do is to figure out very quickly if they can't make a sale, and if they can't they politely end the conversation and move to the next person.

Also, cold calling is usually a waste of time. Large companies have all of these systems in place to prevent people from getting any useful information. That's where conferences and head hunters come in. If you have the e-mail address of someone that will write back, that's gold.

I think this is cool, because the part of my brain that I used to figure out how a big bureaucracy works is the part of my brain I use to figure out the big bang. It's a big puzzle.

Why is it that people don't know what to do with physics majors, but "they" know what to do with Slavic literature, history or politics majors?

Because people in those majors *talk* to people. You need to network. You can make a very simple model of how the world works, and that gives you the number of people you need to talk to get a job.

What I find wrong, however, is that just about everybody around me (i.e, kids my age) think they're entitled to cushy white collar jobs just because they have a degree.

I don't think there's anything wrong with that.

One thing that I learned is that most people want the easy way. Most people get more stuff the easy way. If I wanted the most money/respect/toys, no way would I go into physics. If that's what you want out of life, don't do physics.

It's not what I want. What I want to frankly to die satisfied that my life was worth it.

As far as I'm concerned, every academic department should have one such "major handbook" available to the their students.

Or not. One of the cool things about my teachers if you went up to them and asked what you could do with a physics degree if academia didn't work out, they'd answer that they hadn't got a clue. COOL!

No one *could* have written a "handbook" for me. Most of the careers that I've been working in are things that did not exist when I was an undergraduate. I really have no idea what I'll be doing in a decade. I'm sure it will be interesting. It will likely involve something that hasn't been invented yet.

I'm always learning new stuff. Right now, I'm trying to teach myself how to write low-level video drivers for GPU's. I'm doing it because I think it's important and useful.

I've went over the webpages of at least 75 colleges' physics departments over the past year or two, and I've never seen one.

Because they haven't got a clue.

Now, *that* was useful! However, that's just for an ivy league college. And we know all too well that McKinsey doesn't recruit on campus at SUNY-Platsburgh, Arizona State or UMass-Amherst...

OK, then scratch McKinsey off your list if you go to Arizona State. Who is next?

Sidenote: Why are law, medical and engineering schools part of universities? Sure, people conduct research in those fields, but are those degrees not primarily vocation qualifications? The M.D and J.D are "vocational doctorates."

People need to justify themselves, so one way you can justify spending money on something abstract is that you can say that it's because of "deep stuff." But so what?
 
  • #15
One other thing undergraduate is very different from graduate school. For example, one thing that was on my resume that made me attractive was that I had programmed on supercomputers. Now my supercomputer programming was "self-taught" in that I didn't take a course on supercomputers. However, through the good graces of my adviser, I got free supercomputer time that I could use to "play" with.

Now there aren't that many situations outside of a physics department where someone will just hand you the keys to supercomputer and let you take it out for a spin. (One funny thing though is that the computer I'm typing with now probably has more horse power than the supercomputer I used way back when.)
 
  • #16
pi-r8 said:
Look at the standard courses that physics majors take. None of them have anything to do with programming! Most of them are pencil-and-paper theory classes, with a few lab classes thrown in for kicks. In my program, they suggested one, *optional* introductory-level class in programming. Would you tell someone that they were qualified to be an engineer, just because they had taken one introductory course?

I actually only took one engineering course, Intro to Design. As it turns out, I am qualified to be an engineer. In my case, what was really important was my understanding of science and mathematics in a general sense, because the ME curriculum, for example, has very little relevance to my job. I've never needed to calculate the stress of a beam or quantify convective heat transfer. I also never need to do many of the things I learned in my physics program either.

As I've noted before, not every physics student makes a good engineer. It really does depend on the individual, their interests and capabilities. It also depends on the position. Some engineering jobs require professional registration. Some engineering jobs require field specific knowledge that is taught in specialized programs. On the other hand, some positions require neither of those things. Software jobs are similar. Some physics students will have the proper skills and interests, and some will not. The physics curriculum in and of itself does not provide those things.
 
  • #17
The point is college freshman has no idea about networking and learning stuff on his own.

College freshman thinks that if he/she study hard and do all that teachers are saying, he/she will get a good job.

Because of that young physics majors are doomed.

I truly believe that academic degree becomes useful with certain amount of wisdom and experience of it's holder. Because of that it's better for older people while young should get vocational training first.
 
  • #18
pi-r8 said:
Whenever people ask what jobs they can do with a B.S. in physics (and to a lesser extent with an M.S. or Ph.D.), one of the first suggestions offered is that they can become a programmer. In my opinion, this is seriously wrong and harmful advice.

Look at the standard courses that physics majors take. None of them have anything to do with programming! Most of them are pencil-and-paper theory classes, with a few lab classes thrown in for kicks. In my program, they suggested one, *optional* introductory-level class in programming. Would you tell someone that they were qualified to be an engineer, just because they had taken one introductory course?

Some people do programming as part of research projects. Again, these are entirely optional, and not part of the standard curriculum. And even when they do, they mostly program simple number crunching algorithms in obsolete languages like Fortran. That kind of programming does not even come close to qualifying someone for a professional programming job. It can actually be *worse* than no experience, because it teaches bad habits that will have to be broken later.

Meanwhile, the skills that are actually in demand for programming jobs, are not taught at all. I'm talking about skills like web and mobile development, server maintenance, or managing a database with SQL. Not to mention languages that are slightly more recent than Fortran (or even C++). Oh, and since so many programmers have CS degrees, they'll also expect you to know a fair amount about CS, even if it doesn't relate directly to programming. No one will ever ask you to calculate an electromagnetic field, though.

As far as I can figure, the only people who are successful in landing programming jobs with just a physics degree, are the people who self-taught themselves programming (usually starting in high school or even earlier). Which is fine for them, but it doesn't really help the people who didn't do that. It's completely unrelated to the physics degree itself. It's basically like saying, that if you teach yourself piano very well, then you can become a professional piano player after getting a physics degree. Technically true, but misleading and unhelpful to anyone with a physics degree who is not a self-taught piano or programming virtuoso.

Has anyone in your programming classes taught you that 90% of programming problem is solved precisely with pen and paper before the actual programming is undertaken?
 
  • #19
If your goal is a job in software development, you should get a computer science or computer engineering degree.

If your goal is a job as an engineer, you should get an engineering degree.

Of course it's *possible* to get a job as an engineer or software developer with a physics degree, but honestly, that's doing things the hard way.

You should study physics if your goal is to be a physicist. You might not get there (it's a long, tough road!), but if that's not your goal, you should be studying something more appropriate.
 
  • #20
TMFKAN64 said:
If your goal is a job in software development, you should get a computer science or computer engineering degree.

If your goal is a job as an engineer, you should get an engineering degree.

Of course it's *possible* to get a job as an engineer or software developer with a physics degree, but honestly, that's doing things the hard way.

You should study physics if your goal is to be a physicist. You might not get there (it's a long, tough road!), but if that's not your goal, you should be studying something more appropriate.

The "real" world wants the cheapest on-demand problem solvers, not people mistaking paper degrees for licenses guaranteeing long term professions like a medical doctor. someone out of university with a CS degree won't have much large scale design experience or domain knowledge. They are essentially trained for niche employment in operating systems and compilers.

Makes no sense to be sacked down that long, except HR departments demand it. Go figure.

As for physicist, I think the naive notion from employers is that an engineer is one by default. They don't want physicists on staff as physicists.

So that leaves engineering, often promoted around here as the upcoming nirvana. Of course, chemistry was once a darling too, with all the opportunities in bottom-up nanotech, medicinal chem, etc. Now chemistry is just one of those farm-it-out non-professions.
 
  • #21
Rika said:
The point is college freshman has no idea about networking and learning stuff on his own.

Some do. Some don't. My experience has been that most high school students in the US *do* realize the importance of social networks given the amount of time people put into developing them.

College freshman thinks that if he/she study hard and do all that teachers are saying, he/she will get a good job.

Well that's not true. That should become pretty obvious quickly.

I truly believe that academic degree becomes useful with certain amount of wisdom and experience of it's holder. Because of that it's better for older people while young should get vocational training first.

One problem here is that the way that you learn stuff is by having stuff happen to you. The other problem is that it turns out that you just can't change an educational system very quickly. Educational systems aren't like bridges. You usually can't design them. Rather they evolve.
 
  • #22
rdg123 said:
Makes no sense to be sacked down that long, except HR departments demand it. Go figure.

Degrees end up being a queuing system. If you have X jobs and 5X applicants, slicing people by degrees is a quick and relatively fair way of making the queue smaller, very quickly.

As for physicist, I think the naive notion from employers is that an engineer is one by default. They don't want physicists on staff as physicists.

It depends on the employer. One thing that will get you in trouble is to figure out what "employers" want, as if there is one employer out there. As far as skills go, you have different companies that want different things, and as long as one person says yes, you are good.

Also it helps to understand why HR and employers do what they do. Put simply, they don't care if you get the job. If they are looking for X bottle washers, and you have fifty applicants of which five are certified bottle washers, then you can toss everyone else into the trash. It could be that they just rejected a lot of people who are perfectly good bottle washers, but so freaking what?

So that leaves engineering, often promoted around here as the upcoming nirvana. Of course, chemistry was once a darling too, with all the opportunities in bottom-up nanotech, medicinal chem, etc. Now chemistry is just one of those farm-it-out non-professions.

At some point, you have to wonder if trying to guess tomorrows lottery ticket is a good strategy. Maybe it's a better idea not to follow the latest "hot flavor" but instead develop some general skills which you can apply across careers.
 
  • #23
twofish-quant said:
At some point, you have to wonder if trying to guess tomorrows lottery ticket is a good strategy. Maybe it's a better idea not to follow the latest "hot flavor" but instead develop some general skills which you can apply across careers.

While I agree with your sentiment above, it is also a fact that a significant number of students who graduate with a BA or BS from college/university in the US this year will not be able to find a well-paying job upon graduation, and it may well be the case that many of these students will be unemployed for a stretch of a year or longer (the situation will differ for those with a MA/MS or PhD, depending on the field). And given that many students will graduate with high debts will mean that current graduates will struggle financially for many years to come.

You need to understand that most questions or posts on the Career Guidance section of the forums are ultimately based on the fear that they will somehow be left unemployed or unemployable upon graduation. Telling someone to develop general skills won't help students.

I think it may simply be better to tell people that no matter what you graduate in, you will have a >50% chance that you will lose (by lose, I mean being unemployed, underemployed, or ending up in poverty). Then depending on individual circumstances, each potential student may well decide whether pursuing a college/university education is actually worth it or not.
 
Last edited:
  • #24
StatGuy2000 said:
You need to understand that most questions or posts on the Career Guidance section of the forums are ultimately based on the fear that they will somehow be left unemployed or unemployable upon graduation. Telling someone to develop general skills won't help students.

In fact I think it will. If you have general skills then you can take a look at the situation and then "reinvent" yourself to make the best out of a bad situation. The other advice is "stay out of debt."

I think it may simply be better to tell people that no matter what you graduate in, you will have a >50% chance that you will lose (by lose, I mean being unemployed, underemployed, or ending up in poverty).

First of all, I don't think it's that bad. One thing that helps me put things in perspective is knowing people that have grown up in other countries. If you are born in the United States, you've already won stage one of the "lottery of fate" and then odds are that even if you end up underemployed, you'll still be better off than if you were born somewhere else.

One big irony is that we have the most technologically advanced, productive economy on the history of the planet, yet people *still* feel left out. It's interesting to figure out why. One is that definitions of success are relative. Even the poorest people in the United States live better than most people in Medieval Europe. But that's not the comparison people use. People compare themselves with their peers and by definition half of your peers are going to end up below average.

The second reason people feel awful is that there is a lot of money to be made making people feel awful. If everyone felt like a used beat up car was good enough, then no one would buy new cars and the car industry would collapse. So there are entire industries devoted to making you feel bad.

Second, this is a rather passive view of the world. If we live in a world in which most college graduates can't find decent jobs, then we've just got to change the world. Also if you can't change the world, you can at least change yourself. If you realize that people are in fact trying to make you feel miserable, then you can figure out what to do about it.

Then depending on individual circumstances, each potential student may well decide whether pursuing a college/university education is actually worth it or not.

An education is always worth it. The question is whether going to college is the best way of getting an education. The other thing is what is a college education.

The other thing is that there is "weird feedback." Suppose your chance of winning the lottery is X%. You decide not to play the lottery. However, buy not playing the lottery you end up boosting the odds of the other people that play it. Something that is interesting is that the question "what are my chances of getting into Harvard or getting job X?" is a deeply philosophical question that hits the nature of probability.
 
  • #25
twofish-quant said:
In fact I think it will. If you have general skills then you can take a look at the situation and then "reinvent" yourself to make the best out of a bad situation. The other advice is "stay out of debt."

Perhaps as far as "general" skills are considered, but for many people, "staying out of debt" is not an option if they wish to pursue higher education.

First of all, I don't think it's that bad. One thing that helps me put things in perspective is knowing people that have grown up in other countries. If you are born in the United States, you've already won stage one of the "lottery of fate" and then odds are that even if you end up underemployed, you'll still be better off than if you were born somewhere else.

One big irony is that we have the most technologically advanced, productive economy on the history of the planet, yet people *still* feel left out. It's interesting to figure out why. One is that definitions of success are relative. Even the poorest people in the United States live better than most people in Medieval Europe. But that's not the comparison people use. People compare themselves with their peers and by definition half of your peers are going to end up below average.

Of course, the perspective I outlined is based on those born or raised in the US or another country with similar standards of living (e.g. Canada, Britain, Sweden, etc.) And frankly, people throughout history have always compared themselves to their peers in terms of their relative social standing, so stating that they are better off than those in Medieval Europe is pointless.

Second, this is a rather passive view of the world. If we live in a world in which most college graduates can't find decent jobs, then we've just got to change the world. Also if you can't change the world, you can at least change yourself. If you realize that people are in fact trying to make you feel miserable, then you can figure out what to do about it.

You are operating under the assumption that somehow one can change the world to ensure greater employment for the jobless. As the experiences of Spain and Greece shows, that is easier said than done, for in an increasingly interconnected global economy, a nation's economic situation often depends on situations that are outside of the control of either individuals or individual governments.

Another assumption you make is that somehow you can "change yourself". If you are unemployed, no amount of realization that there are people trying to make you feel miserable will help you out of the situation.

An education is always worth it. The question is whether going to college is the best way of getting an education. The other thing is what is a college education.

The other thing is that there is "weird feedback." Suppose your chance of winning the lottery is X%. You decide not to play the lottery. However, buy not playing the lottery you end up boosting the odds of the other people that play it. Something that is interesting is that the question "what are my chances of getting into Harvard or getting job X?" is a deeply philosophical question that hits the nature of probability.

I obviously concur that an education is worth it. And whether college is the best way to get an education is indeed a question worth exploring (as well as looking into what is a "college education"), but that's a whole other debate I do not wish to explore at the moment.

Strictly speaking, in a true lottery, whether one individual player chooses to participate (or not) has no effect on the probability of a win for the remaining participants, since there can only be 1 event that can be defined as a "win" and a given play is unaffected by any previous play (since each play is independent).

Of course, employment is not a lottery, so the feedback loop you mention will be applicable (if I choose not to seek job A, then the probability of getting job A does indeed increase for the remaining participants, barring any new entrants).
 
  • #26
Hi,

Just wondering, what is the level of proficiency assumed by employers, if someone is going to get a job with a non-CS degree? Does he/she need to have a deep understanding of operating systems or something like that? And what kind of work do they do?

Thanks
 
  • #27
set said:
Hi,

Just wondering, what is the level of proficiency assumed by employers, if someone is going to get a job with a non-CS degree? Does he/she need to have a deep understanding of operating systems or something like that? And what kind of work do they do?

Thanks

According to my experience the employer expects hands-on experience in a particular field - depending on the job opening, plus maybe vendor- or technology-specific certifications (Microsoft, CISCO, SAP, CISSP...). Yes, it is tough to bootstrap this process immediately after university.

Re kind of work: "CS jobs" or "IT jobs" with or without degree can be anything: software architect / project management, developer, networking specialist...

I am a physics PhD with ~ 15 years experience in the IT sector, mainly in IT infrastructure and networking security. When I started to work in IT I felt that only a minority of my colleagues actually had a CS or IT specific degree - IT was a sector that was particularly open to people with uncommon CVs. So you typically started out in a non-IT department and sort of gradually moved into IT. For example: Business degree --> controlling department --> SAP specialist. Or: Engineering degree or vocational training --> manufacturing department --> specialist for production planning software --> IT department.

But this has changed a lot - many of these self-trained early age IT specialists have worked towards a formal degree now while working.
 
Last edited:
  • #28
StatGuy2000 said:
Perhaps as far as "general" skills are considered, but for many people, "staying out of debt" is not an option if they wish to pursue higher
education.

But you do have some say into how much debt. If you have to choose between a Calculus I class in a community college and a big name university, then you have to ask is it worth the expense.

And frankly, people throughout history have always compared themselves to their peers in terms of their relative social standing, so stating that they are better off than those in Medieval Europe is pointless.

There may be a predisposition to rank people, but the basis of that ranking changes. As far as whether it's pointless, part of the purpose of college is to think through what is worthwhile and what is pointless. One problem with buying into the "rat race" is that you'll never have enough, and people will want more, more, more until things blow up somehow.

You are operating under the assumption that somehow one can change the world to ensure greater employment for the jobless.

I'm under the assumption that it's worth my effort to try. I don't know if quantum gravity is solvable. I don't know if full employment is possible. But I think I'll die happier knowing that I at least tried some things, rather than just give in.

Again, people can live their life however they want, and it's good that different people do different things. However, what's worked for me is to try solving hard problems to help the world. That's why I got into physics.

As the experiences of Spain and Greece shows, that is easier said than done, for in an increasingly interconnected global economy, a nation's economic situation often depends on situations that are outside of the control of either individuals or individual governments.

Sure. But "physics thinking" comes in useful in trying to analyze complex situations. Something that happens sometimes is the butterfly effect. A small change in one place can make huge changes. If you can figure out where the butterfly effects are, you might be able to put yourself where you can actually make a difference, if that's what you want to do with your life.

Also, the people that taught me physics also taught me a lot more stuff. There is a power elite in the world, and I was taught that I could change the world, and if I didn't change it positively then I was a disgrace to the school.

Another assumption you make is that somehow you can "change yourself". If you are unemployed, no amount of realization that there are people trying to make you feel miserable will help you out of the situation.

It worked for me. I get angry easily. Once I realized that I was getting screwed over, that got me out of bed in the morning. One thing about anger is figuring out how to express it in ways that are amusing. Watching stand-up comedy helped me do that. Also lot's of absurdist literature and drama.

What works for me, might or might not work for you. But I wanted to point out that for at least one person (i.e. me), getting a physics major was one of the best things that happened to them.

Also, the "what can I do with a physics major?" conversation that I had was a short one. "What can I do with a physics major?" Answer from my teachers: "We haven't got a clue, but we think you are smart and you'll figure something out."
 
  • #29
lisab said:
I don't think pi-r8 is too far off base.

Someone who has a degree in physics with no programming experience (or just a rudimentary knowledge of it) has very little chance of getting a programming job. I don't know of any companies that would train someone how to program, just because that person has a physics degree.

But - if a physics major has significant programming experience, their chances are greatly increased. I'd say the same for math majors, too.

I have a few years worth of programming and still can't even land a job interview. I have "programming" experience. Not "software engineering". I got my projects to do what they are supposed to, but I worked alone with nobody to mentor me, and therefore am largely useless in a setting where teamwork and efficiency are expected. I just don't have those concepts down.

My projects weren't small scripts. My largest project was to program an application that took real-time images from an x-ray detector (30FPS video), analyzed it, displayed it, and let the user adjust the analysis parameters (contrast levels in this case) on the fly. They used my program during live surgeries. And yet I can't even get a job interview. Why? Because I developed all of it using Qt Creator by myself and not using .Net framework in an Agile environment or whatever.

It's the difference between eyeballing how big of a piece of metal you need and then filing it down if you need less vs. calculating exactly how much you'd need.

And of course I just don't have the background in algorithms or databases to be able to hold my own against CS majors. Nobody cares that physicists are "quick learners", nobody cares that physicists are "critical thinkers" or can "analyze problems". Absolutely none of that matters if you can't hit the ground running and need to be trained before you can contribute to a project.

I've posted here a lot asking for advice and it's always been a lot of "umm..." and "ahhh...". A few suggestions to go to various engineering or programming fields that didn't net a single interview. Finally I've decided to just go back to school (obviously my acceptance isn't guaranteed either). Until then I'll work at Safeway I guess. If they don't think I'm overqualified and actually hire me, that is.
 
  • #30
Mistake said:
I have a few years worth of programming and still can't even land a job interview. I have "programming" experience. Not "software engineering". I got my projects to do what they are supposed to, but I worked alone with nobody to mentor me, and therefore am largely useless in a setting where teamwork and efficiency are expected. I just don't have those concepts down.

My projects weren't small scripts. My largest project was to program an application that took real-time images from an x-ray detector (30FPS video), analyzed it, displayed it, and let the user adjust the analysis parameters (contrast levels in this case) on the fly. They used my program during live surgeries. And yet I can't even get a job interview. Why? Because I developed all of it using Qt Creator by myself and not using .Net framework in an Agile environment or whatever.

It's the difference between eyeballing how big of a piece of metal you need and then filing it down if you need less vs. calculating exactly how much you'd need.

And of course I just don't have the background in algorithms or databases to be able to hold my own against CS majors. Nobody cares that physicists are "quick learners", nobody cares that physicists are "critical thinkers" or can "analyze problems". Absolutely none of that matters if you can't hit the ground running and need to be trained before you can contribute to a project.

I've posted here a lot asking for advice and it's always been a lot of "umm..." and "ahhh...". A few suggestions to go to various engineering or programming fields that didn't net a single interview. Finally I've decided to just go back to school (obviously my acceptance isn't guaranteed either). Until then I'll work at Safeway I guess. If they don't think I'm overqualified and actually hire me, that is.

This is a common problem in getting work because you have clueless HR people that have absolutely no idea what something other than the buzz-words mean.

You also have really demanding employers that want you to have a tonne of experience in these new technologies, tonnes of experience, lots of projects, but then put you on a three or six month contract. It's absolutely insane what is happening out there in the dev world (and although this was my experience quite a long time ago, I have doubts that this kind of behaviour has ended).

I can understand a large part of it: the people want the dev guys to probably spend a week or two getting up to speed on the repository in the platform they are using and then just do what they need to do and because of that they get super-specific about what they want.

At the same time though, I have a feeling that this works against them if they don't find what they want and just end up screwing themselves.

Ironically though, there is good news for all those FORTRAN and COBOL programmers in that those huge legacy systems require people to maintain very old and ugly repositories so if you do know these, there is probably an ugly code-base waiting for you somewhere.
 
  • #31
Mistake said:
I have a few years worth of programming and still can't even land a job interview. I have "programming" experience. Not "software engineering". I got my projects to do what they are supposed to, but I worked alone with nobody to mentor me, and therefore am largely useless in a setting where teamwork and efficiency are expected. I just don't have those concepts down.

My projects weren't small scripts. My largest project was to program an application that took real-time images from an x-ray detector (30FPS video), analyzed it, displayed it, and let the user adjust the analysis parameters (contrast levels in this case) on the fly. They used my program during live surgeries. And yet I can't even get a job interview. Why? Because I developed all of it using Qt Creator by myself and not using .Net framework in an Agile environment or whatever.

It's the difference between eyeballing how big of a piece of metal you need and then filing it down if you need less vs. calculating exactly how much you'd need.

And of course I just don't have the background in algorithms or databases to be able to hold my own against CS majors. Nobody cares that physicists are "quick learners", nobody cares that physicists are "critical thinkers" or can "analyze problems". Absolutely none of that matters if you can't hit the ground running and need to be trained before you can contribute to a project.

I've posted here a lot asking for advice and it's always been a lot of "umm..." and "ahhh...". A few suggestions to go to various engineering or programming fields that didn't net a single interview. Finally I've decided to just go back to school (obviously my acceptance isn't guaranteed either). Until then I'll work at Safeway I guess. If they don't think I'm overqualified and actually hire me, that is.

It is true that many employers want their employees to "hit the ground running" because many of them simply can't afford (or don't want to bother with the time) to train their employees.

That being said, let me ask you something. Have you thought about spending time now training yourself in programming in various different languages/tools? (e.g. Java, SQL, C++, .NET framework, SAS if you want to do statistical programming, etc.) Most of these languages/tools/etc. are available on the web to download free of the charge or for a low price (except for SAS -- there you might have to resort to Pirate Bay or ask a friend who works for SAS). If you have solid programming knowledge, it shouldn't take longer than a month to pick up all the skills you would need in a job setting, and you can add your knowledge in the resume.
 
  • #32
StatGuy2000 said:
That being said, let me ask you something. Have you thought about spending time now training yourself in programming in various different languages/tools? (e.g. Java, SQL, C++, .NET framework, SAS if you want to do statistical programming, etc.) Most of these languages/tools/etc. are available on the web to download free of the charge or for a low price (except for SAS -- there you might have to resort to Pirate Bay or ask a friend who works for SAS). If you have solid programming knowledge, it shouldn't take longer than a month to pick up all the skills you would need in a job setting, and you can add your knowledge in the resume.

Yes I have. The roadblocks I've run into are:

  • What do I program? People say "give yourself a project", but that's vague non-advice. I don't know what project to undertake that would force me to learn new concepts. I learned Python a few weeks ago. Made a small game with pygame. It was super easy and I didn't learn anything besides syntax. I just don't know what else to start.
  • Let's say I make a project and improve my knowledge. A good project that takes a solid month of programming. I can then write on my resume "1 month of programming in X". People almost always want years -- at least 1. Do I lie?
  • Added to that, if I get probed on what my experience in language X is, I would respond with "Oh I made a project for myself." Would that even fly? There's no real way to check that out.

However, the main problem is still my first point. I don't know what project I could undertake that would actually be doable for one person in a reasonable amount of time and also teach me new things.
 
  • #33
Mistake said:
Yes I have. The roadblocks I've run into are:

  • What do I program? People say "give yourself a project", but that's vague non-advice. I don't know what project to undertake that would force me to learn new concepts. I learned Python a few weeks ago. Made a small game with pygame. It was super easy and I didn't learn anything besides syntax. I just don't know what else to start.
  • Let's say I make a project and improve my knowledge. A good project that takes a solid month of programming. I can then write on my resume "1 month of programming in X". People almost always want years -- at least 1. Do I lie?
  • Added to that, if I get probed on what my experience in language X is, I would respond with "Oh I made a project for myself." Would that even fly? There's no real way to check that out.

However, the main problem is still my first point. I don't know what project I could undertake that would actually be doable for one person in a reasonable amount of time and also teach me new things.

As far as what to program, that would really depend on you. I'm a statistician, and if I was to learn a new programming language, I would pick a project that would involve some form of statistical or data analysis as a place to start.

Earlier in your post, you had stated that you had programmed an application that analyzed images from an x-ray detector using Qt Creator. Now I have no experience with Qt Creator (in fact, I've never heard of it until now), but it sounds to me that the work was fairly complex. Have you thought about independently developing this application using another programming language/application as a project? You already have the basic algorithm in place, so it's a matter of converting it into the new format.

If what I suggested above is too much a challenge in the beginning, starting with a little project (like developing a game using Python, as you did) may be advisable. Whatever you decide to do can then be mentioned in your resume; you can also save copies of the algorithm or the application if possible as part of a portfolio (similar to what graphic designers do with their projects) which you can present to a potential employer.

As far as what to write on your resume, I would simply leave out how many years of experience you have, and say something to the effect of "solid knowledge of X programming language" or "comfortable knowledge of X programming language".
 
  • #34
StatGuy2000 said:
Earlier in your post, you had stated that you had programmed an application that analyzed images from an x-ray detector using Qt Creator. Now I have no experience with Qt Creator (in fact, I've never heard of it until now), but it sounds to me that the work was fairly complex. Have you thought about independently developing this application using another programming language/application as a project? You already have the basic algorithm in place, so it's a matter of converting it into the new format.

Qt Creator (C++ IDE) is like Visual Studio or Netbeans, with the added benefit that it is designed for use with the Qt libraries, which are cross-platform libraries that handle everything from GUI development to networking and multithreading.

In any case, the program I made used DLL files provided by the manufacturer of the hardware that I can't really do anything without. I can definitely simulate images, but it just seems like I'm making a project that ends up being worthless. The big deal about the program for me was that I had to have a separate thread for data acquisition and a separate one for the GUI as well as figuring out how to store a monolithic chunk of data (up to 700MB) in one giant array, being able to cycle through that data, save it in various file formats, load it back up. That kind of thing. Also a big chunk was devoted to communicating with the x-ray detector itself, changing settings remotely, checking to make sure everything is working well, and calibrating. A lot of bread and butter programming that was more time consuming than difficult.

If what I suggested above is too much a challenge in the beginning, starting with a little project (like developing a game using Python, as you did) may be advisable. Whatever you decide to do can then be mentioned in your resume; you can also save copies of the algorithm or the application if possible as part of a portfolio (similar to what graphic designers do with their projects) which you can present to a potential employer.

Can you elaborate more on the portfolio? Pictures of my program or something? Only thing I'd feel bad about is if someone looks at my code and sees bad coding practices or something. Usually when I'm learning, I don't sweat the details.

As far as what to write on your resume, I would simply leave out how many years of experience you have, and say something to the effect of "solid knowledge of X programming language" or "comfortable knowledge of X programming language".

Yeah that's a good way to go about it I guess. Then if the interviewer probes you you can actually explain instead of being weeded out automatically.
 
  • #35
I’d echo what a couple of previous posts have said. My background in physics (pen and paper theory work) did nothing to prepare me for writing software. I’ve worked with a few fresh out of university computer science majors (including some with postgraduate degrees) and they also were not very well prepared to be software developers. Among the people I’ve worked with there’s a mix of opinions about the value of academic work in computer science as it applies to software development.

I’ve worked in a couple of biotech jobs. A background in science was a bonus in these jobs, but the main thing they needed from me was coding skills. The most helpful aspect of my physics background has been the experience it gave me giving technical talks to groups of people.

I’ve made plenty of mistakes writing software, but as far as I know none of them has been the result of not studying computer science, e.g. I’ve never found myself saying, “if only I had known about the Liskov substitution principle I wouldn’t have made that mistake”. Also, none of the people I’ve worked with that have computer science backgrounds have ever told me anything like that either.

As some others have said, I think vocational education would probably be the best preparation for being a software developer. However, I think a lot people have a have a strong bias towards computer science degrees or more generally four year degrees. I wish it wasn’t that way, but I think it is. I will say I have interviewed for jobs and sometimes I get asked computer science type questions. It would be nice to just know the answer, or at least have seen a similar problem in the past, instead of standing at a while board trying to figure it out on the fly.

Learning the basics of programming isn’t that hard, “if” statement and “loops” are no big deal. I think the main challenge is learning the libraries and frameworks. I’m not sure how much they teach this at universities. The people I’ve worked with right out of school didn’t know much about these kinds of things. Another thing they lacked was working within a software development process. Doing this for a small class project is very different from doing it in the context of a large commercial application.

At a smaller company knowing about networking and operating systems might be helpful, since there might not be much other support. But I’d look at this as more of a “nice to have”, for the most part it’s probably more important to be really good at programming (including programming in a browser for a web application) and knowing enough about databases to be effective.

To me it’s not a big deal if someone doesn’t know how to program if they can learn quickly and have a good attitude they can pick it up fairly quickly. I basically started from zero, after a couple of weeks I was doing productive things, I was marginally competent after about 2-3 months (i.e. it seemed natural to call myself a software developer) and was ok after about 6-7 months or so. I think the big challenge is getting in. I’ve conducted a fair number (close to 100) of technical interviews (basically after people have gotten past a resume review and sometimes a phone interview) and all of the people I’ve interviewed had real programming experience. Like I said though, I have worked with people right out school, so it’s possible.

In summary, I think there’s a bootstrap problem, actual software development experience it the best way to learn, but how do you get it? A comp sci degree would probably be very useful in getting you past the resume screeners and into an in person interview.
 
  • #36
Mistake said:
Can you elaborate more on the portfolio? Pictures of my program or something? Only thing I'd feel bad about is if someone looks at my code and sees bad coding practices or something. Usually when I'm learning, I don't sweat the details.

I was thinking more along the lines of copies of the code itself, or pictures of the end result. You can also bring your laptop with you and show the results of the code. If you're worried about IP or copyright, perhaps you can specify in advance that these are beta versions?

Those involved in software development may give you better advice about how to present a portfolio.
 
  • #37
I've worked in software development for over 20 years and have never heard of anyone presenting a portfolio.

Usually, most of the code I've written has been owned by a previous employer... I couldn't have shown it to someone else unless I wanted endless legal hassles. I think that's the usual case... I've interviewed many people as well, and none of them have ever shown me a portfolio either.
 
  • #38
I was once asked for a sample of my code for an interview, since I didn't have anything that I could legally show, I declined.

I wouldn't really call it a portfolio, but twice I conducted interviews where the hiring manager asked the candidate to provide code samples. In one case it was an internal transfer so ownership of the code was not an issue, in the other instance I'm not sure if the code was proprietary or not (I didn't really want to know).

The code didn't really influence me that much, I was more interested in how they responded to the questions I asked. The only thing I felt a bit negative about was when I'd ask about why they did something a certain way, that was obviously wrong, and instead of just saying, "I made a mistake", they would try to come up with some justification that didn't make any sense before saying, "I made a mistake".
 
  • #39
Regarding the original statement as the topic title:
What makes it so? Do you know about the free-software movement? One of the chief promotors is a programmer and with degree in Physics.

What one studies formally along with their "degree" and what one chooses to learn or study outside their degree can make a person more than or different than just the result of their major field of study. Not everyone knows what to do about so many choices nor to look for them.
 
  • #40
What makes it so? Do you know about the free-software movement? One of the chief promotors is a programmer and with degree in Physics.

Dude, Richard Stallman got his undergrad degree in physics IN 1974! Do you think maybe the expectations of software developers has changed a bit in the last 40 years? How many CS programs do you think existed in the 70s? The pattern of physics degrees is generally that they don't get work doing physics, but are smart people so they worm their way into areas that require little in the way of formal credentials (CS in the 70s, finance recently, insurance and data-mining).

In a world where there are no degrees teaching you how to develop software, something like physics where you'll get some time on fast computers and learn a bit about programming is excellent preparation. In a world where lots of schools are having CS students work on large, open source projects, physics is no longer good preparation.

Also, Stallman is AT BEST an idiosyncratic definitions of success. I met him briefly in the late 90s, and at the time it appeared he was literally living in his office and didn't appear to have much in the way of income.
 
  • #41
symbolipoint said:
Regarding the original statement as the topic title:
What makes it so? Do you know about the free-software movement? One of the chief promotors is a programmer and with degree in Physics.

What one studies formally along with their "degree" and what one chooses to learn or study outside their degree can make a person more than or different than just the result of their major field of study. Not everyone knows what to do about so many choices nor to look for them.

Modern software development is something you have to spend a lot of time becoming used to and being comfortable with.

Typically nowadays people are given a bunch of API's that do a lot of complex stuff and they are told: "Here's API blah, blah and blah: we need blah blah and blah".

Now in this environment you won't know anything much beyond those interfaces in terms of what is going in most cases (you know what it does, just not how) and you have to deal with the issues that arise not only from this, but also working with repositories that are huge and are maintained by a number of people that introduce issues of their own.

Working on a repository that is being accessed by half a dozen or more people can be a nightmare if things aren't co-ordinated and if you are used to developing for yourself, then it's pointless for an employer to look at you since they want someone who can not only get things done, but also get things done in the context of a team environment that means working with other coders, managers, and all kinds of people.

Again it's quite different to have this scenario than the one where you are doing your own pet project that you have full control over and relating the two situations in any way is just naive.
 
  • #42
This is quite an interesting thread that I didn't see earlier. Reading through it brought back memories.

I started out with a BS in Physics and was hired into a computer center that did two types of work: business based (payroll, stock certificates, billing...) and scientific/engineering based work. At the time, CS was a fledging field, the company knew it was better to hire physics majors and business majors to get the job done. The view was that it was easier to teach someone COBOL or FORTRAN than it was to teach them the complexities of a given science, engineering or business project. They did this by offering inhouse training in all aspects of programming of the time ie FORTRAN, COBOL, Report Writer, sorting, and macro assembler.

In particular, I was told that physics majors seemed especially adept at picking up programing projects and running with them. It seemed that we understood how to work with arrays better than business majors. This was before spreadsheets were invented, business majors could handle lists and with difficulty tables but add another index and they might get lost completely. COBOL pretty much dealt with lists of records to be sorted, summarized and reports printed.

In contrast, FORTRAN applications would use more math to compute or generate engineering data like plots, programmable milling machine tapes...

What I used to tell students majoring in any field was to minor in computers because companies that needed programmers to run the business look at the major first and then the programming is an extra that they will also want. I think this still stands today. CS people will get more easily hired by computer companies, engineers by engineering companies, physics majors by research labs... but in each case knowing how to program makes you a better fit for the job.

Curiously, IBM bucked the trend at the time by hiring English majors. Initially they needed manuals to be written but discovered that English majors had the logic skill needed to write effective programs. Many later became managers and executives for the company but that's another story...

Lastly, I'm sure if you were to do a poll of working programmers you would find many older programmers who had physics backgrounds. Two of the US inventors of early computers, Atanasoff and Mauchly were physicistts whereas Eckert and Zuse were engineers and Turing, Aiken and VonNeumann were mathematicians again before CS was a field of study.
 
  • #43
Getting back into the point raised by the OP: I would have to agree that a physics major on its own is not a particularly good preparation for a career in software development. In my alma mater, the curriculum for physics majors often do not cover programming or software development in any degree of depth.

That being said, the physics majors that I know of have considerable skill in programming and often pick them up very quickly. And I could be mistaken about this, but I somehow I seem to get the impression that there is an unspoken belief that a physics major and a CS major are mutually exclusive, where in fact there are many people (including people I know personally) who have double-majored in both degrees. These people have often told me that an understanding of physics and of CS have complemented each other.
 
  • #44
ParticleGrl said:
Also, Stallman is AT BEST an idiosyncratic definition of success. I met him briefly in the late 90s, and at the time it appeared he was literally living in his office and didn't appear to have much in the way of income.

He's his own boss and doing exactly what he wants to be doing, and has been for 30 years. I can't imagine being more of a success than that.

That said, I'd agree that he makes a poor role model for physics majors who aspire to be software developers.
 
  • #45
StatGuy2000 said:
Getting back into the point raised by the OP: I would have to agree that a physics major on its own is not a particularly good preparation for a career in software development. In my alma mater, the curriculum for physics majors often do not cover programming or software development in any degree of depth.

That being said, the physics majors that I know of have considerable skill in programming and often pick them up very quickly. And I could be mistaken about this, but I somehow I seem to get the impression that there is an unspoken belief that a physics major and a CS major are mutually exclusive, where in fact there are many people (including people I know personally) who have double-majored in both degrees. These people have often told me that an understanding of physics and of CS have complemented each other.

I can vouch for that, I have a Physics BS and a CompSci MS and its true they do complement one another in odd ways but are especially helpful when doing scientific projects with a fair amount of computational math and physics.
 
  • #46
Why? Because I developed all of it using Qt Creator by myself and not using .Net framework in an Agile environment or whatever.

Spin. If you know potential employers want .Net framework and Agile development experience working in a team then when you are talking about your project:

1.) Don't specify what development environment/libraries you used.
2.) Don't say you did it alone. Might seem conterintuitive but list what you did and leave it ambiguous as to if you worked alone or not.
3.) Even if you didn't officially use Agile processes, some of what you did probably is Agile like. Read through in figure out what is and point that out in your resume. State that you used the Agile concepts of "xxx", "xxx", and "xxx" or whatever.Then if you don't have it, get some .Net experience (this is the homecooked project part) and list in a general skills section that you have .Net experience.
 
Last edited:
  • #47
Mistake said:
Yes I have. The roadblocks I've run into are:

  • What do I program? People say "give yourself a project", but that's vague non-advice. I don't know what project to undertake that would force me to learn new concepts. I learned Python a few weeks ago. Made a small game with pygame. It was super easy and I didn't learn anything besides syntax. I just don't know what else to start.
  • Let's say I make a project and improve my knowledge. A good project that takes a solid month of programming. I can then write on my resume "1 month of programming in X". People almost always want years -- at least 1. Do I lie?
  • Added to that, if I get probed on what my experience in language X is, I would respond with "Oh I made a project for myself." Would that even fly? There's no real way to check that out.
1.) Depends on what you want to try to learn. Something I fooled around with to learn about neural networks and learn C# was to create a stock analyzer. Write a program that gets historical stock data from the internet and stores it into a SQL database. Then write a program that pulls it out of the SQL database and performs some kind of basic analysis on it. Make it variable so you can examine stock or group of stocks starting at any date, for any window length, or find any stock whose price or volume deviated more than 1 STD in a certain length of time, etc.

This covers a lot of basics: basic socket programming, string parsing, basic database manipulation, math and array operations. Throw a GUI on it and plot if if you want GUI or maybe openGL development experience.

If you want something more mathematical, write a set of libraries using various numerical techniques to solve ODEs or PDEs. Figure out a way to use them and compare their results, processing efficiency, etc. Even better, compare the results with different compiler options or between different compilers/programming languages.

2.) Never state how much experience you have unless it is a big plus. If you know they want a C++ developer and you have 15 years developing in C++ state it. Otherwise, you are just "Proficient in [list all the languages you know to some basic level]"

3.) Spin and hype. Don't lie, but emphasize the strong points and don't mention the weak points unless they specifically ask. You didn't do a weekend programming project, you created a program that performed statistical analysis on a database of historical stock data. And you didn't do it to learn to program, you did because you didn't like the tools available for free on the internet or because you thought you had some novel approach to stock analysis.
 
Last edited:
  • #48
Floid said:
3.) Spin and hype. Don't lie, but emphasize the strong points and don't mention the weak points unless they specifically ask. You didn't do a weekend programming project, you created a program that performed statistical analysis on a database of historical stock data. And you didn't do it to learn to program, you did because you didn't like the tools available for free on the internet or because you thought you had some novel approach to stock analysis.
This is very bad advice. Spinning and hyping a weekend programming project as a significant endeavor is a lie. A reasonably good interviewer will detect it as such. Never lie on a resume or during an interview, and that includes excessive stretching of the truth. If you are going to lie about something as petty as a weekend programming project, what are you going to lie about when it comes to something significant?

If the company is at all competent, it will not hire you just on the basis of this kind of "spin and hype". If it makes a mistake and does hire you, they might well fire you when it turns out that you did "spin and hype" in your resume and interview. Your first six months or so on the job are provisionary. We don't need much of an excuse to get rid of you. Most degreed technical employees are exempt employees. "Exempt" means that a whole lot of protections that apply to hourly workers are not applicable to exempt employees. Even after that probationary period, we still don't need much of an excuse to get rid of you. Firing an employee oftentimes is very bad for morale, both fellow employees and employers. Most employers do not like to fire people.

On the other hand not firing a worthless employee can also bad for company morale, mostly on the part of fellow employees. Those coworkers do not like having to repeatedly clean up the mess that that worthless employee creates. Worthless employees are also bad for the bottom line. If they create a big enough mess, they are not just worthless. They are worse than worthless.
 
Last edited:
  • #49
Floid was clear not to lie. Choosing language that's both appropriate and puts the work in a positive light is possible. Learning to sell yourself in an interview is an important skill that candidates should work on.

I think D H misrepresented Floid in his response above.
 
  • #50
Locrian said:
Floid was clear not to lie.
I disagree. Floid's stretching a weekend programming project into something that it wasn't is a lie. It's just not a fabricated out of nothing kind of lie. There are lots of ways of lying. Just look to the kings and queens of lying, lawyers and politicians. A favored approach is to sprinkle the lie with a bit of truth, then stretch that truth beyond all recognition. They might not have fabricated something out of nothing, but it's still a lie.

I occasionally interview potential employees. Shortly afterwards, management and everyone who was involved get together to discuss the candidate. This meeting includes the people who interviewed the candidate, those who gave demos to the candidate, even those who went out to lunch with the candidate. This post-interview meeting is very typical across many companies, and we do look for potential problems. Lying is a big problem. Suppose even one person detected that that claimed experience in programming and statistics was a merely weekend project to learn how to program and how to do statistics. That's a "Whoa" kind of problem, one that makes everyone involved rethink what they learned of the candidate.You might not look on this excessive stretching of the truth as a lie, but the potential employer does see it as a lie. Don't embellish.
 

Similar threads

Replies
2
Views
2K
Replies
18
Views
4K
Replies
30
Views
9K
Replies
23
Views
6K
Replies
27
Views
2K
Replies
18
Views
2K
Replies
9
Views
2K
Replies
37
Views
9K
Replies
18
Views
5K
Back
Top