TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

How useful is a Physics degree?

21 点作者 9k9大约 13 年前
I will graduate with a physics degree in a few years, since starting I've become more and more interested in programming.<p>My question is will I be able to compete with Computer Science graduates, assuming I know the relevant programming languages and have some experience?

31 条评论

mechanical_fish大约 13 年前
You don't have to compete with CS grads. There aren't enough of them. (Even if we assume that they are all brilliant and charming and competent and productive and interested in working on what the customers need and will pay for... which we do, of course. ;)<p>Moreover, much of what needs to be done with programming doesn't require CS knowledge as such, but rather a lot of ancillary skills that aren't taught in any school; some of them are barely even mentioned in books. There you and the CS majors start out tied.<p>Conspicuous among that set of skills are business skills: Not MBA stuff, but things like "here is a potential customer: what are their actual problems, can I help solve them, can I prove that to myself, can I prove that to them using words they will understand and like, will they really pay me?" So much of your work will be about these things, in programming <i>or</i> in physics, and CS training doesn't teach them any more than stat mech class does.
Mz大约 13 年前
Minor quibbling point, not necessarily relevant to your question: The point of a college education is not just job skills per se. If you want skills for a specific job, you typically are sent for <i>training</i> rather than education. My sister, who has vastly superior job hunting skills to mine, always said that unless you want to be something like a doctor or lawyer, your major is largely irrelevant but having a degree (any degree) is important to get your foot in the door.<p>I will close with one of my favorite anecdotes: Michael Crichton wanted to be a writer. His family told him he was crazy, you cannot support yourself that way and encouraged him to be a doctor. So he went to medical school. And his first book was published before he graduated, so he never did work as a doctor. Still, his overwhelmingly successful books and movies are all the richer due to his educational background. <i>Jurassic Park</i> and other works would not be so compelling if, like so many authors, he had some throwaway explanation like "er...radiation! That's it!"<p>Not intended as advice, which is nearly "against my religion". Intended only as food for thought.<p>Best of luck.
mattst88大约 13 年前
I signed up for this comment.<p>I graduated from a small liberal arts school with a degree in Physics (and a minor in CS). I actually would have done Computer Science, but the university's program didn't teach the things I was interested in -- but let me be clear: computers were my primary passion.<p>I got a software engineering job offer after graduation, but I decided to go to grad school instead and I'm now finishing a masters in Computer Science. When I started, I was worried that not having a BS in Computer Science would handicap me compared to other students, but it didn't seem to (or at least grad school is hard enough for everyone that I didn't stand out).<p>My work and my interests are in Free Software, and what I'm finding out in applying for jobs is that companies (especially those that deal with Free Software) care very much about your contributions to Free Software. It's obviously easier to get a handle on someone's skills if their entire portfolio of work is available in public git repositories.<p>In working with different projects, I've also gotten to know developers who work on the teams that I'm applying for jobs on. I feel like this gives an extra advantage that's not easily available in other fields.<p>The summary of this is that the degree doesn't matter so much. What matters (at least in the world of Free Software) is what have you contributed and who have you worked with.<p>Another data point: a number of really good software developers at Red Hat have non-computer degrees or no degrees at all.<p>Owen Taylor (GNOME) - Physics<p>Jerome Glisse (AMD driver) - PhD in Biology<p>Matthew Garret (Kernel, power management) - PhD in Biology<p>Ben Skeggs (Nouveau driver) - no degree
Maro大约 13 年前
Disclaimer: I have a degrees in both CS and Physics.<p>If you learn C/C++ programming, you'll be able to get a job at an investment bank and won't have to worry about money. If that's something that attracts you, study (and write code) in a field where Monte Carlo simulations are used, like lattice gauge theory, which is a lot of fun and will help you understand QFTs. Here's some links to get started:<p><a href="http://latticeguy.net/mypubs/pubs.html" rel="nofollow">http://latticeguy.net/mypubs/pubs.html</a><p>Some C code:<p><a href="http://thy.phy.bnl.gov/~creutz/z2/" rel="nofollow">http://thy.phy.bnl.gov/~creutz/z2/</a><p>If you want to do something like a web startup and learn Ruby on Rails, then Physics won't help you much. You'll just be on equal footing with CS guys, if you put in the time.<p>PS: Most physicist I know are absolutely terrible software engineers. If you're going to write larger programs, please read some books about how to write larger programs!
kentonwhite大约 13 年前
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 &#38; 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.<p>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.<p>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.<p>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.<p>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.
fonzie大约 13 年前
I'm about to graduate with a degree in Physics. While the degree itself is brilliant I don't really think it is incredibly helpful in the startup world.<p>You do learn C, Mathematica, MatLab, etc, which means you will at least know what is going on when you look at code, but by itself this is not enough.<p>Something that has definitely helped me was taking a Microprocessors course, where you learn Assembly, which meant really understanding computational processes like memory, power, speed. I was lucky that we were able to create a standalone project that really helped solidify all the theoretical ideas. If If you can do a course like this, I highly recommend it.<p>Unless you spend as much time auditing CS courses as you do in Physics lectures (and really have the commitment to learn both), you will not leave with the same knowledge as a CS student, but if you put in the work, you can be competent.<p>I really have only one piece of advice: If you want to build applications once you graduate, start building now. It doesn't matter if they aren't brilliant or even good for that matter; build. It doesn't matter if they don't look incredible; build. It doesn't matter what languages or frameworks you learn; build. If you do this, with time, you will learn that you can learn most things relatively quickly and be competent in whatever it is you decide to do after graduating, because you spent time hammering away, grinding and really learning.
codepoet大约 13 年前
Sounds very familiar ;)<p>I have an econophysics degree, work in IT and can easily compete with CS graduates. Started my first job as a software developer and now I'm the head of my own development team and also responsible for hiring.<p>As a physicist you are a problem solver: You will learn how to learn, how to tackle complex challenges in a systematic way and analyze experiments. These skills are very useful. If your physics and math knowledge helps you later on depends on your future job. My own work does not involve physics, nor any non-trivial math.<p>The biggest hurdle will be getting your first job in IT: You have to show that you are as capable as a CS graduate. That's easier if you apply for jobs that don't focus on algorithms, for example systems programming. Though some companies will only hire CS graduates and miss the chance to get cross-domain knowledge...<p>So how to show the hiring manager that you are good at writing software? Write (open source) software, mention projects on your CV and also in your cover letter. I love to see links to github / bitbucket on a CV.<p>If you have passion for writing software, are willing to invest a huge amount of time and you know how to teach yourself then you can be become a great software developer.
usiegj00大约 13 年前
You're hired! :-)<p>Really tho--if you have a passion for CS, but studied Physics, you have the capacity to excel. I fell in love with the ordered-ness of computers and self-taught myself programming in my teens. I went to college and studied Physics knowing I would likely not continue as a career physicist. During college I found that between my basic programming knowledge and physics requirements I had covered a large portion of the CompSci major (except for the upper division classes). I tested out of some and then took the others to end up with CompSci + Physics degrees.<p>Since graduating, I've benefited from my CompSci degree in areas like data structures, runtime complexity and parsing--but the rest of my CompSci skills were self-taught before or afterwards ("the Internet" was not in my CompSci curriculum).<p>I believe I've benefited more from my Physics training. Specifically--the Socratic method of looking at root causes in a systematic and problem-simplifying manner. And I've never been daunted by a hard problem or one that needs theoretical analysis for an elegant solution.<p>Given all of the above, some of the best programmers I've met have no degrees--so passion and willingness to self-learn trump all.
lorenzofarris大约 13 年前
I have a PhD in physics. Most physicists cannot avoid doing some coding, and will tend to focus on simulations and numerical algorithms. Most physicists I know that have left the field are in the high-tech world. If you have successfully completed a physics degree, you have picked up a way of looking at the world, and you will have an attraction for simple, elegant solutions. If you are an experimental physicist (this distinction only comes into play if you work towards a PhD) you will develop an ability to deal effectively with the practicalities of limited resources and time. If you want to compete in getting a job, have some coding experience you can show, spend some time boning up on algorithms. Younger technical interviewers will focus on algorithms and whatever they are having a problem with at the moment. They are the ones you will have to convince. More experienced interviewers will be looking at how you think and solve problems, and a physicist won't usually have a problem with those.
polemic大约 13 年前
I'm a developer who studied Physics, and yes, you certainly can compete.<p>I did a few CS papers but I was frustrated by what I considered low level <i>practical</i> and overly complex <i>theoretcial</i> skills I was learning. That's fine - University should focus on the theoretical - but it doesn't always result in <i>employable</i> skill. Heck, it's possible to get a CS degree without doing that much actual programming.<p>In my opinion, Physics gives you useful thought processes and solid math skills. A physicist has to relate the real world to theoretical models, something that a programmer has to do every day. Also, many of my physics lab experiments entailed computer analysis of the results. You had to take real-world data and get useful information by programming something - something that not all CS majors seem to have to deal with.<p>You <i>will</i> have to prove yourself - but if you've been working on open source projects or have a portfolio of high quality work, that will count more than a CS degree for many employers.
short_circut大约 13 年前
I have a graduate physics degree and I am working on a second one. As far as I can tell so far you will be quite competitive with CS graduates, though you may have to start off at a lower position than some. The other thing is you will have to know exactly what kind of job to apply for and have skills specific to that area. No matter what I think you should have a good grasp of optimization and vectorization of algorithms as well as knowledge of parallell and massively parallell programming. The programming jobs that I have seen that want physicists tend to want them to make math do very complicated things very quickly. The other thing people want physicists for is to model complex systems. There is no shortage of people who want physicist for that. Sharpen your mathematical programmign skills. You don't necessarily need to be able to optimize for that but it will make you look better and earn you better references.
slickrick大约 13 年前
Going by your assumptions, you will be far ahead of the curve. the principles of physics and the mathematics that underpin it are skills you can take anywhere. Computer science students are generally not math illiterate, but a BS in physics will arm you with that ability to out gun any CS student.<p>I don't know what you want to do in life, but if you know physics, a few languages, and have rock solid higher level math skills then the sky is the limit. David Pines spoke at my sister's graduation and he changed my outlook on life, hence my praise for the field.<p>I reccomend reading "Forunte's Formula" by poundstone, Complexity The emerging science at the edge of order and chaos by waldrop. My life as a quant by dermann. Oh and And Ploya's "How to solve it". If that doesn't give you an idea of how valuable a legitimate BS in physics is then I'm afraid you cannot be helped.<p>CS degree or not what matters at the end of the day are your own abilities.
pmjordan大约 13 年前
I learned to program when I was quite young but was talked into studying physics at university by teachers and parents. I've never used the physics I learned there in my work as a programmer - the maths on the other hand has been very useful. I've never had a shortage of work: on the contrary, I've always had lots of opportunities to choose from. This has of course been conditional on actually being good at programming, and most CS degree programmes don't actually teach you that either. So if you want to be a programmer: practice!<p>By the way, your time at university and your degree will still be useful: use that time to make friends and work on projects with like-minded people, and generally have some fun. Use the degree to get past CV/resumé filters that screen for having a degree.
redsymbol大约 13 年前
Having a physics degree has really given me an unfair advantage as a software engineer.<p>You'll have to do some extra work (hint: if you haven't already, start coding in your spare time now, and endeavor to learn version control and unit testing). But the short answer is: yes, you will be able to compete.
advisedwang大约 13 年前
This may sound obvious, but it depends on how good you are. I graduated in Physics last summer, and am doing very well in a programming job. However many of my old colleagues, especially those who only learned to program during their degree, would not be a good fit for the job.<p>Ask yourself if you see programming, say, a web browser or a IMDb-like website an impossible feat. If so you will probably not enjoy it. If you see it as something that is eventually manageable (with a team and learning some new skills) then you will probably do very well.<p>I think physics provides all the analytical skills, it's just you don't want to have too much catching up to do before you are competative with other graduates.
dpdp_大约 13 年前
Change majors, do a second major, etc. "Assuming I know the relevant programming languages and have some experience" is a big assumption. Computer Science (or any science major) is very hard to pick up part time. For your first job you will be competing with CS grads. I bet it will be an eye opening experience for you since CS grads do get an unfair advantage in the industry. The chances are you will have to take a much less lucrative position and will be playing catch up for many years. Ask yourself - why go that route?<p>If you decided to do programming - do programming. Consider yourself lucky to have it figured out while you are still in school.
评论 #3904194 未加载
ique大约 13 年前
I am a Physics (specifically Engineering Physics) major who works with programming, and yes, you will definitely be able to compete.<p>Having studied math extensively, like function theory and a lot of linear algebra and combinatorics, you will be able to pick up on CS algorithms very fast. You might already have studied some without knowing it.<p>Physics is a broad subject that permeates the students brain with scientific thinking and teaches you how to understand stuff.<p>Of the 10-15 companies or so I've spoken to, they would all hire an Engineering Physics student for a CS position, given that they have an interest in programming and can show relevant basic skills in the field.
评论 #3904148 未加载
Create大约 13 年前
Not much: you will need to find a job after you get a degree. Which will most probably not be physics, so you might as well find it more useful to spend your student years on something that will give you more possibilities.<p><i>"How should we make it attractive for them [young people] to spend 5,6,7 years in our field, be satisfied, learn about excitement, but finally be qualified to find other possibilities?"</i> – H. Schopper<p>But you can also spend your student years working for others to be disposed of by policy and find that your most valuable young years were invested in something you will not be able to benefit from yourself.
jimmahoney大约 13 年前
The short answer is yes.<p>As several folks have pointed out, the real answer is that it depends more on you (what skills you've cultivated, what projects you've been involved in) than the degree itself. I have met a number of folks with physics degrees who are amazing at CS stuff.<p>I myself did a BS in math &#38; physics, a PhD in physics, and during all that time did lots of various sorts of computational data and modeling work. I now teach college level computer science.
mindcruzer大约 13 年前
I've been wondering this as well, except my degree is in medical science. I'm graduating in 4 months, but I like programming too much to continue working in a lab. I've been programming since I was 14, but I only feel like I've recently become good at it. Consistently seeing "Required: Computer Science Degree or equivalent" is discouraging. Hopefully these aren't stringent requirements.
michaelpinto大约 13 年前
If you really want to do something then why waste a "few years" doing something else? Honestly it doesn't matter if you're studying physics, programming or trying to invent the next slap chop -- what counts is that you have a passion for what you do and invest the time in that passion. Although be careful that your passion for programming is indeed that and not something else.
评论 #3905896 未加载
civilian大约 13 年前
I got a degree in Biochemistry. I hadn't taken _any_ programming classes when I graduated. My first biotech job had me learn some LabView and R. Over the next year I took a night class in python, and got my job from that.<p>So yeah. I highly recommend learning CS while you can! CS is a field where your ability to code is much more important than pieces of paper.
codeonfire大约 13 年前
The people that should be getting jobs are the ones developing software for four years before they graduate. The degree does not matter, the ability to do the job does. don't skimp on coding ability, as most interviewers can tell if you have been coding for four year or just in a few classes from a short code sample.
spullara大约 13 年前
Study a few books on algorithms before your first interviews so you don't get tripped up on a question about hash tables or red-black trees. I think Physics gives a programmer a unique perspective especially for debugging and optimization - something that is rarely taught.
joshbaptiste大约 13 年前
If you become a good programmer then you are good either way, but definitely any company that deals with software that relies heavily on physics (3D Gaming, animation, movie special effects etc..) you will have a competitive advantage with a physics degree.
trbecker大约 13 年前
One hint, some analytical models used in physics are very useful in finance. I have a friend doing his physics masters degree in analytical finance. It seems very promising for him.
alex_g大约 13 年前
There are will not be a shortage of Computer Science jobs for quite some time, but Computer Science is a lot more than just programming, as far as I understand.
leeny大约 13 年前
i do interviewing/hiring for a successful startup, and, historically, candidates with physics degrees have performed very well.<p>the one concrete piece of advice i'd have for you is in line with what most of the comments are saying: build stuff in your spare time, make sure the stuff you build is front and center on your resume, and get good at algorithms.
vaksel大约 13 年前
are you talking about competing on the job market or in YC application?<p>If the former, you'll need to show a bunch of examples of your work. So do a lot of projects that you can show(+the source code).<p>If you are talking about YC...once again skill beats paper. I know Octopart both founders were physicists...which learned to code on their own
rollypolly大约 13 年前
If you like games, and don't mind generally poor working conditions, you should look at the game industry.
rsanchez1大约 13 年前
Can go into game programming.