#### Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Options

# Career question

Here's a career question I got from someone:

Dear Prof. Baez,

Sorry for the unsolicited email, but I follow your blog and am hoping that you will be able to offer some guidance.

Within the next year I will finish my PhD on quark confinement/vortices, so it's time to think about what to do next. The usual HEP post-doc trail is not particularly appealing due to the lack of positions and overabundance of candidates. More importantly, I'm increasingly concerned with the global problems that we have and would like to use what talents I have help.

What chance do I have to transfer to the science of energy/resources or climate change? These are such important problems that I would be heart broken if the opportunities are as limited as in sciences that are more elective than necessary.

When I began my PhD in Adelaide I was the highest ranked applicant across all departments. I'm scared of ending my career in a high school instead of contributing scientifically to one of our urgent problems. I'd be extremely grateful if you are able to offer any advice.

Here is my answer, which doesn't seem as helpful as it should be:

Sorry to take so long to reply. I've been mulling over your question.

You write:

More importantly, I'm increasingly concerned with the global problems that we have and would like to use what talents I have help.

Great!

What chance do I have to transfer to the science of energy/resources or climate change?

It will take work, but the job opportunities in these areas are probably better than in more esoteric areas such as elementary particle physics.

Since I haven't tried getting a job in these areas, I'm probably not the best person to help you find one. However: did you read how Nathan Urban switched from quantum gravity to academic work on climate change? He describes it at the beginning here:

http://johncarlosbaez.wordpress.com/2010/09/09/this-weeks-finds-week-302/

As you can see, his skill at Monte Carlo computations were transferrable.

Also, read how Tim Palmer switched from quantum gravity to work on climate modelling, near the beginning here:

http://johncarlosbaez.wordpress.com/2010/12/07/this-weeks-finds-week-306-2/

Among other things:

JB: Thanks! I’ve been reading that book. I’ll talk about it next time on This Week’s Finds.

Suppose you were advising a college student who wanted to do something that would really make a difference when it comes to the world’s environmental problems. What would you tell them?

TP: Well although this sounds a bit of a cliché, it’s important first and foremost to enjoy and be excited by what you are doing. If you have a burning ambition to work on some area of science without apparent application or use, but feel guilty because it’s not helping to save the planet, then stop feeling guilty and get on with fulfilling your dreams. If you work in some difficult area of science and achieve something significant, then this will give you a feeling of confidence that is impossible to be taught. Feeling confident in one’s abilities will make any subsequent move into new areas of activity, perhaps related to the environment, that much easier. If you demonstrate that confidence at interview, moving fields, even late in life, won’t be so difficult.

In my own case, I did a PhD in general relativity theory, and having achieved this goal (after a bleak period in the middle where nothing much seemed to be working out), I did sort of think to myself: if I can add to the pool of knowledge in this, traditionally difficult area of theoretical physics, I can pretty much tackle anything in science. I realize that sounds rather arrogant, and of course life is never as easy as that in practice.

JB: What if you were advising a mathematician or physicist who was already well underway in their career? I know lots of such people who would like to do something "good for the planet", but feel that they’re already specialized in other areas, and find it hard to switch gears. In fact I might as well admit it — I’m such a person myself!

TP: Talk to the experts in the field. Face to face. As many as possible. Ask them how your expertise can be put to use. Get them to advise you on key meetings you should try to attend.

JB: Okay. You’re an expert in the field, so I’ll start with you. How can my expertise be put to use? What are some meetings that I should try to attend?

TP: The American Geophysical Union and the European Geophysical Union have big multi-session conferences each year which include mathematicians with an interest in climate. On top of this, mathematical science institutes are increasingly holding meetings to engage mathematicians and climate scientists. For example, the Isaac Newton Institute at Cambridge University is holding a six-month programme on climate and mathematics. I will be there for part of this programme. There have been similar programmes in the US and in Germany very recently.

Of course, as well as going to meetings, or perhaps before going to them, there is the small matter of some reading material. Can I strongly recommend the Working Group One report of the latest IPCC climate change assessments?

What else should I have told this person?

• Options
1.

If this person wants to go the academic route, it is sometimes possible to switch fields at the postdoc level, as I did. My first postdoctoral advisor, Klaus Keller, has in fact often preferred to hire physicists and applied mathematicians with generic quantitative skills. But this is probably not so common. I don't know of a generic route to find other such potential employers. One possibility, as Tim Palmer mentioned, is to attend one of the big conferences like AGU or EGU. Search the program for people doing things that sound interesting and accessible, try to meet them, ask them if they're hiring and would consider a physicist. (Do this soon, since they may not be hiring right away.)

