In the previous article, I talked about learning the C language and taking some university certification exams. But at that time, I was also well aware that the NCRE certificate was only obtained through rote memorization, and it could only prove that I had read some computer books.

At that time, I also went to learn about the courses for the computer science major (the academic affairs office had a curriculum). C was just the basics; afterwards, they generally chose Java, ASP.NET, or embedded systems as the direction for their future work.

At that time, I would search Baidu for "what programming language in computer science is better for finding a job". Of course, the search results back then might be different from now. At that time, websites were still quite popular, so the common answer online was to learn web development, and the languages involved in web development were Java, ASP, PHP, and so on. The description online was like this: after learning Java, you learn JSP, then learn the three major frameworks of SSH. This is widely used in large enterprises, banking, and finance industries, while PHP is mainly used for small and medium-sized enterprise website development. At that time, I looked down on PHP. I didn't want to learn something for small and medium-sized (later I became a PHP programmer). If I was going to learn, I should learn the best and most sought-after. Java, JSP, and the three major SSH frameworks were my choice. What's more, the concept of object-oriented programming was very hot at that time, and Java's object-oriented nature was almost going to overturn other languages, while PHP was still procedural (before PHP 5).

Then I searched online for recommended books for learning Java, and found that everyone unanimously recommended "Java Programming Thoughts" (Thinking in Java). This book was expensive and thick, but I decisively bought it at that time. Then, following the method I used to learn C, I forced myself to read it, typed out each piece of code, and even copied it by hand. The whole process was very painful, and the learning effect was poor.

In the end, I found that this book was good, but it was completely unsuitable for beginners. The language was obscure. It was only good as a reference book. So if you're just about to learn Java, don't use this book. You should only read it after you've finished learning the basics.

If you are just getting started with some programming languages, I suggest you come to Example (advertisement).

I roughly read half of this book (like reading a novel), and then I couldn't fool myself anymore. So I started searching online for some tutorials for Java beginners. Later, after browsing several forums, I saw someone recommend "Shangxuetang - Ma Shibing's Java Introduction Tutorial". After watching a few episodes, I felt it was really good. Watching videos was much easier than reading books, and they also provided some examples. By following the examples, I finally understood concepts such as object-oriented programming, abstract classes, and interfaces. I watched this video several times, including the subsequent JSP development videos and SSH three-framework videos.

The most impressive thing was that they said to use Google, not Baidu, for technical searches. After that, I became a fan of Google. Baidu's search is simply rubbish, so I really have to thank them for sharing.

After finishing all this, it was already the second half of my junior year. Everyone was discussing what to do for their graduation thesis. At that time, I was thinking that it would be best if I could apply what I had learned to my graduation thesis (I mentioned earlier that my major was biotechnology), and also practice my skills. Everyone was also discussing which advisor to choose. I had learned earlier that there was a relatively young advisor in our major who had studied bioinformatics. What is bioinformatics? It is an interdisciplinary subject, roughly using computer programming languages to calculate RNA, DNA sequences, and so on.

So I directly wrote a Java program that converts RNA to protein, printed it out on A4 paper, and went to find that teacher. I said I wanted to do my graduation thesis in bioinformatics and asked if he could take me under his wing. Afterwards, I chatted with him about the functionality of my program, and he probably thought I was decent, so he accepted me. In the end, I found that choosing him was very correct. In the subsequent studies, my advisor gave me many very good suggestions and lent me many books. Finally, I did not disappoint his expectations and completed my graduation thesis (the name is not blurred out, Tian Qixin == FK, this thesis is on Baidu Wenku):

Summary:

  • Direction: First, you must be interested. Then go to recruitment websites to find the skills required for the job positions you are interested in.
  • Proactiveness: Actively seek out people who can help you. Don't wait for others to come to you, because you are a rookie.
  • Persistence: Once you have determined your direction, you must spare no effort to do things to the best of your ability.
  • Search: Programmers should use Google. If you can't get in, find a way.

(To be continued...)