Excellent programmers have nothing else to do

Using a programming language is a piece of cake for most programmers, but it is still the dream of most people to go to the next level to become an expert software developer. In the book "Programmer's Thinking Refinement", programmers are divided into 5 levels: novice, advanced novice, competent, proficient, and expert. According to the author's research findings, in these 5 levels, most programmers are advanced novice. Moreover, there are many programmers at this level from 1 or 2 years of entry to 10 years of work.

As a programmer, how can I break through my own bottleneck as soon as possible and get a rapid improvement? This is not really clear in a few words. I graduated in 2009 and joined the software industry. At the beginning of 2012, I left company A where I worked for three years, and joined the current company B. It's almost a year since I stayed in company B. But I dare say I learned more in 1 year in company B than in 3 years in company A combined. Such great progress is due to the fact that I have developed a good study habit and kept acquiring knowledge every day. Most of these habits are stolen from colleagues around me. Now, I will share these things with you, to encourage each other.

We don't need to cross the river by feeling the stones, because our predecessors have already summed up a lot of valuable experience for us.

1. Please use google as your search engine. Putting this on the first line shows that it's definitely a top priority. When you try to use Google to do technical search for a while, you will find out how inefficient and unreliable Baidu is. For the same technical keyword, the matching degree of Google results will be much higher than that of Baidu. If you say that your English ability is poor, please hurry up and study English. I haven't found a very good programmer around me whose English is very poor. Most of the technical articles of foreigners are very delicate and well organized, and they focus on from the shallower to the deeper and have a wide coverage. For example, when I wanted to write an article about Java generics some time ago, I found that Oracle has a complete description of java generics, and the address is here. It can be said that after reading this article, you no longer worry that you will miss the knowledge points in generics.

2. Learn to set goals for yourself and execute them. Some people say that I have a goal, that is, to be proficient in xx language in 1 year. I say that such a goal is equivalent to no goal. Setting goals must follow the SMART principle, that is:

  • Goals must be specific

  • Goals must be Measurable

  • Goals must be Attainable

  • Goals must be related to other goals (Relevant)

  • Goals must have clear deadlines (Time-based)

Unverifiable goals can only be said to be slogans, and shouting slogans is precisely what the Chinese are best at. To establish a verifiable target, the target also needs to be tracked. In the process of tracking and verifying the target, you can use some tools to assist, for example, I use wunderList.

3. Manage your code with a code hosting site. As a programmer, writing some code and demo is indispensable when learning new things. And then throw it away. This is a bad habit. You should learn to manage your code and make it your treasure. There are many free code hosting websites, the first is github. github is the world's largest source code hosting website, many famous open source frameworks host their source code on it, such as Jquery, Junit, Ruby, Clojure, etc. Here, you can upload your source code to share with others. You can also easily view the excellent source code of others. If you want, you can also become a volunteer and develop an open source project with others. Everything can be done with just a git client and a github account.

4. Use journals to summarize knowledge. A programmer who is not good at summarizing is by no means a good programmer. An important part of SMART management is that goals must be measurable. In the process of learning technology, in addition to the output code itself, the log is also an important measurable output. You can jot down mistakes you make to avoid repeating them, or you can jot down your gains to clear your mind. A logging tool, evernote, is recommended. It supports almost all operating systems and mobile platforms, and can easily synchronize logs to the cloud. For some logs, you can reprocess them and publish them on the blog, accept everyone's review, and expand your influence. In addition, the mind map is also a good way to sort out ideas and review and summarize. For example, when I learned regular expressions, I drew a mind map to record all the syntax of regular expressions. If I forget, just look at the chart.

5. Make reading your daily habit. Software engineering is a knowledge production activity, and the carrier of previous experience is text. As an IT person, knowledge changes are very frequent, and it is easy to be abandoned if you do not understand the outside world. We should not only love reading, but also read good books and good articles. Developing good reading habits is one of the qualities that every programmer should have. Here is a recommended website, Douban Reading. There are many technical book information, book reviews, etc. on it, which can be a reference for your reading. In addition, I also strongly recommend some good books, you can visit here if you want to read them.

6. Proficient in using various shortcut keys. For programmers, increased speed means productivity. With increased productivity, you have more time for new learning. The benefit of using shortcut keys proficiently is not just saving time, but freeing your brain from repetitive mechanical work and enabling you to focus on more important parts. As big as the operating system, as small as the browser, all have their own various shortcut keys. Especially for IDEs that programmers use every day, it is especially important to master shortcut keys. From now on, print a copy of the IDE's shortcut keys on the desktop, and familiarize yourself with a few of them every day. In less than a week, you will find that your programming efficiency will increase by at least 30%. Don't question, because that's what I do.

If you don't accumulate a few steps, you can't go a thousand miles. If you want to be a good programmer, it is not enough to have a passion, you must persevere and keep learning. This is to share with you all.

Copyright statement: Source of this article: Author: Huang Bowen, link: http://huangbowen.net/blog/2013/03/24/senior-programer-good-habits/, thanks to the original author for his hard work, such as reprinting involving copyright and other issues , please contact us (public account: Shutong Changlian) will be dealt with in the first time, thank you!

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326549965&siteId=291194637