The growth path of Java Intern < turn >

Source: Internet
Author: User

The growth path of Java Intern < turn >

First of all, we must learn how to manipulate objects, manipulate if and for, manipulate list set map, then thread, IO and JDBC, and the rest, if you don't understand it, you can learn it later if you need it. After this stage, you can write some small programs that can be printed on the console and exercise your logical thinking.   That is to say that Javase graduated, in fact, is only a primer, if you want to go to the web direction, these are basically enough. Next to learn html,jsp,servlet,javascript,oracle,tomcat, goals, write the first dynamic site, maybe just a login function, can only show the next profile, but this is a very important step, you have to figure out that a user's click generated by the request   , where to start, where to receive, where to deal with, and where to return, you have to understand browser and server relationships and division of labor, cookies and session,request and response. This is the beginning of the learning of web development, which is the most original Java since the birth of the most official web development technology, of course, the real projects are rarely directly adopted these technologies, in order to continuously improve the ease of use of technology, development efficiency and maintainability, scalability, Countless open source projects are packaged and improved on the basis of these original technologies.   So at this stage do not blindly run to find a job or internship pick, you will be hit. 1. Tap the code faster, require flexible fingers, minimize input errors. This is the basic skills, or how to achieve a certain amount of code.

2. Proficient in several common code editing tools. (Note that this is the editing tool, in addition to the common Eclipse,myeclipse,jbuilder and other IDE tools, you must also master the text editing tools, Notepad++,vim).

3. Master the general commands in the Linux system. (This is the basic skill that all programmers have to master).

4. Take notes anytime, anywhere. (This does not explain, anyway good experience can not be wrong, it is recommended to use Youdao notes).

5. Learn about the use of some of the mainstream code management tools. (e.g. Svn,github,maven, etc.)

6. Familiar with and proficient in the fundamentals and characteristics of a programming language. (Java language must master Corejava basic section)

7. Be good at writing some tools for yourself. (such as database connection, file read and write operations, etc.)

8. Master the common techniques of web development. (e.g. Html,css,javascript,ajax,jsp,jquery)

9. Master the basic operation of the common database. (e.g. Oracle,mysql)

The initial phase is complete, starting to enter the Web development of the topic, first of all the legendary three framework, struts hibernate spring become a skilled additions and deletions to the programmer is necessary, at this stage you have to understand why use the third instead of those JSP SERVLET JDBC, You have to realize the benefits of writing MVC, three-tier architecture. At this stage do not easily question the value of the three frameworks, perhaps at the beginning you will feel trouble, think they sometimes are superfluous, a year or two after the return to you will feel less of these frameworks you have been very difficult to work. This stage also to avoid the mentality is can be skilled to delete and change, think of writing procedures so much, and then fill in the resume on a proficient, which is the novice interview was one of the reasons for the batch. If you learn well, this should be able to skillfully write a blog ah, small forum AH such web projects, that is to achieve the basic requirements of employment. In this first year, set a standard, you should be able to do is:

Some common trivial techniques have been learned, such as the role of XML and practical use, how to manipulate files, how to use the log, how to simplify the packaging of commonly used tools, such as date manipulation, encoding processing, paging module, and so on, these small things will take up a lot of your time to deal with the groping.

Use the database well. Database is not added or deleted changes can be, you have to pay attention to the transaction set is reasonable, whether it is possible to produce dirty data, whether to use optimistic lock pessimistic lock and so on, important data out of the wrong, both technical and business is a very troublesome thing.

Understand what is a cluster, what is distributed, know how to send requests to other systems, exchange data, WebService.

If you also write the page, you will use JavaScript, not necessarily very deep, you can use jquery instead, do not refresh the page operation and AJAX requests.

This is the first year you've been able to reach this level, and you're definitely above average. When I reached this level, I had a seemingly all-in-one feeling of web development, of course, then I quickly found that I was too far away ....    This stage want to face a high-paying job or difficult, can only say to reach the food and clothing line, do not worry about daily necessities. 10. Master some mainstream open source framework, design ideas. (e.g., spring MVC, struts2+hibernate+spring/ssh, EJB, etc.)

11. Master Design Patterns and learn to use some development models.

12. Mastering Shell Programming in Linux

14. Learn to use the DDL,DML of the database, as well as stored procedures.

15. Be familiar with the entire life cycle of the project, from the requirements to the various stages of the launch.

16. Focus on technology sites and communities, develop ideas, learn from others ' best-order experiences, and share your experience. (e.g. CSDN, Oschina, etc.)

17. Be familiar with all kinds of documents in the whole project cycle.

18. Plan a project for yourself regularly, practiced hand.

In the next phase, you should consider the quality of your code.

