I would definitely encourage learning - but with a few caveats.
- Doing a Masters would be a good idea to learn things that cannot be self-learned by reading books or working on OSS (or even industry experience). From a 'productivity' perspective, for certain advanced subjects doing a Masters can drastically reduce the learning time when studying under the direction of lecturer (i.e. having them 'guide' your thinking process) rather than the large amounts of time that can be spent' during self-study (or lead you to think you know something when you actually don't)
- A Masters that has a significant research component will also teach how to take a very open-ended problem and produce/contribute something useful *under time constraints*.(NOTE: 'Googling' is not the same as 'R&D'. I see these terms been inter-changed so often, it has diluted what the 'Research' part actually is)
- Thoroughly check what the modules that will be taught in the Masters programme. Does it genuinely delve into more depths than the standard undergraduate degree? If it includes a lot of things you already know or could do (such as learning a new programming language), then it may not be the right course for you. I have seen a lot of courses that mention 'Unit Testing'.'advanced' programming in Java (not really!), and methodologies that can be learned by investing less than £100 on some good books and attending LJC meetups (*wink* Barry!)
- If you have some industry experience, and/or genuinely know what you want to do next it would help in choosing the area to specialize in. Don't follow 'trends' - this is an investment of *your* time, money, effort. Make sure you get what *you* want out of it
- It also helps to do a Masters while you are still *young* :-). In general, as time passes the 'opportunity cost' also increases, and your options get limited - so, it's a good idea to get this done early in your career. But this should not hinder the determined individual...
Hope this helps.
On Mon, Jun 25, 2012 at 5:55 AM, Barry Cranford <[address removed]>
MBA to a Software Engineer's career. How about an MSc