I've created an improved textual parsing algorithm, as a part of my hobby project. In comparison to existing ones, it provides better performance and memory efficiency. I haven't published my project yet. The question is, is there any way I can convert this research to a PhD? Or anything else I can do to improve my scientific karma? (I'm not a professional scientist, just a programmer with bachelor's degree). How much bureaucracy does this involve?

  • 1
  • Wow, I've had quite literally the same question myself for a while: I've also created an improved textual parsing algorithm as a hobby project, which I think is novel in its approach in some ways. Maybe I should do something with it too... +1 – user541686 Jan 29 '15 at 4:42
  • @Mehrdad, that's interesting. What type of parser you are working on? – user626528 Jan 29 '15 at 10:50
  • @user626528: It's an LR parser generator! How about you? :) – user541686 Jan 29 '15 at 15:53
  • 1
    It's probably worth clarifying why you want this recognition - are you thinking of going into academia, or do you want to look better to employers? If the latter, simply publish your algorithm on something like Github, and mention it on your CV/résumé. – anaximander Jan 30 '15 at 13:29

What you should do right now depends on the nature of the improvements that you have made:

  • If your new algorithm achieves its improvement due to some shift in how you represent or think about the problem, then it's probably worth publishing. You don't need to be in any special position to publish: anybody can write a paper. Look at where the competing algorithms that you outperform are published, and how they are presented and evaluated in those papers, and you've got a good template to start from.
  • If your new algorithm is mainly an improvement because of a whole bunch of little tweaks and optimizations, or because of how you've coded it, then it's probably not worth publishing, but definitely worth sharing as a software engineering artifact. It may not be scientific karma, but it's definitely computer programmer karma.

