Thursday, 31 March 2022

Amateur or professional

After leaving the university I quickly found a job in a biotech company. I knew some of the people who worked there from the years before I was a PhD student, the company was expanding and they were happy to have me. I knew very little biology then, but these were exciting times when more and more genomic sequences were being published. Biologists needed computational help and I liked the idea of being a part of it. 

On arrival I was assigned to a new and ambitious project team, to write software that would put some order in the company's research and data. The language of choice for the project was C++, an object oriented expansion of C, which was popular then (Java was still young). I was a junior programmer, new to the project and the company, and the last time I wrote some code was 5 years before in C. I knew nothing about C++ or object oriented programming in general. The project leader decided to send me to an external crash course in C++. The course available was not for beginners, it assumed you knew the basic ideas in the language and taught more advanced subjects like inheritance, templates and design patterns. It wasn't too hard though, my previous knowledge of C helped, in the end I managed to learn enough of the principles so I could start coding in C++.

All this is just the preface, to understand the setting of the following scene. In one of the days  in the course I heard the lecturer say the following:

"We are all professionals here. To solve a problem we recognize patterns and use ready made solutions. We don't try to think about the problem or reinvent the wheel like amateurs". 

Not an exact quote but you get the idea. This really shook me up, my immediate reaction was to reject this completely and to cry out "That's not me !!!" (in silence, the lecture continued without interruption). Since then I've had time to formulate my response in full, and I consider it an important part of how I see myself.

I see the logic of the argument and I agree that these so called professionals are necessary and important. Think about building a house, an airplane, or writing a software product: the process is much more efficient when you stick to known and proven methods, and this also lowers the chance of a mistake that may result in a disaster. I think of such people as engineers, but I don't put myself in this group. When I face a problem I want to think about it, understand it and try to find a solution myself. Telling me this problem has a solution is a big turn-off for me, if you know there is a solution then use that, why ask me. Finding a solution myself is always more satisfying than reading about it.

I'm also against the use of the words "professional" and "amateur" in this argument. Describing someone as a professional is usually positive, a compliment, you know what you are doing and good at it. An amateur, on the other hand, sounds less appealing, somebody who is not serious enough, can't be trusted to succeed. However, a professional problem-solver / researcher needs to be creative, always trying to use known "wheels" in new ways and to invent new "wheels".

Over the years I've come across many professionals, people who were exceptional in their field, mathematicians, musicians, biologists, computer scientists. I've always admired these people, but I don't think I can be one myself. Perhaps I dreamed about being a professional mathematician when I was studying in the university, maybe I stopped trying when I left the university and started working for a living. Or perhaps I was never going to be good enough, now it seems to me that being a professional in any field is just too big an effort. As I got older I embraced being an amateur. I enjoy having many interests, with more knowledge and experience than ordinary people in these fields but far from the real professionals. 

I'm an amateur:
  mathematician - with a broad background but no real understanding of modern ideas.
  choir singer - quite good, when compared to other amateurs
  data scientist - adequate knowledge of statistics and data handling
  computational biologist - experience with many data types and biological queries
  physicist - university degree but very low level
  programmer - experience with many languages, not for writing large projects


Happy days - the undergraduate years

Looking back at the three years I was an undergraduate student, this was one of the happiest periods of my life. For the first time I could ...