For one thing, I am not a very fast programmer. I only know Python, Matlab, and a tiny bit of C/C++. Most of the programming I do is rapid prototyping of scientific algorithms. The reason why I hate that sort of thing is that I feel more like I am just scanning the literature for any way to hack at an engineering solution that solves a problem in a glitzy way in the short term. Professors seem to need to do this because their careers rest on being able to attract attention to their work. Prototyping the state-of-the-art algorithms of your peers is an excellent way to do this since you end up citing a peer's research without needing to develop anything fundamentally new on your own. If you can envision a zany new data set and spend a small amount of money to collect the zany data and have grad students or Mechanical Turkers annotate it for you, then you can be reasonably assured that you can crank out "state of the art" performance on this zany data set just by leveraging any recent advances in machine learning. Add a little twist by throwing in an algorithm from some tangentially related field, and presto, you've got a main event conference presentation that garners lots of media attention.
That cycle depresses me because it does not fundamentally lead to the generation of new knowledge or expertise. Machine learning research is a bit like a Chinese takeout menu. You pick a generic framework, a generic decision function class, some generic bootstrapping / cross-validation scheme, etc., and pull a lever, and out pops some new "state of the art" surveillance tool, or face recognition tool, or social network data mining tool, etc. None of this causes us to have more knowledge in a fundamental sense; but it does pander to short term commercial prospects.
Also, after working as a radar analyst at a government lab for two years, I don't think that the suggestion of taking some kind of mindless programming day job just to fund my "research hobbie" is actually viable for very many people. When I developed algorithms all day, it zapped my creativity and it really felt soul crushingly terrible all day every day. The literal requirement that I sit in front of a computer and type code just killed all motivation. I was very lucky if I was able just to read interesting books when I went home at night. The idea that I could do my work quickly and eek out little bits of time to "do research" seems pretty naive to the actual task of research. To be effective, you've got to explore, to read, to muck around at a white board for two hours and be ready to pull your hair out over just not quite getting the result you anticipated, etc. I wouldn't want to half-ass my passion and also half-ass my job. That would be the worst of both worlds.
As for FAI research, I feel that the rational thing to do is to not pursue it. Not because I am against it or disinterested, but because it is such a cloistered and closed-off field. As much as FAI researchers want to describe themselves as investing in long-term, high-risk ideas, they won't do that for motivated potential researchers. There's such little money in FAI research that it would be comparable to taking out a multi-hundred thousand dollar loan to self-fund a graduate degree in law from an obscure, rural university. Law degress do not allow you to feed yourself unless you leave the field of law and work very hard to gain skills in a different area, or you go to the best law schools in the country and ride the prestige, usually still into non-law jobs.
This is why I think the self-hacking is necessary. If I work for a startup company, a research lab, government research, etc., then I am only going to be paid to write computer code. Since tenure track faculty jobs are diminishing so rapidly, even being at a prestigious university does not give you much of a chance to obtain one. If you study science in grad school and you want to earn more than $30,000 per year, your primary job will most likely be writing computer code (or you can leave science entirely and do scummy things like corporate finance or consulting, but my aversion to those is so large that I can effectively ignore them as options).
I was inspired by the recent post discussing self-hacking for the purpose of changing a relationship perspective to achieve a goal. Despite my feeling inspired, though, I also felt like life hacking was not something I could ever want to do even if I perceived benefits to doing it. It seems to me that the place where I would need to begin is hacking myself in order to cause myself to want to be hacked. But then I started contemplating whether this is a plausible thing to do.
In my own case, there are two concrete examples in mind. I am a graduate student working on applied math and probability theory in the field of machine vision. I was one of those bright-eyes, bushy-tailed dolts as an undergrad who just sort of floated to grad school believing that as long as I worked sufficiently hard, it was a logical conclusion that I would get a tenure-track faculty position at a desirable university. Even though I am a fellowship award winner and I am working with a well-known researcher at an Ivy League school, my experience in grad school (along with some noted articles) has forced me to re-examine a lot of my priorities. Tenure-track positions are just too difficult to achieve and achieving them is based on networking, politics, and whether the popularity of your research happens to have a peak at the same time that your productivity in that area also has a peak.
But the alternatives that I see are: join the consulting/business/startup world, become a programmer/analyst for a large software/IT/computer company, work for a government research lab. I worked for two years at MIT's Lincoln Laboratory as a radar analyst and signal processing algorithm developer prior to grad school. The main reason I left that job was because I (foolishly) thought that graduate school was where someone goes to specifically learn the higher-level knowledge and skills to do theoretical work that transcends the software development / data processing work that is so common. I'm more interested in creating tools that go into the toolbox of an engineer than with actually using those tools to create something that people want to pay for.
I have been deeply thinking about these issues for more than two years now, almost every day. I read everything that I can and I try to be as blunt and to-the-point about it as I can be. Future career prospects seem bleak to me. Everyone is getting crushed by data right now. I was just talking with my adviser recently about how so much of the mathematical framework for studying vision over the last 30 years is just being flushed down the tubes because of the massive amount of data processing and large scale machine learning we can now tractably perform. If you want to build a cup-detector for example, you can do lots of fancy modeling, stochastic texture mapping, active contour models, fancy differential geometry, occlusion modeling, etc. Or.. you can just train an SVM on 50,000,000 weakly labeled images of cups you find on the internet. And that SVM will utterly crush the performance of the expert system based on 30 years of research from amazing mathematicians. And this crushing effect only stands to get much much worse and at an increasing pace.
In light of this, it seems to me that I should be learning as much as I can about large-scale data processing, GPU computing, advanced parallel architectures, and the gross details of implementing bleeding edge machine learning. But, currently, this is exactly the sort of thing I hate and went to graduate school to avoid. I wanted to study Total Variation minimization, or PDE-driven diffusion models in image processing, etc. And these are things that are completely crushed by large data processing.
So anyway, long story short: suppose that I really like "math theory and teaching at a respected research university" but I see the coming data steamroller and believe that this preference will cause me to feel unhappy in the future when many other preferences I have (and some I don't yet know about) are effected negatively by pursuit of a phantom tenure-track position. But suppose also that another preference I have is that I really hate "writing computer code to build widgets for customers" which can include large scale data analyses, and thus I feel an aversion to even trying to *want* to hack myself and orient myself to a more practical career goal.
How does one hack one's self to change one's preferences when the preference in question is "I don't want to hack myself?"