1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Necessities to switch to IT/Programming Career?

  1. Oct 27, 2014 #1

    I'm currently working as an actuary, but I am considering switching to a computer career of sorts. Let me preface first by saying that I do not intend to belittle or pigeonhole such a career by the way I speak about. For instance, it's kind of annoying when people talk of actuaries in the same manner they would for accountants or financial analysts. But it's primarily done for the same reason I may speak inappropriately toward IT/Programming careers--a lack of knowledge in their differences.

    I would like some advice from my standpoint. Personal back-story aside, I want a career that gives me decent working conditions. That is, 40-45 hours per week. I also would like to see a salary >$70K (please no snide comments if it isn't a possibility).

    Now, like I've said, I work as an actuarial analyst. I'll sort of say that I'm disillusioned with it as the pay and working conditions aren't as great as they said they are. As well, the industry isn't quite as stable as one is led to believe.

    My situation:
    I come from a mathematics background. Thus I'm great with math and logic, and I'm great with probability and statistics. However, I don't know much about programming and IT. I can learn programming fairly quickly. I know two languages: C and VBA (though this may be considered more of a stretch).

    So, I have two basic options:
    I can do an online school (I work full time and want to do this as fast as possible), or I can use a company which specializes in training for technical software such as programming. The problem with the latter is that it teaches basically up to a 2 semester course in a given programming language--so it isn't exactly computer science.

    What would you suggest? What aspects do I miss out on say if I learn a bunch of programming, but I don't take a full college course in either IT or Software Development?

    Thanks for all your help!
  2. jcsd
  3. Oct 27, 2014 #2
    I guess I should state that I currently have my mathematics bachelor's from the University close to where I live. So it's not that I only did an online college; my first degree was at a state university.
  4. Oct 27, 2014 #3
    I'm a PhD in math, trying to become a programmer or possibly an actuary or quant or anything else that comes my way, but mainly programmer. I'm not an expert on it, but since I've started down that path, I know something about it.

    I'm not sure it's necessary to pay money, at least at first. There is a lot of stuff you can teach yourself or find free courses and tutorials for online (try Coursera, Codecademy, MIT open courseware and there is a lot of stuff on youtube and elsewhere). If you need a more structured environment to get yourself to do the work, then maybe it's worth it (personally, I'm broke, so I don't have the option, but I think it's worth seeing how far you can get on your own at least for a little while). And eventually, you'll probably get to a point where it's harder to teach yourself.

    You should really try to do some of your own personal projects at some point. That's when you'll find that programming is actually hard. Kind of like how I used to think I was good at math, but then I had to do my PhD, and I found that I was really bad at huge self-directed projects. Same thing with programming projects, unfortunately. It's locally easy, but globally very difficult. One thing you can do is google "programming project ideas", so that you free yourself of some of the burden of coming up with the ideas and sticking to them. Somehow, I have a feeling if I got a job, it would be easier because it's more structured, but I think it's valuable to have the experience of trying to do it on your own because I'm guessing there would be at least some of the same difficulties involved on the job. In addition, having some projects to show to people will be a big advantage in landing a job without a computer-related degree. It's worth doing some on your own, but you can also try to get other people to collaborate with. The standard thing is to put it on github. Github or something like it is an important thing to learn.

    Another thing to realize is that there are a lot of different programming jobs out there. Some will be way worse than your current job. One of my job prospects right now is a job at a very cool company with very cool work, but unfortunately, the workload is 60+ hours a week (pretty sure I'm not getting that job, so I'm off the hook, but they could surprise me and get back to me). Besides working conditions and variations in pay, different jobs may require different preparation. Places like Google want you to know data structures and algorithms and care more about how you solve problems, but other places may want you to have more detailed knowledge of a specific language. You should get a book about programming interviews.

    In theory, if you are really good at teaching yourself, you could learn all the stuff they teach in computer science on your own. With MIT open courseware, you can see all the material they study from, although not every course has video lectures. You can question whether it's really worth it to study compiler design or something like that. It's probably not essential for getting a job (and more than likely won't be used directly), but it's a good exercise and will probably help in more subtle ways. So, some of the standard courses are nice to have, but not mandatory. You can always learn more after you get a job, if it does become mandatory.
  5. Oct 27, 2014 #4
    I can give you my perspective as somebody that was in a somewhat similar situation. My academic background is in physics and I made the transition to software. I probably knew less about programming then than you do now, the only programming I had done was some self-taught C (not counting formatting languages like LaTex). Fortunately for me the market was better then. The kinds of software I've written are business application and applications that analyze scientific data.

    Different jobs require different skills. IMO for most jobs the most important things are knowing a programming language, its libraries and available frameworks. I've been a successful programmer without any background in computer science. That being said I have three qualifiers: a) that could be a function of the type of programming I've done, b) I'm sure there are programming jobs where that background is important (basically repeating comments from homeomorphic) and c) sometimes interviewers ask questions that rely on comp sci knowledge. Also, everyone I've worked with straight out of school has a lot to learn about software development, no matter what they majored in.

    There's the obvious question, how do I know what I'm missing out on by not having a different background? The best I can answer is, I worked with people that have a wide variety of backgrounds and never once has somebody pointed out a flaw in my code where I said to myself "if only I had taken class X in school I wouldn't have done that" (most of the mistakes I make are either misunderstanding the intended behavior of the program or me just not paying close enough attention to what I'm doing).

    In terms of hours 40-45 sounds reasonable, but there are a lot of variations. At some places the culture is to work a lot of hours. Side note, it's typically not an effective way to increase productivity, but some companies still do it. If you're just starting out you may not want to go against the current. Early in my career I spent about a year working really long hours, it was kind of an interesting experience (I also saw first hand that it's not effective), but I don't see myself doing that again.

    I wasn't sure if you meant 70K to start or as a longer-term goal. I don't really know the entry-level market, but to me it seems kind of high to start, at least in most of the country. If you're thinking longer term, then I wouldn't expect that to be a problem, again, depending on location.

    I think you know this, but I'll say it anyway, at a high level I think the hardest part will be getting your foot in the door, the rest will be pretty straightforward (not that I'm saying it'll be easy).
  6. Oct 28, 2014 #5
    Thank you both very much for your replies.
    I appreciate your input, particularly concerning not spending the money to do the courses if I don't need to.
    I've been working to develop my knowledge outside of the classroom when I get home from work.

    Thank you for providing some experience behind the thoughts floating around in my head. I currently live in a high demand market for technology, so I think getting a foot in the door is easier from my location.

    I've just realized out of college, I don't need a "crazy good" salary. I just want a decent one and not too much hassle of working weekend, late evenings, or doing homework when really I want to focus on a family that is coming pretty soon.

  7. Oct 28, 2014 #6


    User Avatar
    Science Advisor

    Your plan could work, but the 40 hours per week thing will be tricky, especially if you try to combine it with a good salary. Your best bet will be to try to get a job as a programmer with a city, a college, or a local government. I know a couple people with this kind of job. The quality of life is high (you don't work 60 hour weeks like most programmers in industry) but the pay isn't as good. When you think about it though, you might get more per hour.

    Those two-week bootcamps I've been seeing ads for are pretty effective. If you're an actuary you have a math degree, so if you have a resume that says you have experience with languages X, Y, and C, and frameworks A and B along with your math degree that is probably enough.

    Good luck!
  8. Oct 28, 2014 #7


    User Avatar
    Education Advisor

    I think there are a variety of issues at play here.

    1)Decent working conditions vary. I am not aware of many IT jobs where you can expect a consistent 40-50 hour week year round. When stuff breaks, you get paid to fix it. Same goes with software development. When a deadline is set, then it's important to put the hours needed to get the job done. Company cultures vary and some like to balance work life, others just focus on production. The key is find a company whose culture allows a balance ie work from home or generous PTO.

    2)I don't necessarily think your lack of coding experience is your biggest hamper. A lot of IT related jobs don't necessarily focus on coding but rather management or writing scripts. While it would behoove you to learn python, java, SQL, I think your biggest issue is convincing someone that you'll fit naturally into the role. That's where the interview comes into play.

    3)As stated before, your best bet would be to actually get in there and physically learn how to code by working on projects. For example, start small with a project that takes in a text file, and translates the entire text into piglatin. Then slowly work your way to a program that detects your bandwidth or finds a wifi signal. Make a website and use it to host your files as proof of knowledge.

    Good luck!
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook