How to become a Java champion programmer?

Source: Internet
Author: User
But some programmers friends have been asking me for career advice, and now I think it's time to write one more. Incidentally, if you have a mind to look at something else-I've started documenting the horrible food I've cooked on Heinz's worst Recipes (Heinz worst recipe). By my strong desire to eat-this can be proven by my waistline, cooking is a big hobby for me. I am far from being a qualified cook, because I never follow recipes, and many of the foods I cook are discarded in a state of "sadly not edible", and of course, sometimes after enough attempts and enough problems, I can do what I want. In my blog, examples of successes and failures are recorded. Of course, this has nothing to do with Java. How to become a Java champion programmer? A few months ago, my business partner Carl and our French course mentor, Xavier, dined at a Parisian restaurant. In the conversation, Carl and I talked about the cool technologies we used when we were young. Meanwhile, I noticed that Xavier was silent for a long time, so I decided to ask him about his age. Although I can't think of his age, I remember his age is very different from mine, and my second child is similar in age. This means that, for years, the programming experience that Carl and I have had at the same time is worthless to him. In a software engineer's career, knowledge has a three-year half-life. This means that after three years, half of your knowledge is worthless. As an example, the older you get, the harder it is to see who knows about TSR (memory-resident program Terminate-stay-resident), and finding someone who has ever written a TSR is like a needle in a haystack. In a DOS system, it is not possible to have multiple programs running concurrently. So, when we need a background function, like a calendar or a calculator, we write a memory-resident program (Terminate-stay-resident programs) and then activate it from another program with a specific key combination. In this industry, the 3.5 decay of knowledge is actually a very good thing, which makes you never become a sinking boat disease tree. During my teenage years, people warned me against me becoming a programmer, thinking that I would be forced to continue learning new things, and I thought our work would benefit from it. First, the mind should remain fresh and active. The last time I saw my grandmother, she was 98 years old, walking inconvenience, but still heart like a mirror. She saw my Macbook Pro and said, "Yo, this looks good, I want to buy one, too." "It was because she kept learning new things that made her mind clear. Second, ignore those technologies that you are not very interested in, because they will be replaced soon. Let me cite an example of Subversion. IUsed it in the past, because I had to use it, but I didn't treat it particularly, and I didn't become an expert on Subversion. A few years later, Git showed up and waved goodbye to Subversion. Sadly, this year I have a client who actually migrated from CVS to Subversion! It's 2015 years! Okay, let's go back to the subject-how to become a champion programmer? I think the following points are very helpful: powerful memory. When I was in the eight grade, all because of that lifeless history teacher, let me believe that my memory is too bad. However, to my surprise, after years of working as a programmer, I was amazed to see that I could reproduce the Java source code I had seen before. When I read a method in the JDK, I can often say that the method is unchanged than the previous version. I may not be able to remember a person's looks and names, but the Java code can be a memorable one-if the name is also for the loop. Fortunately, the lack of good memory does not affect us as a champion programmer, but having a strong memory is still an obvious advantage. Mathematical ability. Not being a math whiz can be a good Java programmer, but math capabilities will obviously help you qualify as a great programmer. I had a bit of free time this January and decided to try the Euler puzzle (Project Euler). One of the puzzles needs to run for 9.5 hours to find a solution. As it runs, I look at the problem and find a little relationship between the numbers, which can be used to optimize the solution. I run it again, this time it only took 6 minutes. At the same time, my first algorithm continues to run, trying to find the answer. I went back to the numbers and found another pattern that I had not seen, and now it takes only 6 seconds to complete. I've also tried to optimize code with clever programming techniques and parallel brute force, which may speed up a little bit, but there's still no way to make it less than 6 seconds. About 10 years ago, Sun released the Java Champions Programmer (Java Champion) program. The idea is to discover some of the world's top 1000 Java experts who are also actively doing things to help Java improve. We're probably in 160th place now. Oracle continues this program, and over the last few years we have seen more of the benefits of this recognition system. This is an optional group. The new champions were featured and voted on by the existing champions. In general, more than 10 votes are required before a winner is selected, and an objection will veto the proposal. The case of a recommendation will be considered, but generally will not get enough support. Programmers friends often ask me how I became Java champion programmer, "very simple" I said, "As long as I have to publish 200 Java-related articles, or write a Hibernate, Spring, Jacoco or something, or stackoverflow to answer thousands of questions and publish a dozen good articles , or organize the largest Java developers conference in Europe. "You need to do something remarkable, which will take time and effort. No one is a Java champion programmer because of their personal attractiveness and beauty, and it's all hard work, which may be the reason why we don't have face photos behind our names. Don't even be a champion programmer to become a champion programmer. It will make you feel better by abandoning your selfishness and waiting for the compliments of others. Not every champion programmer is officially dubbed "Oracle Java Champion (Oracle Java Champion Programmer)". Whichever way you choose, being a champion programmer means giving. And nine-to-five-night work is totally different, you can't learn all the knowledge you need at work. To be a champion programmer, you need to spend evenings and weekends learning to keep up with the times. The most exaggerated joke is that programmers will be in the elimination phase at the age of 1-40. Maybe they're doing a good job of Java programming--unless they refresh their knowledge by reading books, articles, or attending developer conferences and challenging courses--or simply relying on a diploma to become worthless, the industry will throw them away like used napkins. Never become such a man! Learn, learn, and learn! The best way to learn is undoubtedly to share your knowledge with your peers. How to share your knowledge? Today, there are many ways to choose: You can answer questions on StackOverflow or other similar websites, and you can discuss technical issues by calling out at lunchtime-many years ago in one of my companies, we went through "Design Patterns ". This requires a little sacrifice, you may have to give up lunch and spend some evenings preparing for your talks. However, there is much more to be learned than consumers who simply make a message. "The Java™specialists's Newsletter" is now read by more than 70,000 programmers in more than 130 countries, but it was very tiny when it started, and I sent it to my 80 friends and family (including my brother and my parents), I begged them to forward them to their friends and colleagues. As time goes on, it develops slowly. I believe that if you look around, you can find 80 email addresses, and that's how it started. Everything starts small. It is slow to develop, but it grows very stable. I know when you see the number 70000, you canCan be intimidating, but this is only a small percentage of Java programmers. Finally, I would like to conclude this article with a very helpful point: zeal. Most people have to do boring computer work and few people can enjoy it. In one of my jobs, they arranged the work of the source code base of the organization to an electronic engineer. He's totally mistaken--when he's doing source code control, let's copy the source tree between the directories. We have to do this at the same time every week build, and the server is as slow as a reptile. It can take a few hours to get stuck in a machine, and it's painful and frustrating for all of us to wait. I have no enthusiasm for VSS (Visual source Safe: The source code and documentation used to manage various versions of software development). Find something you love, and it should be something you would be very willing to do after work. For me, I was studying the nooks and crannies of the Java ecosystem. Zeal is that when there are countless reasons for us to stop, it still drives us forward. It's kind of like the reason I like cooking. Fortunately, I am programmed to be higher than the level of cooking. Free to receive the Lamp Brothers and original PHP tutorial CD/"Detailed PHP" Essentials Edition, details of the inquiry website customer Service: http://www.lampbrother.net
  • Related Article

    Contact Us

    The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

    If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.