The main problem is that a physicist will usually be at a disadvantage unless they have a technical skill or other experience that is rare in the normal candidate pool. In my case that was Monte Carlo. Without a particular applied skill, I don't know ... you'd probably have to hunt for someone doing very mathematical things using a branch of math that you know, but wouldn't be covered in a standard atmospheric sciences or other geoscience program.

There is, of course, a "lack of positions and overabundance of candidates" in other academic fields, such as climate change. But climate science is at least a bigger field than HEP theory. I can't say much about non-academic employment in climate change, since I don't have experience with that ... and I don't know if there is much employment outside academia, other than in government. Energy engineering, on the other hand, has more potential for private sector employment. It might be more fulfilling for someone interested in helping to solve global problems, as well. There will always be a demand to improve energy technologies regardless of whether we have the political will to address climate change.

Comment Source:If this person wants to go the academic route, it is sometimes possible to switch fields at the postdoc level, as I did. My first postdoctoral advisor, Klaus Keller, has in fact often preferred to hire physicists and applied mathematicians with generic quantitative skills. But this is probably not so common. I don't know of a generic route to find other such potential employers. One possibility, as Tim Palmer mentioned, is to attend one of the big conferences like AGU or EGU. Search the program for people doing things that sound interesting and accessible, try to meet them, ask them if they're hiring and would consider a physicist. (Do this soon, since they may not be hiring right away.) The main problem is that a physicist will usually be at a disadvantage unless they have a technical skill or other experience that is rare in the normal candidate pool. In my case that was Monte Carlo. Without a particular applied skill, I don't know ... you'd probably have to hunt for someone doing very mathematical things using a branch of math that you know, but wouldn't be covered in a standard atmospheric sciences or other geoscience program. There is, of course, a "lack of positions and overabundance of candidates" in other academic fields, such as climate change. But climate science is at least a bigger field than HEP theory. I can't say much about non-academic employment in climate change, since I don't have experience with that ... and I don't know if there is much employment outside academia, other than in government. Energy engineering, on the other hand, has more potential for private sector employment. It might be more fulfilling for someone interested in helping to solve global problems, as well. There will always be a demand to improve energy technologies regardless of whether we have the political will to address climate change.
• Options
2.
edited July 2011

There are a couple of things that come mind.

Firstly, as a current student at a university you have greater access to all its facilities, including journal libraries (not as big a thing now with electronic publishing), can attend any group's seminars with less risk of problems, will probably be able to have a "quick chat" with someone than otherwise, etc. So I'd recommend trying over the coming year to get a feel for what the actual work in a given field actually consists of, in order to see if it fits what you'd like to do.

The other thing is that in terms of "Science with a capital S", the analysis side of things probably does have the lion's share of the jobs. If you're interested in using maths, modelling, experiments then there are probably a lot of non-academic jobs looking at solutions (eg, organising more efficient mass transport, etc) that might be equally satisfying.

Comment Source:There are a couple of things that come mind. Firstly, as a current student at a university you have greater access to all its facilities, including journal libraries (not as big a thing now with electronic publishing), can attend any group's seminars with less risk of problems, will probably be able to have a "quick chat" with someone than otherwise, etc. So I'd recommend trying over the coming year to get a feel for what the actual work in a given field actually consists of, in order to see if it fits what you'd like to do. The other thing is that in terms of "Science with a capital S", the analysis side of things probably does have the lion's share of the jobs. If you're interested in using maths, modelling, experiments then there are probably a lot of non-academic jobs looking at solutions (eg, organising more efficient mass transport, etc) that might be equally satisfying.
• Options
3.

I would also recommend participating actively in online forums and not merely reading them. There is no shortage of active climate-related forums.

Face to face is always best, but sometimes starting out with online acquaintances can lead to face to face meetings, social gatherings, etc.

I got my first break switching from physics to finance through a friend I met in an online quant finance community. The online forum would occasionally arrange informal gatherings for drinks, etc. It was a great chance to get to know people.

I don't know about climate science, but in quant finance, many of the people in positions to hire you are active participants in these online forums. Showing a sincere interest and active participation could lead to opportunities.

Luck is where hard work meets opportunity.

