After 3 years in civil engineering, I learned Java for more than 8 months and finally got a 15K salary!

It’s been almost 8 months since I started learning Java. Although the progress has been relatively slow, I still have some progress and experience. Now I want to briefly sort out the learning situation of the past six months, so as to make a summary for myself. I also hope to give some help to friends who are in a similar situation to me.
This post contains several thousand words. It is a summary of my hard work for several days. It may be useful for beginners. I suggest you read it patiently.

1. My situation

As an incumbent in a non-technical position, learning Java does not aim at changing careers, improving working ability, or seeking direct economic benefits. It is only regarded as an amateur activity. Of course, the disadvantages of learning in this case are obvious:
· There is no clear goal, the learning direction is not fixed
· There is no strong motivation, the desire to learn is not strong
· There is no project support, the learning environment is not ideal

As far as my own situation is concerned, due to long-term non-technical jobs, no matter Javaweb or other programming technologies, relevant knowledge is relatively lacking. In addition, due to busy work, there is no guarantee that I will have the opportunity to use the Internet every day. I believe that in this regard, many friends who plan to learn Java have an advantage over me.
However, strictly speaking, I am not completely zero-based. After all, I am a major in engineering. I have participated in competitions such as ACM when I was studying, and I have done some computer projects. I still have a little programming foundation.

Let me talk about my own suggestions. Due to the epidemic this year and now entering the second half of the year, those who switch to Java should never choose to quit naked. They can work and learn as much as possible while working. This year, the employment environment is severe and job demand is reduced. For the improvement of personal skills, you must not blindly follow the trend. Are you interested in Java, have the patience to learn, and whether you have the ability to learn in this area, I hope you can learn by yourself for half a month and feel it yourself. If you have any questions, please feel free to ask I. The Java novice learning group I established: 537864251. There are also the latest Java basics and intensive video tutorials, group files and some learning manuals, interview questions, development tools, PDF documents and book tutorials compiled during the time I learned Java technology.

2. Mind journey

From the beginning of my exposure to Java to the present, I have roughly divided my learning process into three stages: wandering, getting started, and advanced.

1. hovering

I first learned about the language of Java more than 2 years ago. At that time, I had the idea of ​​learning Java, but as I said before, I lacked clear goals and strong desires. I just started learning this thing. Was shelved indefinitely.
The second time I planned to learn Java was last summer. At that time, I just passed a qualification certification for my self-study. In the second half of the year, I planned to find a new goal for myself, so I remembered Java again. Fortunately, I persisted this time until now.
Speaking of being able to get started successfully and keep learning this time, many forums I pay attention to are indispensable. The truth is that many forums have a lot of things suitable for novices and novices, which can allow you to understand the Java language and applications in a short time. A general understanding of the field and learning direction can help you formally start learning Java step by step.

2. Getting started

To get started with a language, there are two elements that cannot be avoided, one is learning materials, and the other is development tools.

1). Learning materials
Online videos, books, blog posts and other learning materials can be described as overwhelming, but after all, our learning time is limited, it is impossible to try one by one. Choosing a learning method and materials that suits you is good for beginners A very critical step.
My choice is to read paper books, choose a few books that suit me, calm down and read carefully. The code in the book must be carefully considered (if you have conditions, you can write the code yourself to deepen your understanding). I really don’t understand. The place can be skipped temporarily, but you must keep reading. To put it bluntly, it is "hard bite".
Here I focus on introducing two introductory books:
"Crazy Java Lectures": This book is more suitable for self-study, the content is more project-oriented, and there are many practical methods. If you want to learn java in depth, you might as well take a look at this book.
"Java from entry to proficiency": This book is mainly aimed at the basics of java. It is a good choice for those who have not learned java. Through this book, everyone can start from scratch and learn slowly, and there is a lot of practice, which will not let you see that there will be only theoretical situations in the end. Why don't the trainees need to watch it? Because the content in this book and the books of many training institutions have many overlaps, students who participated in the training can ignore it.

2). Development tools:

Since learning Java, I have come into contact with eclipse idea and two editors one after another. Here I will briefly explain how to use the above two tools:
eclipse: suitable for novices, open source and free, with a large user base.
Idea: Although it is powerful, it is paid and requires cracking. It is not very friendly to novices, so I recommend novices to use eclipse.
Let me add one point here. When opening eclipse, novices will encounter a prompt that cannot be opened: Java virtual machine. This is a problem of installing JDK version or bit number. 64-bit systems can use 64-bit editors and 32-bit ones. But a 32-bit system can only use a 32-bit editor. When opening eclipse for the first time, do not set the default workspace on the C drive.

3. Advanced

The so-called "advanced" here does not mean that you have passed the introductory stage, but refers to making some extensions on the basis of learning the basic grammar of Java and taking the first step towards practical applications.
At present, there are two main directions for learning Java: Javaweb and Java Android. Personally, I feel that Java does not have much advantage in the field of w Android. Choosing to do Android requires a lot of theory and skill foundation, and the entry barrier is high, so my final choice is to start with Javaweb.

At this stage, for those on-campus students and those who want to change careers with their corresponding majors, try to seek advice from veterans around them. If none of them can ask for help from the Internet, I have mainly adopted the following two approaches in this regard:

1). Find and join the network group that suits you

A person who is self-study is likely to give up halfway because of lack of motivation. You can try to join one or several online groups (forums, blogs, etc.) that suit you, and find like-minded learning partners to communicate and promote each other. If you can't find a place to communicate, you can come and communicate at any time: Java Technology Exchange , which gathers many beginners who are learning Java technology. They are very active. If you don't understand, you can ask at any time.

2). Purchase an online course based on your own situation

The biggest effect of buying online courses is not the videos and materials it provides, but to give you an atmosphere and opportunity to learn and communicate with other people. Some courses will set progress or time limits, which can supervise self-study.
There are many online courses. I think there is no best, only the most suitable. Some courses have a set of seven or eight thousand RMB. Although the quality is very high, whether it is necessary for amateur players depends on their own choice.
I chose a set of JavaSE courses (in order to eliminate the suspicion of advertising, the platform name is not written here), said that this course has some flaws, but it did successfully lead me to the basics of Java and the field of Java. Objectively speaking, it is worth the money.

3. Learning experience

1. Keep learning

Persistence is a commonplace topic, but the focus here is slightly different. We have many things to be busy in life, and not everyone can persist in squeezing time out to complete learning tasks every day.
For this, we must take a correct view. The state of "three days of fishing and two days of surfing the net" is normal. If learning is interrupted, we can continue when we have time. We must learn to adjust our mentality and do not have to be discouraged or give up because of learning. To accept this unsatisfactory learning state, this is what we amateur learners should insist on.

2. Refine your goals

In the learning process, it is best to set relatively small goals, and then keep updating them. Interim goals such as building a web site and developing a small game are not suitable for every beginner.
We need to continuously refine and adjust the current goals according to our own learning level and skill level. For example, we can set goals such as "the difference between equals and ==" and "a solid foundation for flexible use" in the early stage of language learning.
With the advancement of learning, it can be adjusted to the goal of "registering and logging in with a collection of simulation databases", and so on. Setting goals that suit you can make learning more motivated, and vice versa, it will increase frustration.

3. Practice more and watch more

· "Practicing" means to be diligent in handwriting code in the learning process. In the early stage of learning, even copying the code in the book can deepen the understanding of the program
. "Looking" means to be good at reading and learning from others. Code, so that it is possible to slowly appreciate the true essence of Java.

Guess you like

Origin blog.csdn.net/weixin_46898270/article/details/108464024