samedi 3 janvier 2015

Doing PhD in computer vision but not good at programming?


...and never intend to be a programmer or developer or enjoy programming. Sometimes I even loathe digging in the heap of C++ code of previous people in the project.


I'm in the second year of my PhD. Almost 14 months have passed, but seems that I'm not making much progress. In the meeting, things I can report are not much more than the background I was given to study, which is the work of a previous master student.


Doing research, is doing experiment. The topic is a mountain: try to climb with this tool, try to climb with that tool,... hit the rock and fall,... try again from the north, what if I climb from the west path instead of the north, etc. Formulate hypothesis, check it, another hypothesis, cross validate. etc etc. And there's no other way to do experiment in computer science but to program.


Problem is, I see myself not good at all in programming, so I find it so hard to realize the idea. "This paper is good, the idea is interesting, I will change the last 2 steps a bit and change the input format to apply on my type of data..." Anyway it's an intimidating task to me: reproducing the original work is hard enough, and even if I have the source code, improving the original code without breaking its structure is not so easier.


During my master (2009-2011) I also had a similar hard time. My advisor at that time kept asking me to do stuffs in C++ because he thinks "Matlab is slow, VERY SLOW", and I should use C++ so that my research result may perhaps can live in the ecology of the previous products of the lab. However I insisted with Matlab, and actually still published a paper and managed to graduate. After graduation from master I had 2 jobs, one is developer (mainly Java), and the latter is IT support, which I love it much better than the first one, no IDE, no frameworks,...


So my question is: is it too odd my case? Any suggestion to improve the situation? Do any of you experience the same situation (and how do you manage)? Because for now, I'm terrified each time my professor says: "try to implement this/that, I remember X did something quite related, did X give you his code? I believe almost all the tools are there, you just need to adapt it a bit". Oh, that a bit may easily cost a week, not to mention the result by applying it is normally not that easily fruitful. And somethings sounds really trivial in talking is not that trivial to code (this situation I find very similar in the corporation environment, when the guy from business department thinks the task is so easy and small, why the hell the IT team asks for 2 weeks for it!!!)


Now, the lack of programming skill - which leads to difficulties in testing prototypes or ideas, together with the fear and pressure of having good results to publish - is the main reason that demotivates me, not reading papers or discovering new things.




P/S: Since the beginning of PhD I started with Python and I really feel Python (together with OpenCV Python binding and a lot of packages like Scipy or Numpy) is a life-saver to me. I still hate C++ :) Yet many good paper results were coded in C/C++.


I always pay a very high respect to the authors who provide all the stuffs for people to reproduce their result: the source code, the dataset, description of experiment setup, makefile,...Even in such condition, sometimes we still cannot reproduce everything. As a consequence, sometimes I seriously doubt some results from authors which do not provide dataset or program, theirs are too good to be true but no way to check.





Aucun commentaire:

Enregistrer un commentaire