Where should the theory guys go get programming experience?


by CloudyTrees
Tags: experience, guys, programming, theory
CloudyTrees
CloudyTrees is offline
#19
Feb20-13, 01:22 PM
P: 17
Quote Quote by cgk View Post
OP, I think you might be gravely mistaken in your judgement about programming skills. These are practical skills, not something you just pick up a few months if you have never done this seriously before. Becoming a decent programmer takes at least a few *years* of doing this several hours per day! What you are looking for is equivalent to deciding to become a music producer because, well, a keyboard has only 88 keys and it can't be that hard to learn all of them. Or deciding to become a soccer star, because the rules are really quite simple.

You might want to have look into alternative fields of employment more suited to your skillset, or, alternatively, be prepared to go through some serious pain if you actually happen to land a job in programming.
Thanks for pointing that out (I really mean this), and I know that programming is something that's easy to "learn" but difficult to master. Similar things happen in theoretical cosmology too, where a lot of gotcha's hide in the painful calculations and we won't even think of them until we really get our hands dirty.

And I also know that I won't be happy if my jobs is just coding (I don't mean insult to anyone), so I am not looking for a pure programming job. However, reading a lot from the posts here and other boards, I know that the financial sector, one of the three that mostly likely to hire physicists, does expect us to mainly implement models with programs. I haven't read much about the situations in the oil industry but I guess it would be similar.

A little off topic. I think one of the most frustrating things for the theories guys, besides the transition that you pointed out, is that we hold the belief that we just need the chance to demonstrate our ability, and given that opportunity we believe we would just learn fast and perform well. However, getting that opportunity is very difficult in the real world, and the believes we have in our abilities might be just plain wrong, in HM's eyes. Staying in academia too long might have lead us too far away from reality.
Rika
Rika is offline
#20
Feb20-13, 03:58 PM
P: 148
Quote Quote by TomServo View Post
Game programming is my backup plan. :)
Maybe gamedev is more comfortable than academia but...how should I say this...

Gamedev is not a field that can be consider as "backup plan". Similar to academia - it's a field that you choose because of your passion (even if salary is not bad).

Programmers as well as artists can earn much more money with less effort in different fields and as someone said before - we all polish our skills for many years, several hours per day only to work in gamedev.

Gamedev is business but still - most of us are gamers and we want to work with people who share our passion.
jesse73
jesse73 is offline
#21
Feb20-13, 04:17 PM
P: 394
Quote Quote by cgk View Post
OP, I think you might be gravely mistaken in your judgement about programming skills. These are practical skills, not something you just pick up a few months if you have never done this seriously before. Becoming a decent programmer takes at least a few *years* of doing this several hours per day! What you are looking for is equivalent to deciding to become a music producer because, well, a keyboard has only 88 keys and it can't be that hard to learn all of them. Or deciding to become a soccer star, because the rules are really quite simple.

You might want to have look into alternative fields of employment more suited to your skillset, or, alternatively, be prepared to go through some serious pain if you actually happen to land a job in programming.
Those seem like they are not the greatest analogies because you dont have to be the soccer star/music producer equivalent to work as a programmer. It would be like saying you shouldnt work in physics unless you can be the "Lebron James" of physics.

Or thinking that if you dont work for Facebook or Google you arent a programmer.
meanrev
meanrev is offline
#22
Feb22-13, 01:45 AM
P: 115
1. Research. Almost all of my programming experience has come from self-learning for my research projects.

2. Join an open source project that you find meaningful and contribute. Or anything which requires you to review other people's codes very often.

3. Be a contributor at a Q&A board like Stack Overflow.

4. Competitions.

5. Traditional sources. Classes, books, online tutorials, online lectures.
jk
jk is offline
#23
Feb22-13, 08:35 AM
P: 141
Quote Quote by jesse73 View Post
Those seem like they are not the greatest analogies because you dont have to be the soccer star/music producer equivalent to work as a programmer. It would be like saying you shouldnt work in physics unless you can be the "Lebron James" of physics.

Or thinking that if you dont work for Facebook or Google you arent a programmer.
Every professional musician or soccer player has to spend years practicing their craft to be competent at it. The analogy was not too far off
TomServo
TomServo is offline
#24
Feb22-13, 09:33 AM
P: 169
You need a grounding in the fundamentals. Algorithm analysis, graphs, trees, recursion, pointers, layering, proving correctness of algorithms, etc. The more fundamentals the better.
jesse73
jesse73 is offline
#25
Feb22-13, 02:38 PM
P: 394
Quote Quote by jk View Post
Every professional musician or soccer player has to spend years practicing their craft to be competent at it. The analogy was not too far off
It depends on the employer and the role looking to be filled and that is why the analogy falls flat.

A position working on applying physics/math methods to finance is going to have different expectations on how much programming you are going to need to know coming in the door than a position looking for someone to do Kernel development. A position looking to speed up arbitrage algorithms is going to require a different level of programming competency than a position looking to build models to base the arbitrage from.
CloudyTrees
CloudyTrees is offline
#26
Feb22-13, 03:50 PM
P: 17
Quote Quote by meanrev View Post
1. Research. Almost all of my programming experience has come from self-learning for my research projects.

2. Join an open source project that you find meaningful and contribute. Or anything which requires you to review other people's codes very often.

3. Be a contributor at a Q&A board like Stack Overflow.

4. Competitions.

5. Traditional sources. Classes, books, online tutorials, online lectures.
Thank you for all these suggestions! Since I mainly do theoretical work in my research, I'd look into details on the stack overflow and open source projects.
InvalidID
InvalidID is offline
#27
Feb22-13, 03:58 PM
P: 79
I haven't read the thread, but I'm pretty sure there is a certification you can take that proves that you know how to program in a specific language. Similar to how you would need to be Comptia A+ certified in order to work as a computer technician.
meanrev
meanrev is offline
#28
Feb23-13, 05:11 PM
P: 115
Quote Quote by CloudyTrees View Post
Thank you for all these suggestions! Since I mainly do theoretical work in my research, I'd look into details on the stack overflow and open source projects.
You're welcome. Good luck on your journey!
NegativeDept
NegativeDept is offline
#29
Mar11-13, 03:08 AM
P: 135
Quote Quote by CloudyTrees View Post
As least our group doesn't. The only people that are using programs are all using Mathematica for checking analytical results.
I do that so often that it's like washing my hands or drinking water. (I also write a significant amount of code, but that's because a big chunk of my research uses an obscure numerical method for solving stochastic differential equations on manifolds.)

I was a theorist with minimal programming experience. Basically, I bought some books and wrote a lot of practice programs when my advisor was on sabbatical. I also picked up a lot of Mathematica, MATLAB, and SciPy from working with other theoretical and/or computational physicists. Consequently, I don't have any programming certificates or degrees on my CV. But I do have finished, working programs on my website, and they can be understood, and modified by a skilled programmer.

tl;dr. Short version: I learned programming the same way I learned physics. Ask for help and collaborate with people who (mostly) know what they're doing. When that doesn't work, teach yourself from textbooks and websites.
CloudyTrees
CloudyTrees is offline
#30
Mar11-13, 11:35 AM
P: 17
Short version: I learned programming the same way I learned physics. Ask for help and collaborate with people who (mostly) know what they're doing. When that doesn't work, teach yourself from textbooks and websites.
Thanks for the advice!


Register to reply

Related Discussions
Fortran tutorial for someone with no prior programming experience? Programming & Computer Science 7
How to indicate programming experience on a CV Academic Guidance 5
How to gain programming experience Academic Guidance 12
Getting programming experience Career Guidance 8
How many of you guys accept quantum theory? General Discussion 9