Java champion programmer tells you how to improve your skills


  Let's talk with the JavaEE training

instructor of Brotherhood - how to become a champion programmer

?
I think the following skills are very helpful:

  1. Strong memory. When I was in eighth grade, it was all because of that lifeless history teacher that convinced myself that my memory was terrible. However, to my surprise, after years of working as a programmer, I was amazed to find that I could immediately reproduce Java source code I had seen before. When I read a method in the JDK, I can often tell if the method has changed from previous versions. Maybe I can't remember a person's face and name, but I can do it with Java code -- if only the person's name was a for loop. Fortunately, the lack of a good memory doesn't stop us from becoming champion programmers, but having a strong memory is still a distinct advantage.

  2. Mathematical ability. You don't need to be a math whiz to be a good Java programmer, but math ability will obviously help you have the qualifications to be a good programmer. I had some spare time in January of this year, so I decided to try Project Euler. One of the puzzles took nine and a half hours to find a solution. While it was running, I looked at the problem and found a little relationship between the numbers that could be used to optimize the solution. I ran it again and this time it only took 6 minutes. Meanwhile, my first algorithm was still running, trying to find an answer. I went back to the numbers again and found another pattern I hadn't seen before, now it only takes 6 seconds to complete. I've also tried brute-force optimization of the code with clever programming tricks and parallelism, which may have speeded things up a bit, but still no way to make it less than 6 seconds.

  About a decade ago, Sun launched the Java Champion program. The idea is to discover the top 1000 Java experts in the world who are also actively doing things to help improve Java. We're probably at number 160 right now. Oracle has continued this program, and over the past few years, we've seen more benefits from this recognition system. This is an optional group. New champions are recommended and voted on by existing champions. Typically, more than a dozen in favor are required before a champion is chosen, and one disapproval will overrule the proposal. Self-referrals are considered, but generally do not receive enough support.

  Programmer friends often ask me how I became a Java champion programmer, and "it's very simple" I said, "Just like me, publish 200 Java-related articles; either write Hibernate, Spring, Jacoco or something; or in Answer thousands of questions and publish a dozen good articles on StackOverFlow; or organize the largest Java developer conference in Europe."

  You need to do something great, and it will take time and effort. No one is a champion Java programmer because of their charisma and good looks, it's all about hard work, which is probably why we don't have face photos after our names ;-) . Even, don't be a champion programmer just to be a champion programmer. Putting aside selfishness and waiting for praise from others will make you feel better. Not every champion programmer will be officially dubbed the "Oracle Java Champion" title.

  Whichever way you choose, being a champion programmer means dedication. Unlike a 9-to-5 job, you can't learn everything you need on the job. And to be a champion programmer, you need to spend your evenings and weekends studying to keep up with the times. The most exaggerated joke is that programmers go out of business as soon as they turn 40. Maybe they're doing just fine with Java programming - unless they refresh their knowledge by reading books, articles, or attending developer conferences and challenging courses - or just relying on a diploma will eventually become Worthless, the industry will throw them away like used napkins. Don't be like that! Study, study, study! And the best way to learn is undoubtedly to share knowledge with your peers.

  How about sharing your knowledge? Today, we have many options: answer questions on StackOverflow or other similar sites; discuss technical issues at lunchtime by ordering takeaways—many years ago at one of my own In the company, we went through "DesignPatterns" in this way. It takes a little sacrifice, and you may have to forgo lunch and spend some evenings preparing for your meeting. However, there is much more to be learned from this than simply being a consumer of information.

  "The Java™ Specialists' Newsletter" is now read by more than 70,000 programmers in over 130 countries, but started out very tiny, and I sent it to eighty of my friends and family (including my brother, and I parents), I implored them to forward it to their friends and colleagues. It develops slowly over time. I believe if you look around you can find 80 email addresses and that's how it got started. Everything starts small. It's developing slowly, but growing steadily. I know when you look at the number 70,000 you might be intimidated, but that's just a tiny percentage of Java programmers.

  Finally, I want to end this post with a very helpful point: enthusiasm. Most people have to do boring computer work that few people enjoy. At one of my jobs, they assigned the job of organizing the source code repository to an electronics engineer. He got it all wrong - let's copy the source tree between directories when he's doing source control. We have to do this at the same time every week during the build and the server is as slow as a crawler. It often takes hours when the machine gets stuck and all the people have to wait slowly, which is painful and frustrating. I'm not enthusiastic about VSS (Visual Source Safe: used to manage source code and documentation of different versions in software development). Find something you love, something you'd love to do after get off work. For me, it's researching the nooks and crannies of the Java ecosystem. Enthusiasm is what keeps us going when there are countless reasons to stop.


Guess you like

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