Java Programmer Growth Course (iii)

Source: Internet
Author: User

Take a few directions to try it out:
1, subscribe to some of the cattle blog, which includes technology, learning, life and so on. Not necessarily learn the technology, their experience will be beneficial to people.
I often read:
Tang Qiao, iOS programmer. http://blog.devtang.com/
Zhang Yi, experienced, I have seen not more than 3 times http://blog.s135.com/
Chun Tian Glacier, known as the Umbrella elder brother, unique personality and highly confident people, Lisp language originator. http://tianchunbinghe.blog.163.com/
Lanceyan 严澜, Big Data, algorithms, agility, architecture http://www.lanceyan.com/
There is no writing, and it is estimated that you can write an article.

2, do some of their own things, especially web development, I do not write a blog system worthy of their own (joking). Do not use previously used technology, such as ssh,ssi,spring or anything, throw away. Try something new, like Playframework (a very elegant frame), MongoDB (NoSQL). This can not only improve the technical learning interest, can also broaden their horizons.

1, precipitation is very important, in the process of development to accumulate experience
2, personal positioning, every time you look at a number of large companies to recruit job requirements, always feel that they require the internal strength, so I think when positioning themselves to do background development or research and development, should be good accumulation, may not touch multi-threading, but their amateur can contact, can practiced hand, because I think just a few years of work, is a great opportunity for us to accumulate, but a lot of things are not a project can give us
3, the knowledge system, has always thought that a simple project development harvest will not be too big, the key is the project in the actual application encountered problems encountered bottlenecks how we solve, I think this harvest will be relatively large, because in this process will cultivate a lot of experience, such as the network, server optimization, database optimization, high concurrency, Load and so on the understanding, I think only to form such a system, and then in the actual practice of constantly enrich themselves is the most important

I personally feel that if the repeated do some coding, personal growth is not small, must be oneself in the following constantly to recharge their own, in fact, ssh if proficient and application in the project very OK is also very great, must have their own mastery of the aspects, if anything, then grow where??


Technology at all times in the update, all said we do as code farmers should continue to learn, can not rigidly adhere to the content of the work, more should be self-study, through their own efforts to master more knowledge and technology, accumulate, will someday become Daniel. For example, you will ssh, you can go to learn springmvc, MyBatis and so on, learning while thinking, research that design ideas, there will be a great harvest. Once a great God let me know these, I have not time to see, to recommend to you:
JMS, JNI, compass, JFX, cache technology, Big data storage
Let's refuel together.

If you feel that curd is not improving, you can study distributed systems, data caching, WEB concurrency, Memcached,ngnix
JMS,JTA, JMX can be studied. Database optimization.

Individuals think that what you need most is a complete knowledge system, then can be targeted .....
In fact, I personally recommend the Java Master Canon to the beginning of the system structure, or more agreeable. Of course, the title is a bit of egg pain, of course, you can also read more blog, information and industry dynamics, focus on research under the popular Nosql,hadoop, distributed, Redis,memcache, cloud computing, etc.

In fact, the problems and puzzles you encounter are the foundation of your progress.
For example: Ctrl-c, Ctrl-v. Is the code really going to write like this? Think about it, if you pasted the code 10 times, did your bug grow 10 times times or even lead to more bugs? Copied code means similar functionality, have you ever thought of encapsulating these similar codes? This involves the problem of software design. Why do you keep copying code? Is there a big flaw in the architecture?
Another example: Every day is a crud. Is the business logic code a CRUD? On the contrary, business logic code should not see crud. Why is that? Think about the layered architecture of the software.
So, I think, although the pursuit of new technology is important, but if you want to improve, just continue to pursue new technology is not enough. New technologies can keep you in the short term, but will also keep you on the run. As a Java programmer, I think you probably don't know enough about the most important thing in developing Java applications, which is object-oriented thinking. If you make some effort in this area, you will benefit for a long time.

First of all, I think the program ape is thinking, if it is to do a repetitive thing, then let our machine to do it, if the machine can not be done now, then we should design a code let the machine to do this repetitive and boring thing.
I personally think that coding should be such a process: Design---"coding-----" test.
Design the code to live. Reach the design pattern, and separate the things that change and the things that are unchanging . At the same time, we should design good data structure and design the algorithm.
Coding just follow the idea to do, it should be the case.
Testing is a very troublesome thing, but it does really improve the level of programming. If you can design a more comprehensive test case for a module that you develop, and you can pass it, then I feel that it should be very good, because at least write a program with no bugs.

Java Programmer Growth Course (iii)

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.