Comment Source:I would also recommend participating actively in online forums and not merely reading them. There is no shortage of active climate-related forums. Face to face is always best, but sometimes starting out with online acquaintances can lead to face to face meetings, social gatherings, etc. I got my first break switching from physics to finance through a friend I met in an online quant finance community. The online forum would occasionally arrange informal gatherings for drinks, etc. It was a great chance to get to know people. I don't know about climate science, but in quant finance, many of the people in positions to hire you are active participants in these online forums. Showing a sincere interest and active participation could lead to opportunities. _Luck is where hard work meets opportunity._
• Options
4.

After my PhD, I joined the UK Meteorological Office. Perhaps you could explore job possibilities in your national weather service. This would give you the background needed to then apply for more academic jobs, if this is what you wanted.

Comment Source:Tim Palmer was so kind to write me a short reply when I asked him about research in atmospheric science, he answered: > After my PhD, I joined the UK Meteorological Office. Perhaps you could explore job possibilities in your national weather service. This would give you the background needed to then apply for more academic jobs, if this is what you wanted.
• Options
5.

Btw:

I'm scared of ending my career in a high school instead of contributing scientifically to one of our urgent problems.

I think high school has a great potential to contribute to the understanding of the urgent problems because as a teacher it may be possible to make students more aware - without indoctrination of course.

Though I should add this is probably more a theoretical comment, practically it may not really work out easily...

Comment Source:Btw: > I'm scared of ending my career in a high school instead of contributing scientifically to one of our urgent problems. I think high school has a great potential to contribute to the understanding of the *urgent problems* because as a teacher it may be possible to make students more aware - without indoctrination of course. Though I should add this is probably more a theoretical comment, practically it may not really work out easily...
• Options
6.
edited July 2011

Thanks for all the responses! I passed them on to person who emailed me with the original question. Since he wants to join the forum I see no reason to keep his name secret - he's Sam Edwards. And here's what he said:

Wow, thanks John! I was already very grateful for your considered response, and wanted to take some time to read more and get back to you. Lattice 2011 has temporarily brought my life to a halt though!

The forum looks like a great tool. When I'm home (in Germany because I moved w/my supervisor), I'll start emailing researchers from all over the place. I'll use the forum to keep everybody updated on what comes from this.

I think he's based in Darmstadt.

Comment Source:Thanks for all the responses! I passed them on to person who emailed me with the original question. Since he wants to join the forum I see no reason to keep his name secret - he's Sam Edwards. And here's what he said: > Wow, thanks John! I was already very grateful for your considered response, and wanted to take some time to read more and get back to you. Lattice 2011 has temporarily brought my life to a halt though! > The forum looks like a great tool. When I'm home (in Germany because I moved w/my supervisor), I'll start emailing researchers from all over the place. I'll use the forum to keep everybody updated on what comes from this. I think he's based in Darmstadt.
• Options
7.
Hello everyone,

My apologies for the late response! I was travelling around without the internet after the lattice conference, but I'm back in Germany now. Thanks again to John for posting my mail on here and to everyone who responded.

Since I'm in lattice field theory, I have experience with Monte Carlo simulations and some statistical analysis. Hopefully that helps at least a little. Unfortunately, however, our main code is in Fortran. My understanding is that I should dabble in C/C++ if I want my programming skills to be considered useful.

Some background on how I got here -
I grew up in Adelaide, Australia. After highschool I had the highest university entrance ranking (0.05 percentile) and began an engineering degree at the University of Adelaide with a full scholarship. But I was seduced by quantum mechanics and switched to a theoretical physics degree. I also began my PhD in Adelaide with another nice scholarship. When my supervisor returned to Germany, I transferred to TU Darmstadt.

Along the way I became rather tunnel visioned and thought that I'd be one of the few that make it in HEP. Now that I've met so many excellent physicists (and their families!) who are still waiting for a permanent position, I'm no longer so delusional. One of the big issues for me is that I'm Australian. Getting a permanent academic position is one thing. Getting one in a small country like Australia is something else. I want to get back there eventually!

The general message that I'm getting so far is that I need to be active in making contacts. Face to face meets with German professors might be daunting, but I'll start seeing what is going on at the university here. If I were in Australia right now I would go door-to-door knocking on campus. For now, I will have to make do with emails and phone calls to the southern hemisphere.

As for teaching - that is always an option. My fiancee is a teacher in fact. And absolutely, you have a great chance to influence the next generation of workers. I can't say that I will be more useful a a scientist than as a teacher...it's more of a selfish motivation that I would rather work directly in science than teach it!

