
I'm at something of a crossroads, and I'm hoping to get a bit of free career advice. I really enjoy programming with Haskell (and a few other exotic languages), and was hoping I could eventually make a living in that sort of field. Not rich and famous, necessarily, just enough to get by comfortably. I'm trying to decide, however; should I go back to school, finish my B.S. and pursue a Masters in CompSci? Or would the time (and money) be better spent aggressively pursuing volunteer work for companies, hoping to eventually get the experience and contacts that lead to a paying job? To be honest, I don't really want to go back to school, because I learn a lot faster (and more economically) on my own. However, I'm not sure which path is the fastest, and safest, approach to an actual paycheck. (Also, I'm something of a die-hard FOSS purist, if that affects the discussion at all.) -- frigidcode.com

* Christopher Howard
I'm at something of a crossroads, and I'm hoping to get a bit of free career advice. I really enjoy programming with Haskell (and a few other exotic languages), and was hoping I could eventually make a living in that sort of field. Not rich and famous, necessarily, just enough to get by comfortably. I'm trying to decide, however; should I go back to school, finish my B.S. and pursue a Masters in CompSci? Or would the time (and money) be better spent aggressively pursuing volunteer work for companies, hoping to eventually get the experience and contacts that lead to a paying job?
To be honest, I don't really want to go back to school, because I learn a lot faster (and more economically) on my own. However, I'm not sure which path is the fastest, and safest, approach to an actual paycheck.
(Also, I'm something of a die-hard FOSS purist, if that affects the discussion at all.)
If you have some money to cover your expenses, consider learning by contributing to open source software. Compared to an academic career, you'll have a more "real" goal of making good software (instead of publishing papers). Also, this experience will be much more relevant for your future job. Compared to work for companies, you can choose more challenging, interesting and innovative tasks that most companies can offer. And the code quality will often be higher in open source than in companies. Roman

Roman Cheplyaka comments a post by Christopher Howard:
I'm trying to decide, however; should I go back to school, finish my B.S. and pursue a Masters in CompSci? Or would the time (and money) be better spent aggressively pursuing volunteer work for companies, hoping to eventually get the experience and contacts that lead to a paying job?
To be honest, I don't really want to go back to school, because I learn a lot faster (and more economically) on my own. However, I'm not sure which path is the fastest, and safest, approach to an actual paycheck. If you have some money to cover your expenses, consider learning by contributing to open source software.
Compared to an academic career, you'll have a more "real" goal of making good software (instead of publishing papers). Also, this experience will be much more relevant for your future job.
Compared to work for companies, you can choose more challenging, interesting and innovative tasks that most companies can offer. And the code quality will often be higher in open source than in companies.
Roman For me, opposing experience and education is simply silly.
Probably more than 70% of all people would learn much faster on their own than at school. But, learn WHAT? : 1. Probably less than 1% would guess correctly what they SHOULD learn, and 2. in general they will not be able to assess their own knowledge... Learning, for most people, is a social process. If Mr. Howard thinks that he is a kind of Srinivâsa Râmânujan, good luck, but the statistics is against him. With a chance, he will master very well one or two tools, but without a more structured background, the creativity in the domain of software might be severely limited. If a necessity of refactoring his fabulous product means more learning ab ovo, the loss of time might be considerable. Roman: - Christopher Howard seems to be very far from publishing papers; he asks us whether he should complete his B.S. In this context, recommending Open Source seems a bit premature. Jerzy Karczmarczuk

On Sun, Dec 9, 2012 at 7:04 AM, Jerzy Karczmarczuk < jerzy.karczmarczuk@unicaen.fr> wrote:
For me, opposing experience and education is simply silly.
Probably more than 70% of all people would learn much faster on their own than at school. But, learn WHAT? :
1. Probably less than 1% would guess correctly what they SHOULD learn, and 2. in general they will not be able to assess their own knowledge...
Very good points
Haskell kneads the avant garde type-hackery stuff with classical
(Hindley-Milner) functional programming very seamlessly. For the
programing-pro this is a joy and a thrill. The beginner however can get
completely unnerved that misplacing a bracket or forgetting an argument
gives error messages involving type classes, suggestions turning on/off
arcane compiler options etc etc.
FWIW I have a list of points/items trying to address this issue:
http://blog.languager.org/2012/10/functional-programming-lost-booty.html
Please note this is work-in-progress: additions/modifications are
appreciated.
On Sun, Dec 9, 2012 at 4:21 AM, Roman Cheplyaka
Compared to an academic career, you'll have a more "real" goal of making good software (instead of publishing papers). Also, this experience will be much more relevant for your future job.
Yes... CS academics delivers less than it could/should; and whatever this delivery is, its asymptotically sub-linear. Some of it is to do with the not-quick-enough takeup of FP in academia, though there are obviously many other factors as well. http://blog.languager.org/2011/02/cs-education-is-fat-and-weak-1.html and sequel is about this: how we are not getting over the quirks of the past history of CS in present day teaching. Here too suggestions for modifications/ change of emphasis are appreciated. Rusi -- http://www.the-magus.in http://blog.languager.org

Christopher Howard wrote:
I'm at something of a crossroads, and I'm hoping to get a bit of free career advice. I really enjoy programming with Haskell (and a few other exotic languages), and was hoping I could eventually make a living in that sort of field. Not rich and famous, necessarily, just enough to get by comfortably. I'm trying to decide, however; should I go back to school, finish my B.S. and pursue a Masters in CompSci? Or would the time (and money) be better spent aggressively pursuing volunteer work for companies, hoping to eventually get the experience and contacts that lead to a paying job?
To be honest, I don't really want to go back to school, because I learn a lot faster (and more economically) on my own. However, I'm not sure which path is the fastest, and safest, approach to an actual paycheck.
Concerning a university education, there are two approaches: 1. I want to learn as much as possible 2. I want to learn just enough to get a high-paying job University is great at serving the first approach, not only because you have the freedom to skip lectures that you already know, but also because professors have a lot of interesting things to teach if you let them, and because some of your classmates will be equally interested and interesting. In other words, if you want to learn everything, then university is the right environment. On the other hand, approaching university from the second point of view usually does not justify the cost for the little benefit you obtain this way. Unfortunately, it seems to me that the tuition costs in the U.S. strongly suggest the second approach. To avoid this, I recommend to either go abroad or become very good and acquire a scholarship. Best regards, Heinrich Apfelmus -- http://apfelmus.nfshost.com

Heinrich Apfelmus
Christopher Howard wrote: Concerning a university education, there are two approaches> 1. I want to learn as much as possible 2. I want to learn just enough to get a high-paying job
There's actually a third approach ( and probably more): 3. I want to learn to do this job as well as possible.
On the other hand, approaching university from the second point of view
usually does not justify the cost for the little benefit you obtain this way. Unfortunately, it seems to me that the tuition costs in the U.S. strongly suggest the second approach. To avoid this, I recommend to either go abroad or become very good and acquire a scholarship.
That really depends on the job at in question. When I was looking for entry level programming jobs, not having a degree meant you never got past the hr department. Getting a degree (pretty much any degree) was required to get the high-paying job. I'm willing to believe that's no longer the case for programmers, because academia has consistently failed to deliver sufficient quality programmers to meet industry needs. On the other hand (watching my sons deal with the job market), the litmus test for "you've got what it takes to survive in the system" is now a masters, not a bachelors, so maybe you're wrong about that. The other thing to consider is what your long-term goals are. Do you want to be a code monkey all your life? Or do you aspire to more? What are the requirements for that "more"? Getting a degree now may well avoid doing it later. Finally, with approach #3, you really need a mentor who can tell you whether or not you're doing a competent job. You're much more likely to find that in a university environment than trying to learn things by yourself. Joining an open source project might get it for you. -- Sent from my Android tablet with K-9 Mail. Please excuse my swyping.
participants (6)
-
Christopher Howard
-
Heinrich Apfelmus
-
Jerzy Karczmarczuk
-
Mike Meyer
-
Roman Cheplyaka
-
Rustom Mody