I look at the difference between a computer science major and physics major like the difference between an english major and a history major. The first has an in depth knowledge of writing & literature: its history, limitations, how it got to its present state. The later knows none of that, but has a lot to say about history and uses writing as a tool. I've rarely seen history majors worrying about competing with english majors for writing jobs. They bring something different, and valuable, to the table.
Being a physicist, you probably can't wax eloquently on the tradeoffs of functional v. object v. imperative programming styles. Or the subtle nuances between closures and Lisp and closures in Javascript. But that is Ok because you will use code to say something useful about the world around you.
Your physics training will help you do these things (and more) in the software world: identify patterns in large datasets; predict the evolution of a complex system; create models of real world processes; reason about how a black-box system might be working.
These skills are in demand. If you focus on these aspects from your physics training you should have no problem competing with the computer science majors.
BTW, I have a PhD in Physics. A little over 6 years ago I stopped doing physics and engineering full time and focused on what can best be described as computer science full time. I'm also an adjunct professor of Computer Science.
I received my PhD (Physics) in 1999 and went directly to industry. At that time I saw industry as a well paid post doc. My intention was to work a few years and then seek an academic position.
In 2001 I had an offer from a top engineering school in Canada to join their faculty. And I said no.
Academia attracted me with the promise of intellectual freedom -- the ability to work on what ever problems I wanted to. This is a lie. To be successful in Academia, one needs to pick a narrow field and become the biggest expert in the smallest space. Neils Bohr described this as knowing more and more about less an less until you know absolutely everything about nothing.
In Industry I can move around to whatever problems fascinate me most. I've worked in Optical Componetns, designing video games, and now what I call computational sociology on social networks. My pattern has been to work in a field of about five years until I've built up the expertise I desire to have, then move on to a completely different field.
For those recently dropping out of academia or considering dropping out, you know in your heart it is the right choice. Don't worry about what people in that little club think. A decade from now they will be looking at you. With envy because you are free to work on the most exciting and interesting problems while they are stuck in the same shrinking field for the last ten years.
I'm doing a Masters in theoretical physics and I've got to ask, is it common to first go work a few years before going into academia? It surprises me how little we are informed of these things.
Being locked in is my biggest fear for going for a PhD. I don't want to spend the rest of my life on a single topic, perhaps I don't even want to stay in theoretical physics.
Most graduate selection committees will look favorably on a couple of years industrial experience between doing a Masters and doing a PhD. This is irrespective if you continue in physics are switch to a more applied discipline such as engineering. Following the 2008 recession, many people who lost their jobs went back to school to pursue masters and PhD degrees, so this is now quite common.
My opinion is if you are afraid of being locked in, then industry is better place. If you are willing to trade job stability and short term income to not be locked in, then learning how to start and build your own company around your ideas is the best way to retain flexibility.
I did a masters equivalent degree in theoretical physics, now I'm doing a PhD in computer graphics. A coworker who did his PhD in theoretical physics is now doing a post doc in mechatronic. Many people might specialize more and more, but if you don't like that, no one stops you from changing your field.
Giving graceful criticism is as hard as gracefully accepting criticism. That's what I liked about this article -- decoupling the person from the code on both sides of the equation. My favorite line is "Criticize the code, not the developer".
Some of the best advice I've seen on leadership. Anyone looking to lead others in high risk activities (like start ups) can learn from this. Key lessons I took away (in addition to the title): Always keep your promise and Everyone has a story.
You are absolutely right. I'm not going to defend what I did, but the question deserves an answer. I was caught up in my own emotions. Tom not showing up for the meeting felt like personal attack against me. That he was flaunting my "authority", shoving it in my face that he didn't need to do what I asked.
With a bit more maturity and hindsight I know that I should have waited until those feelings had passed before doing anything. That's another lesson learned -- never act when in the grip of your own emotions.
Actually tried the bouldering angle. The underwriter had even less experience with bouldering than with rock climbing. When I explained it -- no ropes, no gear, just a crash pad -- the underwriter freaked and wouldn't consider insurance even at a higher premin!