I would like to report back on people advise me as I find out more about changing fields. Are double-posts allowed in this respect?

Sam
Comment Source:Hello everyone, My apologies for the late response! I was travelling around without the internet after the lattice conference, but I'm back in Germany now. Thanks again to John for posting my mail on here and to everyone who responded. Since I'm in lattice field theory, I have experience with Monte Carlo simulations and some statistical analysis. Hopefully that helps at least a little. Unfortunately, however, our main code is in Fortran. My understanding is that I should dabble in C/C++ if I want my programming skills to be considered useful. Some background on how I got here - I grew up in Adelaide, Australia. After highschool I had the highest university entrance ranking (0.05 percentile) and began an engineering degree at the University of Adelaide with a full scholarship. But I was seduced by quantum mechanics and switched to a theoretical physics degree. I also began my PhD in Adelaide with another nice scholarship. When my supervisor returned to Germany, I transferred to TU Darmstadt. Along the way I became rather tunnel visioned and thought that I'd be one of the few that make it in HEP. Now that I've met so many excellent physicists (and their families!) who are still waiting for a permanent position, I'm no longer so delusional. One of the big issues for me is that I'm Australian. Getting a permanent academic position is one thing. Getting one in a small country like Australia is something else. I want to get back there eventually! The general message that I'm getting so far is that I need to be active in making contacts. Face to face meets with German professors might be daunting, but I'll start seeing what is going on at the university here. If I were in Australia right now I would go door-to-door knocking on campus. For now, I will have to make do with emails and phone calls to the southern hemisphere. As for teaching - that is always an option. My fiancee is a teacher in fact. And absolutely, you have a great chance to influence the next generation of workers. I can't say that I will be more useful a a scientist than as a teacher...it's more of a selfish motivation that I would rather work directly in science than teach it! I would like to report back on people advise me as I find out more about changing fields. Are double-posts allowed in this respect? Sam
• Options
8.