Getting a Ph.D. is a whole different matter, which involves a lot more than just doing a piece of research (though that's certainly part of it). If you want to pursue a Ph.D., it will be a multi-year process with a lot more scientific contributions involved. This work that you have done, however, could definitely be helpful evidence of research ability and help you get admitted to a program.

  • Well, I certainly don't want to spend several years on getting a formal degree. What about writing a paper, are there any guidelines on this? – user626528 Jan 28 '15 at 21:06
  • 3
    @user626528 The conventions and expectations vary significantly by scientific community. I would advise selecting a community based on where the prior algorithms have been published, then using those prior papers, others in the same venue, and the venue's formatting instructions as your guideline. – jakebeal Jan 28 '15 at 21:27
  • Getting academic credit will be difficult but many private sector companies have people publish papers and present those papers at conferences and symposiums. The companies also sometimes provide bonuses for papers, patents, etc. If you are working, consider talking to HR about this sort of a program within the company. If you want to stay outside the company tent or if you are not working for one then look into the professional associations such as the ACM for computer science, IEEE for electrical engineers, etc.. – CramerTV Jan 28 '15 at 23:04
  • "anybody can write a paper" - I think this slightly diminishes the work required to publish an academic article. There are a lot of prerequisites, and someone outside the academic circle who just wants to publish "something interesting they've done" is very unlikely to actually get a paper accepted. – eykanal Jan 30 '15 at 18:30
  • @eykanal It strongly depends on which community you are dealing with: there are some conferences which are much more focused on industry or applications. In these, the intellectual rigor required of the paper is often significantly less---not because it is "low quality" but because the focus is more on outcomes and artifacts, rather than fundamental research. – jakebeal Jan 30 '15 at 19:13

I'm also "just a programmer with bachelor's degree".

I've been having a hobby project for several years. Some time ago I realized that my project could be interesting from the scientific point of view (it's not a groundbreaking result, but it has some novelty and it's somewhat surprising).

I wrote a paper as an independent researcher and submitted it to a relevant conference. The paper was rejected, but I got very meaningful and valuable feedback from the reviewers.

After a lot of work I had the second version of the paper. This version was much better and it was accepted to a good ACM conference.

I'm not sure if I'm going to pursue a PhD, but as far as I understand, a published paper is definitely a plus for a PhD admission. I didn't encounter too much bureaucracy (nobody was concerned about my lack of academic affiliation), but writing a paper is a lot of work. Also be prepared to pay $$$ for a conference ticket if your paper is accepted.

  • Publishing in a journal can be more cost-effective. Depending on your field, that might give you more or less visibility, and the review is likely to be stricter (which I'd count as a good thing). – Raphael Jan 30 '15 at 10:32

The short answer is that you may be able to, but it's unlikely.

In more detail, performing academic research requires much more than an interesting finding. Researchers requires domain-specific expertise, familiarity with past research (both successful and unsuccessful), ability to actually perform the research at hand, knowledge of how to write, submit, edit, and respond to comments for an academic journal, among other skills.

From your post, it appears that you may have found an interesting text parsing approach. How does that fit in to the current approaches described in academic literature? Are others doing work similar to it? Has it already been proposed? What are the pros and cons relative to other work, both past and current?

From the perspective of a PhD thesis, you would have to not only be interested in the algorithm itself, but finding the answers to most of the questions listed above. At that point, you could see whether your algorithm may be able to lead to a thesis. If that's the case, then you'd have to go through the trouble of getting accepted to a graduate program which is host to a professor doing similar research, getting into said professor's lab, and working through related coursework, yadda yadda yadda.

Basically, it's possible, but it would be a long haul.

  • 2
    I read your answer as, "Yes, you can turn your idea into a PhD, as long as you're willing to go through the entire PhD process with the idea." Did I get the right idea? – Kevin Jan 28 '15 at 3:18
  • 1
    @Kevin Yes. I was trying to convey the magnitude of what's involved, as most people outside of academia don't appreciate the "benchwork" is really just a very small part of the overall research process. – eykanal Jan 28 '15 at 12:03

Is it really novel and useful?

A big issue is if the contribution (algorithm in this case) is actually academically novel and useful. This is a nontrivial question to answer and requires an expert in the field or a serious review of academic literature to find out what exactly is the state of art for this problem.

When people have made an improvement "in comparison to existing ones" then usually, sadly, it means "in comparison to widely used existing ones". The criteria that matters is "in comparison to the best results ever published anywhere" - for research to be publishable you'd have to reasonably claim that you already know everything that has been tried before for this problem and are comparing against the best approaches known to other academic experts in the field.

If you haven't verified this, then it is quite likely that the same thing or something offering much better results have already been published elsewhere Common knowledge, textbooks, widely used toolkits, etc usually lag the 'bleeding edge' by years or even decades.

If someone else has done and published this before (doesn't matter if you knew this), then it's not novel research relevant to a PhD thesis even if most people are not aware of it and are using something inferior.

Academic publications

If it is novel and useful, and you want academic credit for it, then this credit is measured in citable publications. Blog posts and public source code don't really count as that. In Computer Science, the usual venue is respectable academic conferences and publication in their proceedings (for an 'improved textual parsing algorithm' http://idibon.com/top-nlp-conferences-journals/ may be relevant). Respected venues tend to be rather competive with low acceptance percentages. As an alternative, a solid academic-style paper on arxiv.org may be appropriate.

  • +1, though you don't really need to compare your approach to literally "the best results ever published anywhere" - for any but the most specialized fields, that's likely an unrealistic goal. – Stephan Kolassa Jan 28 '15 at 7:29
  • Is conference publication the must, or I can publish an article in a scientific journal instead? – user626528 Jan 28 '15 at 21:10
  • 1
    @user626528 journals definitely are an option, but (1) in CS, most of the available decent publication spots aren't in journals; (2) journals that advertise as being easy to publish tend to be disrespected 'predatory journals' (e.g. Bealls list) and such a publication would probably be even worse than having a publication on arxiv.org or your own blog. If you can get into mitpressjournals.org/loi/coli then great; if you can get into something like mjal.org/index.htm then don't bother. – Peteris Jan 29 '15 at 0:06

If you think you have done some research, just show your work to a professor in your department who has similar research interest to your research project and ask him your questions about your research. That professor can tell you whether you really have done some valuable research, whether it can be published or you can work more on your research and improve it.

  • 6
    It might be helpful if you would offer some advice on how to find and make contact with an appropriate professor. Since the OP is a programmer, not currently a student, this is not necessarily a trivial task. – ff524 Jan 27 '15 at 21:49

There are some Master's Program, like Concordia, that call themselves "life experience" Master's Programs. I think they lean towards documenting professional experiences, but if your hobby experiences are sufficiently documented, perhaps that will count.

For the first time, I've seen such degrees on a CV for a very special kind of instructor's position. I think it got the person through the door, and the person got the offer. When we found out it was a life experience Master's nobody on the search committee-- including me -- seemed to mind. Human Resources is having an interesting time with it, but I think that correctly used such degrees can have value.


Rather than aiming at a Ph.D you might do better to look for a suitable M. Phil programme. It may be possible to achieve an M.Phil purely on the basis of a dissertation, but even if there are other requirements, it may be possible to enrol in a distance learning scheme which would give you access to mentoring etc. and allow you to focus what was previously your hobby in a more academic direction.

Your Answer