The concept of multi-threaded and asynchronous, concurrency suddenly becomes important, because in a performance-critical system, you will not be allowed to do all sorts of things in a team to do, you can not always write a method of the B method to adjust the C method and then adjust the D method and then return the code. You start to think of a queue of this kind of thing, have runable this kind of thing, you start to feel your code high-end, and then the additions and deletions to change the programmer there is a difference. But at the same time the trouble comes, you start to encounter thread safety problems, especially when your program runs in a multi-machine environment rather than a standalone environment, you will have a headache. For these problems, JMS technology is a very representative thing, of course, it is not as common as SSH.

You will find that database performance is not good, out of the status quo, or trendy, you should go to understand NoSQL, memcached Redis MongoDB, dazzling, it doesn't matter, try to use, can be very well to alleviate the pressure of the relational database such as MySQL.

For some business needs, you may delve into a specific area of technology, such as full-text search, LUCENE\SOLR, such as workflow jbpm, such as a permission system, a single-point-of-entry, or some specific business domain algorithmic research, which is your bonus.

You start to find that your code is messy, after a long time you can not understand, repetitive, difficult to reuse the Code mountains, do not want to maintain, a lot of bugs. So you have to start to pay attention to design patterns, reasonable to transform their own code habits, no longer the rigid SSH,MVC three-layer architecture bound to live.

Google and a variety of materials are your driving force for progress, rarely encounter the need to ask others to solve problems, if you are always asking others, your technical career is almost over.

At this stage, if your communication and self-promotion ability is not too bad, your income will be white-collar level, at least close. I think most programmers can reach this level after many years of work, some people only need two years, some people have to spend five or six years, at this stage, some are out of talent and thinking limits, some are out of the technical lack of enthusiasm, and some are due to work content constraints. Until the year of middle-aged, no longer spell young, was eliminated, only in self-mockery for the cock and yards of the helpless in the farmer's career.     This is a very important sub-water age, you can continue to progress, can not be able to continue to engage in technical work after the age of 30, can independently in the company, I think you can go beyond this stage. 19. Focus on technology, understand it dynamics, learn to discover and innovate.

20. Start learning about project management and learn how to be a good project manager.

21. Buy yourself some books and recharge your brain in time.

22. Take part in some training seminars to broaden your horizons.

23. Pay attention to policies, understand the era of Internet development trends, learning and innovation.

And then there's a whole new phase.

You have to read the source of excellent open source projects, you have to understand some of the basic knowledge that you did not understand, you begin to understand the essence of thinking in Java, you can write some of the underlying code, and sometimes feel that they are packaged more than some open source tools to better use more simple.

Web is always the difficulty and focus on performance, load capacity, and now the development of the network caused by the data volume and operating density greatly increased, the hardware has no corresponding progress, you have to try to better use more servers to work together, from the Web end to the server to the database, all need to cluster, need to distribute, Need reasonable control of the flow of data, master the site up and down, a lot of machine balance, find the bottleneck of performance, find the bottleneck of stability and security, hardware failure, third-party technology errors, will be as a potluck into your system and the code carefully considered.

Start to feel that the program is extremely important, one will be incompetent exhausted thousands of troops will continue to be fulfilled, a bad design, a bad plan, will let a group of excellent programmer work results greatly discounted. You should focus on architecture knowledge and no longer be content with the SSH three layer architecture. Domain-driven design, event-oriented development, agile development and so on a series of ideas at the critical moment can determine the life and death of your project, this stage no longer have the standard paradigm to copy, you only know the idea and principle, practice but need to constantly try and improve.

Pay more attention to the various assorted of open source technology, some of which you may have been contacted before, and communication related, and integrated development environment, and architecture-related, all areas you should be able to say a few mainstream technology, although you may just heard, understand, but the key moment you need to know how to choose technology, and quickly master it. You will also consider trying another language, this is not to say to what C + + C #, which is irrelevant to the Java programmer, I am talking about some of the languages running on the JVM, such as Scala and groovy, when you first know them, you will feel that Java is really old. But when you go back to a large, comprehensive project, you'll find that the whole system technology that Java accumulates is so perfect, just like an industrial standard.

You can put this stage into practice, competent project managers, and even small and medium-sized company technical director are all right. Unconsciously wrote so much, the above is my personal eyes of the general to the Java EE Development Line, limited to the passage is not comprehensive, the actual personal growth route may be due to different work content will be very large, some people biased to the bottom of the study, some people biased to the business needs of design, some with strong industry color, and technology , and a lot of knowledge is also important.
There is no easy way to do Java, but a person who is interested in technology will still be passionate about development and want to write good projects. A program that works purely to make a living. Apes are not going to be this step. Categories: Other Tags: text feeling good text to the top concern me to collect the article

The growth path of Java Intern < turn >

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.