If you want to use statistics and MCMC as your entry into another field, as I did, then skill at inference can be useful. (My speciality is Bayesian parameter estimation of nonlinear models, as applied to calibrating climate model parameters to data and propagating calibration parameter uncertainty into predictions. That involves a lot of MCMC and is the main application of MCMC to climate that I've seen.) I can't say that it's a huge subfield of climate science, though.

Other areas of climate science that involve statistics include analyzing historical data for trends and patterns of variability (the traditional job of climatologists), paleo reconstructions of past climates, and processing and calculating error bars for remote sensing and other data sets.

In climate science FORTRAN is a plus, since most complex climate models are written in FORTRAN. (Some simple models are written in Matlab.) I do my statistics in R. I don't use C much in my work, but there are of course many fields where it's helpful.

If you're in Germany, there are good climate programs at Hamburg (including the MPI for Meteorology) and at Potsdam (including the PIK research center). I get the feeling that German programs might be a little more open to physicists than those in some other countries - they often seem to have a mathematical, theoretical bent. In Australia, the University of New South Wales comes to mind, and also CSIRO.

My advice has been climate-oriented since that's what I know. As I suggested above, there might be more jobs in other fields, like energy engineering, and as David suggested above, there are more jobs in industry if you get out of pure science. But I can't help you much there. I guess for physicists there is always the general "quant" route in finance, although you can find an environmental spin on that in companies that insure against weather disasters and other natural hazards. Search job boards with keywords that include your transferrable technical skills (like Monte Carlo) and see if that suggests any other career paths to you.

Since the purpose of the Azimuth Forum is to discuss things, I don't think anyone would object if you came back to discuss this further. :)

Comment Source:If you want to use statistics and MCMC as your entry into another field, as I did, then skill at inference can be useful. (My speciality is Bayesian parameter estimation of nonlinear models, as applied to calibrating climate model parameters to data and propagating calibration parameter uncertainty into predictions. That involves a lot of MCMC and is the main application of MCMC to climate that I've seen.) I can't say that it's a huge subfield of climate science, though. Other areas of climate science that involve statistics include analyzing historical data for trends and patterns of variability (the traditional job of climatologists), paleo reconstructions of past climates, and processing and calculating error bars for remote sensing and other data sets. In climate science FORTRAN is a plus, since most complex climate models are written in FORTRAN. (Some simple models are written in Matlab.) I do my statistics in R. I don't use C much in my work, but there are of course many fields where it's helpful. If you're in Germany, there are good climate programs at Hamburg (including the MPI for Meteorology) and at Potsdam (including the PIK research center). I get the feeling that German programs might be a little more open to physicists than those in some other countries - they often seem to have a mathematical, theoretical bent. In Australia, the University of New South Wales comes to mind, and also CSIRO. My advice has been climate-oriented since that's what I know. As I suggested above, there might be more jobs in other fields, like energy engineering, and as David suggested above, there are more jobs in industry if you get out of pure science. But I can't help you much there. I guess for physicists there is always the general "quant" route in finance, although you can find an environmental spin on that in companies that insure against weather disasters and other natural hazards. Search job boards with keywords that include your transferrable technical skills (like Monte Carlo) and see if that suggests any other career paths to you. Since the purpose of the Azimuth Forum is to discuss things, I don't think anyone would object if you came back to discuss this further. :)
• Options
9.

Unfortunately, however, our main code is in Fortran.

Actually I think that may sometimes be considered as a plus.

By the way, if you would be interested in jobs in meteorological fields, this email list may be useful:

http://www.lists.rdg.ac.uk/mailman/listinfo/met-jobs

Comment Source:> Unfortunately, however, our main code is in Fortran. Actually I think that may sometimes be considered as a plus. By the way, if you would be interested in jobs in meteorological fields, this email list may be useful: [http://www.lists.rdg.ac.uk/mailman/listinfo/met-jobs](http://www.lists.rdg.ac.uk/mailman/listinfo/met-jobs)
• Options
10.

On that note, if you'd consider jobs in the U.S., you can look at AGU Careers, mostly for postdocs and faculty positions, or the AMS job board (I think you have to be a member to see the most recent postings).

Comment Source:On that note, if you'd consider jobs in the U.S., you can look at <a href="http://careers.agu.org/jobs">AGU Careers</a>, mostly for postdocs and faculty positions, or the <a href="http://careercenter.ametsoc.org/c/search_results.cfm?site_id=421">AMS job board</a> (I think you have to be a member to see the most recent postings).
• Options
11.

Sam wrote:

My understanding is that I should dabble in C/C++ if I want my programming skills to be considered useful.

That depends. Most companies that earn their money by producing software won't hire you, because you played around with C or C++. In fact, the company that I work for won't invite physicists to job interviews at all, and hasn't for years, because there are enough people with a degree in computer science available. If such a company hires a physicist, then people expect that he will have to learn everything from scratch anyway. (I did not know the meaning of "polymorphism", for example, which led the manager who interviewed me to dismiss my programming skills entirely, despite the fact that I had programmed numerical algorithms in C for a year.)

But, in any case, C and C++ are the foundations of the most prominent languages today that run in virtual machines, Java and C#. So, FORTRAN is a little bit like a dying language that is still spoken on some isolated islands in the Pacific Ocean, and will be known there for quite some time, while C and C++ are a little bit like Latin and Italian: Used today mainly for specific tasks like hardware drivers, where their modern cousins Java and C# cannot be used because they are hardware independent. But close enough to modern languages that knowing them is a considerable advantage.

Comment Source:Sam wrote: <blockquote> <p> My understanding is that I should dabble in C/C++ if I want my programming skills to be considered useful. </p> </blockquote> That depends. Most companies that earn their money by producing software won't hire you, because you played around with C or C++. In fact, the company that I work for won't invite physicists to job interviews at all, and hasn't for years, because there are enough people with a degree in computer science available. If such a company hires a physicist, then people expect that he will have to learn everything from scratch anyway. (I did not know the meaning of "polymorphism", for example, which led the manager who interviewed me to dismiss my programming skills entirely, despite the fact that I had programmed numerical algorithms in C for a year.) But, in any case, C and C++ are the foundations of the most prominent languages today that run in virtual machines, Java and C#. So, FORTRAN is a little bit like a dying language that is still spoken on some isolated islands in the Pacific Ocean, and will be known there for quite some time, while C and C++ are a little bit like Latin and Italian: Used today mainly for specific tasks like hardware drivers, where their modern cousins Java and C# cannot be used because they are hardware independent. But close enough to modern languages that knowing them is a considerable advantage.
• Options
12.

I can't help but comment on the language analogy. I'd argue that the situation is that languages are optimsed for different tasks and to whilst they may be pressed into use outside their "natural realm", particularly when trying to avoid a system using more than one language, it's not like we're progressing to one "uber-langugage" that will displace everything. (Although looking at the new C++0x standard one starts to wonder what'll happen after the next couple of standards versions...) In fact, although I have no numbers to back this up, it wouldn't suprise me if there are more working programmers using Fortran than there have been at any point in time, it's just that as the things we use computers for has expanded vastly the proportion of tasks for which Fortran is best suited is becoming an ever lower percentage.

I think it might help Sam prospects to spend some time trying to use some other programming language for some tasks enough to learn not just superficial syntax differences but also how languages are often built around patterns/idioms that would never be sensible in other languages. Seeing this might help to see more of the general design options, which is useful for both discussing in interviews and when working. But my experience when a job advert mentions some specific language it means one of two things:

1. Knowing the kind of fundamental ideas is a great help, but lack of fully detailed knowledge will be accepted because of other qualities, eg, mathematical knowledge, research experience, etc.

2. There's an existing software system/technology where they need someone working on it will full efficiency very quickly. In general you're very unlikely to get those kind of jobs unless you've got been working intensively with the language for years already. (I've had job interviews for jobs with languages that I've experimented with and thus had a middling knowledge of and it's been clear that a much higher level was wanted.)

So I wouldn't worry about trying to pick a different computer language based on becoming an expert in it, but rather pick one or maybe two languages and try and get a feeling for how the structure systems and programs and natural idioms differ from what you're used to from Fortran.

Comment Source:I can't help but comment on the language analogy. I'd argue that the situation is that languages are optimsed for different tasks and to whilst they may be pressed into use outside their "natural realm", particularly when trying to avoid a system using more than one language, it's not like we're progressing to one "uber-langugage" that will displace everything. (Although looking at the new C++0x standard one starts to wonder what'll happen after the next couple of standards versions...) In fact, although I have no numbers to back this up, it wouldn't suprise me if there are more working programmers using Fortran than there have been at any point in time, it's just that as the things we use computers for has expanded vastly the proportion of tasks for which Fortran is best suited is becoming an ever lower percentage. I think it might help Sam prospects to spend some time trying to use some other programming language for some tasks enough to learn not just superficial syntax differences but also how languages are often built around patterns/idioms that would never be sensible in other languages. Seeing this might help to see more of the general design options, which is useful for both discussing in interviews and when working. But my experience when a job advert mentions some specific language it means one of two things: 1. Knowing the kind of fundamental ideas is a great help, but lack of fully detailed knowledge will be accepted because of other qualities, eg, mathematical knowledge, research experience, etc. 2. There's an existing software system/technology where they need someone working on it will full efficiency very quickly. In general you're very unlikely to get those kind of jobs unless you've got been working intensively with the language for years already. (I've had job interviews for jobs with languages that I've experimented with and thus had a middling knowledge of and it's been clear that a much higher level was wanted.) So I wouldn't worry about trying to pick a different computer language based on becoming an expert in it, but rather pick one or maybe two languages and try and get a feeling for how the structure systems and programs and natural idioms differ from what you're used to from Fortran.
• Options
13.

David wrote:

I'd argue that the situation is that languages are optimsed for different tasks and to whilst they may be pressed into use outside their "natural realm", particularly when trying to avoid a system using more than one language, it's not like we're progressing to one "uber-langugage" that will displace everything.

Right,

• C was designed for programming operating systems and is therefore very good at accessing system resources on a low abstraction level,

• C++ was designed to incorporate object oriented programming into C, which is a necessity today for structuring large software systems,

• Java was designed to be device independent and to have automatic memory management, therefore abstracting a lot of low level resource management away.

• C# is Microsofts Java.

Since all numerical programming that is not done in FORTRAN seems to be done in C++ in academia, this seems to be the language of choice to learn. If someone looks for a job in the software industry, I'd roughly estimate that there are

• tens of jobs that require FORTRAN, if any,

• thousands of jobs that require C++ (all kinds of hardware programming like embedded microprocessors),

• millions of jobs that require Java and JEE or C# and .NET.

So there is not much of a choice in this regard, but that is relevant for computer scientists who prepare to get a job as a programmer, not for physicists in academia.

BTW: A lot of pure programming jobs is being outsourced to India today, which is a process that is still on its way, far from being over. It won't be long before I, too, stop programming and start explaining what to do to collegues all over the world instead (well, mainly Poland and India for starters). Is it the same in the UK?

Comment Source:David wrote: <blockquote> <p> I'd argue that the situation is that languages are optimsed for different tasks and to whilst they may be pressed into use outside their "natural realm", particularly when trying to avoid a system using more than one language, it's not like we're progressing to one "uber-langugage" that will displace everything. </p> </blockquote> Right, - C was designed for programming operating systems and is therefore very good at accessing system resources on a low abstraction level, - C++ was designed to incorporate object oriented programming into C, which is a necessity today for structuring large software systems, - Java was designed to be device independent and to have automatic memory management, therefore abstracting a lot of low level resource management away. - C# is Microsofts Java. Since all numerical programming that is not done in FORTRAN seems to be done in C++ in academia, this seems to be the language of choice to learn. If someone looks for a job in the software industry, I'd roughly estimate that there are * tens of jobs that require FORTRAN, if any, * thousands of jobs that require C++ (all kinds of hardware programming like embedded microprocessors), * millions of jobs that require Java and JEE or C# and .NET. So there is not much of a choice in this regard, but that is relevant for computer scientists who prepare to get a job as a programmer, not for physicists in academia. BTW: A lot of pure programming jobs is being outsourced to India today, which is a process that is still on its way, far from being over. It won't be long before I, too, stop programming and start explaining what to do to collegues all over the world instead (well, mainly Poland and India for starters). Is it the same in the UK?
• Options
14.
edited July 2011

I wouldn't disagree with what you've said, just point out there's additional dimensions. It's certainly the case that the jobs probably come in that rough magnitudes, and there's additional languages like PHP/Ruby on Rails, or even Perl and Python, which might have other preferred task domains. However, it's always worth bearing in mind that there's not much point choosing a language with lots of job openings if those kind of jobs require other skills/attributes you don't have. I'm imagining that Sam is probably not aiming at, nor would enjoy, the kinds of job for which Java is a strong prerequisite.

Likewise, there are various companies that use various languages for various reasons. For example, in the mathematical finance industry there's a lot of code written in various functional or APL-style languages, partly because the math-heavy recruits like that kind of thing and partly because after a while of that they companies have got significant investments in codebases in those languages. Then recruits move companies and pass the language culture along with them. I don't think those languages are going to expand beyond their niche, but neither are they in danger of going extinct. In general I think it's more viable for interviews to try and cultivate a broad knowledge of the different ways different types of language work than try and become an expert in a particular different language.

Regarding outsourcing, I've certainly seen, and been involved with, companies that do that in the UK. However, I've generally been involved with companies with heavy duty IP that they want to control, so the stuff that they've outsourced has been stuff like GUIs and other stuff that aren't my area of expertise anyway. However, it may only be a matter of time, particularly since in the case of China/India they're rapidly building a middle class that will be consumers of the end product as much as us, so it'll be more 50/50 whether it's us or them doing the programming that counts as outsourcing ;-S .

Comment Source:I wouldn't disagree with what you've said, just point out there's additional dimensions. It's certainly the case that the jobs probably come in that rough magnitudes, and there's additional languages like PHP/Ruby on Rails, or even Perl and Python, which might have other preferred task domains. However, it's always worth bearing in mind that there's not much point choosing a language with lots of job openings if those kind of jobs require other skills/attributes you don't have. I'm imagining that Sam is probably not aiming at, nor would enjoy, the kinds of job for which Java is a strong prerequisite. Likewise, there are various companies that use various languages for various reasons. For example, in the mathematical finance industry there's a lot of code written in various functional or APL-style languages, partly because the math-heavy recruits like that kind of thing and partly because after a while of that they companies have got significant investments in codebases in those languages. Then recruits move companies and pass the language culture along with them. I don't think those languages are going to expand beyond their niche, but neither are they in danger of going extinct. In general I think it's more viable for interviews to try and cultivate a broad knowledge of the different ways different types of language work than try and become an expert in a particular different language. Regarding outsourcing, I've certainly seen, and been involved with, companies that do that in the UK. However, I've generally been involved with companies with heavy duty IP that they want to control, so the stuff that they've outsourced has been stuff like GUIs and other stuff that aren't my area of expertise anyway. However, it may only be a matter of time, particularly since in the case of China/India they're rapidly building a middle class that will be consumers of the end product as much as us, so it'll be more 50/50 whether it's us or them doing the programming that counts as outsourcing ;-S .
• Options
15.
edited July 2011

I'm glad you guys are helping Sam... much more than I could!

A minor point of English. If I read this sentence:

Most companies that earn their money by producing software won't hire you, because you played around with C or C++.

I would think it meant:

Since you played around with C or C++, most companies that earn their money by producing software won't hire you.

In other words: they'll say "What? You played around with C or C++? Then we won't hire you!"

But I don't think that's what Tim actually meant! I think he meant

Most companies that earn their money by producing software will not hire you merely because you played around with C or C++: that's not enough.

I assume this was obvious anyway.... I'm just interested in the subtleties of English grammar.

Most companies that earn their money by producing software won't hire you because you played around with C or C++.

I think it would mean what he wanted to mean. Removing the comma changes the meaning significantly, I think. However, it's dangerous to write a sentence whose meaning changes depending on the presence or absence of a comma.

Comment Source:I'm glad you guys are helping Sam... much more than I could! A minor point of English. If I read this sentence: > Most companies that earn their money by producing software won't hire you, because you played around with C or C++. I would think it meant: > Since you played around with C or C++, most companies that earn their money by producing software won't hire you. In other words: they'll say "What? You played around with C or C++? Then we won't hire you!" But I don't think that's what Tim actually meant! I think he meant > Most companies that earn their money by producing software will not hire you merely because you played around with C or C++: that's not enough. I assume this was obvious anyway.... I'm just interested in the subtleties of English grammar. <img src = "http://math.ucr.edu/home/baez/emoticons/redface.gif" alt = ""/> If Tim had said > Most companies that earn their money by producing software won't hire you because you played around with C or C++. I think it would mean what he wanted to mean. Removing the comma changes the meaning significantly, I think. However, it's dangerous to write a sentence whose meaning changes depending on the presence or absence of a comma.
• Options
16.

Thanks!

Comment Source:Thanks! <img alt="doh!" src="http://math.ucr.edu/home/baez/emoticons/doh.gif" />
• Options
17.
100 apologies for my shamefully late response! I have a quasi-legitimate reason. My accommodation fell through and I've been scrambling to find a new apartment in Frankfurt to move into right away. Long time problems have been temporarily replaced by short term ones! Even so... my bad.

I've been pondering the discussion about programming languages. Coding has always been much more of a tool than a joy for me. I had to pick up some programming skills to obtain results for my PhD project, but it's rarely put a big smile on my face. I don't think that I would ever excel in a job that revolves too much around coding. I hope that David is right when he says that it may be more important to know about the different ways that various languages work, as opposed to being an expert.

It would be straightforward for me to pick up some C, for instance by writing some simple statistics or analysis programs. There are always new operators that I need to measure on my lattices! And I should have some basic understanding about CUDA and OpenCL in the next few months, because our group is porting some of the code to run on GPUs (the big thing in lattice field theory right now).

Following up on Nathan's suggestions about viable places to work in Germany or Australia. I have already contacted, for instance, the CSIRO, and received a fairly generic 'follow the job ads' response. I think that I will have a much better chance of making progress if I contact researchers directly and avoid falling into HR inboxes. If I'm able to cultivate some leads then I might be able to meet some people when I go home for Christmas.

Energy engineering is one area that could be extremely interesting. And given the amount of solar flux hitting Australia, there should be some decent job opportunities down under!
Comment Source:100 apologies for my shamefully late response! I have a quasi-legitimate reason. My accommodation fell through and I've been scrambling to find a new apartment in Frankfurt to move into right away. Long time problems have been temporarily replaced by short term ones! Even so... my bad. I've been pondering the discussion about programming languages. Coding has always been much more of a tool than a joy for me. I had to pick up some programming skills to obtain results for my PhD project, but it's rarely put a big smile on my face. I don't think that I would ever excel in a job that revolves too much around coding. I hope that David is right when he says that it may be more important to know about the different ways that various languages work, as opposed to being an expert. It would be straightforward for me to pick up some C, for instance by writing some simple statistics or analysis programs. There are always new operators that I need to measure on my lattices! And I should have some basic understanding about CUDA and OpenCL in the next few months, because our group is porting some of the code to run on GPUs (the big thing in lattice field theory right now). Following up on Nathan's suggestions about viable places to work in Germany or Australia. I have already contacted, for instance, the CSIRO, and received a fairly generic 'follow the job ads' response. I think that I will have a much better chance of making progress if I contact researchers directly and avoid falling into HR inboxes. If I'm able to cultivate some leads then I might be able to meet some people when I go home for Christmas. Energy engineering is one area that could be extremely interesting. And given the amount of solar flux hitting Australia, there should be some decent job opportunities down under!
• Options
18.

Good luck! Keep in touch...

Comment Source:Good luck! Keep in touch...