views:

965

answers:

9

Hi,

I am interested in doing some part-time study to enhance my career options. I already have a degree in Computer Science and have been working as a software developer for the past 4 years. I enjoy working as a developer, and want to continue writing code; I could see myself as team leader in the next 5 years, but I have no interest in moving to a purely management role. As I live in the UK, I have been looking at studying with the Open University. The OU offers a MSc in Software Development (note, this is a further degree and is NOT a conversion degree), but I am also looking at pursuing an interest in mathematics. I have been looking at the BSc/BA in Mathematics and Statistics. The MSc offers more immediate benefits, but the mathematics course could open up other job opportunities in future (i.e. games development, scientific computing).

Which course do you believe would help make me the better coder, and offer the most benefit to my career as a software developer?

Thanks, MagicAndi

A: 

Go for an MBA, and then you'll have the tools to figure out what's the optimal next degree for you :)

Now seriously, I think an MSc in CS focused on what you're interested is the right way to go. This is because in an MSc you have much higher level of thinking yourself about subjects that are of personal interest to you. I think the BA in CS gives plenty of math background, so unless you wish to practice theoretical math or pure algorithms, I think a BA/BSc in math is a terrible overkill...

I personally went for an MBA after my BA in CS, and now I'm thinking about doing my MSc in CS.

Roee Adler
Rax, Thanks for the update. I have retracted the -1.
MagicAndi
@MagicAndi - it was a case of the "slippery" click on the "Add" in the middle of editing. Thanks for retracting.
Roee Adler
+7  A: 

As an BSc & MSc in mathematics who learnt computing by doing it, I'd recommend the maths option. If you want to work in some of the more numerically challenging areas of software development, a strong academic background in mathematics is helpful. I have always thought it better to be a mathematican learning computing on the job than the other way around. Mathematics is very very difficult to pick up by doing, always better taught.

Colin Desmond
Your experience pretty much exactly matches mine.
kquinn
Colin, Please see my answer below. Thanks for your answer, and I have accepted it as the solution.
MagicAndi
I agree as well, In my experience almost all of the juicy (interesting and lucrative) software development jobs require a Math background.
CaptainHastings
A: 

In the UK I am unsure as to how I would view seeing an MSc in "Software Development" on a CV. You already have a degree in Computer Science and several years of software development experience, and that matters more. Surely that MSc is for people without such experience, crossing over from sciences, etc, where they do programming, but not often not to the level that is required in business. Therefore if you wish to stay in academia, instead of going into work, either do the BSc in Mathematics, or apply to do a PhD at a reputable university.

JeeBee
JeeBee, if this was a conversion MSC, I would agree with you. However, it is an advanced degree for practising developers, the majority of whom will have a first degree in computing. I will update the question to reflect this. +1 Also, as I stated in the question, I want to study part-time, to remain as a developer, and to study a subject that will help me to become a better programmer, as well as opening up further oportunities in development. -1In summary, no vote.
MagicAndi
+1  A: 

I am MSc in Software Development, and I would recommend you take this. I do not know if they will teach you some management knowledge, but as far as you will have to manage ONE employee, you will find yourself in need for management skills. But do not “overmanage” – you will not need to have MBA to manage small team, you will just need some skills, since team leader is mostly technical job.

smok1
+1  A: 

If you want to enhance your career put certifications on your cv, it depends on the kind of technology you want to work on (SUN , MS et ..)

like maths? think on becoming a Quant Analyst

Quant Analyst

Lici
Lici, I am currently studying to do a few Microsoft certifications, but like many programmers, I am doing these because my employer likes them, not because I see any value in them myself. I might have thought about becoming a Quant, before they caused the current financial crisis!
MagicAndi
Sorry, forgot +1.
MagicAndi
+1  A: 

After some thought, I decided to answer my own question. I believe that doing a degree in Mathematics will help me to become a better programmer, and will create more job opportunities, than taking the MSC in Software Development.

The reason I want to study is to improve myself, not just to get another useless paper qualification (I'm already doing some useless MS certifications). The particular MSc in Software Development I was considering has a number of topics that would actually help improve my programming knowledge (advanced database design, UI design), and has a good reputation. However, if I really need to gain this knowledge, I will learn pick it up as part of my job, or whilst programming in my spare time. Whereas, taking the BSc in Mathematics and Statistics would force me to cover topics I would not otherwise gain, and addresses what I see as a weakness in the degree in CS I already have (I didn't cover the CS maths module as part of my degree).

Also, I am struck by Tim Ferris's argument, to be a jack of all trades, and avoid specialization. The MSc will help me in what I am already doing; it won't open up as many new opportunities as the mathematics degree.

Given this, I have decided to start the part-time degree in Mathematics this October. And the beauty is, given that I am studying with the Open University, I can change my mind at any time, and start the MSc in Software Development, or a completely unrelated course.

Thanks for all your answers. Given my decision, I am accepting Colin Desmond's answer. Please vote for his answer!!

MagicAndi
Good luck on pursuing your BSc. I have a BMath degree where CS was one of my majors.
JB King
+2  A: 

Hi MagicAndi,

I'm currently in my 3rd year (part-time) of a BSc in Maths and Computing with the OU, and my inclination would be to go with the Maths degree. The computing elements of my course are largely java programming, and while I'm far from an expert in that field, I find I can coast through it quite easily. The maths components on the other hand are much more challenging, and interesting to learn about.

I also agree with the poster that mentioned that computing is easier to pick up on your own than maths. That is certainly the case for me.

Feel free to send me a private message if you want to discuss specifics of the OU courses.

R

Vortura
Vortura, thanks for the information, it confirms the decision I have already made (see above). +1
MagicAndi
+1  A: 

As someone who's done both scientific computing and game development, let me say that in my experience a math degree won't make any difference at all. If you've already had college-level courses in math (discrete math, trig and calculus), then you've got all the math you'll ever use in 99% of the software work out there. I worked on several laboratory information management systems (LIMS), and for all calculations I wrote I was explicitly given the numerical methods to use: what precision, how many significant figures, when and how to round (for both display and storage) and what algorithm/technique to use, if necessary. This was in a large pharmaceutical environment, where they wanted to make sure any calculated results met established standards and would be comparable with results obtained elsewhere in the company. I already knew about precision and significant digits from my amateur radio hobby, and all about the ins and outs of floating-point numbers from an excellent paper published by the ACM. For game work, 90% of the time it's more important to get an approximate answer fast than to get an exact answer. Most of the effort on our team went into creating and enhancing the scripting language and level editor so the content artists could be more productive. That, and creating some AI routines that didn't suck.

If you like math and want to get a degree in it, that's great, but I wouldn't count on it to get you more opportunities in software development. OTOH, I work with someone with a MSc in AI, at the same level, so that may not necessarily be any better...

TMN
A: 

I think you have a passion for Maths and this is what you really want to do... so go for it.. if you want to have more career options, then go for the MSc in Software Development because this is more relevant and it will show that you really are serious and committed to excellence when developing software, hence any employer will se it as a benefit. With all due respect to mathematicians, having a BSc in maths is good and nice, but the maths you use for Software Development are not that complex and this will just look nice on your CV but not too relevant to what the company will actually be seeking...

Jhon