What is the future of the programmer from the training course?

Source: Internet
Author: User
Tags aop data structures redis elastic search

Click "Programmer Little Gray" above and select "Public number"

Interesting content of the article first time delivery.



This article is reproduced from the public number agricultural roll-over




First of all, congratulations from the training class out to find a job classmate, it is not easy, 4 months of training, every day from 9 to 9 o'clock in the morning, is also 996, the main activity place is the dormitory and classroom, let me now also to training, I estimate still can't boil down.


Especially for the students from the beginning of the 4-month period of continuous contact with new technologies, new concepts, one has not been thoroughly understood, the other one on the whistling, gobble, want to really digest is difficult.


So I often say that I have great respect for those students who are trying to change their fate through training.


Now that you have found a job, you can take a little breath, but can you rest on it, that is absolutely not.


Training just let us into the door, have a preliminary work skills, can participate in the project, under the guidance of others, under the framework of the ready to write business code, want to become a real programmer, the road is very long.


I would like to give you two words of caution and some caveats.


1 Adaptation period: Do the work well

First of all, we must assign to our work well, this is the bottom line.


To take out 300% of the momentum to do, is to work overtime and high-quality on time to complete, who let us be new. The initial establishment of their own serious and responsible image, attention ah, the personal image is very important drop.


Encounter obstacles must be raised early, consult colleagues, "not ashamed on the question", do not be embarrassed, do not fear others despise.


The most feared is that there is a problem to you, you sit there silent, two days later, the leadership found you seriously behind the progress.


If you have the power, get familiar with all aspects of the project as quickly as possible, especially in business.


Collect business Knowledge related documents, repeat reading, try to understand, do not understand to consult. Note: These things are likely to be completed in your spare time, after-work game will not play, now work first. But you can rest assured that your hard-working attitude will certainly bring you a return.


Make good relationship with leader, project manager and other leaders, seize all possible opportunities to lead communication proactively and confidently (for example, at lunch time). Do not always "obscure", to participate actively, understand the progress of the project, personnel situation, what difficulties. In short, you need to quickly integrate into the team and into their circles.


Don't be embarrassed, always avoid the leadership walk, let the leader think: this child so afraid of me, is not what problem.


2 in-depth learning techniques and principles

Through the adaptation period, will feel much more comfortable, code and business gradually familiar with the task can be done without overtime. And colleagues began to become familiar with, and then entered the comfort zone.


This time you can delve deeper into the technology, what Nginx, Redis, RabbitMQ, Shiro, Elastic search, Spring ... and other knowledge, the training course may have learned, but I believe that just learn some fur, the principle may not quite understand, this time can be combined with the work of the technology, in-depth study.


For example Nginx, to understand the Epoll technology, and the difference between the select. Understand what non-blocking IO, can learn Java NiO, interested in the words can also be targeted at node. js, the essence of the principle is interlinked.


For Redis, at least the distributed consistency hash is understood, although Redis does not use this algorithm, but it is compared to the slot-based approach of Redis.


Understand how the cache fails, how it is handled, and how the cache is affected by how the machine is added and deleted. If your project is using Redis for caching, take the initiative to ask the relevant person in charge, after all, there is still a gap between theory and practice.


For spring, now consider the implementation of Di and AOP principles and techniques, you can try to write a small container, absolutely exercise people.


Di is good to say that AOP needs to have the underlying technical support, which is the Java Dynamic Agent and Cglib. Digging further down is the ASM, class file format, ClassLoader, which goes into another big world: the JVM needs to master the logical structure of the JVM, the execution engine, and especially the latter, to understand how a class is loaded into the method area, The concept of stack frames is helpful for learning C language at the machine level.


Can read some object-oriented design, design patterns related books, not just to see, to think, it is exactly what to solve the problem. Compare some design ideas with your own projects to see why the design is so, whether there is a problem, to the senior colleagues to consult.


......


In short, the best from the work of the use of technology to start learning, theory with practice, or that sentence, "not ashamed on the question," as a programmer, always bulkhead himself to do, hope Blockbuster, give others a big surprise, that is not too realistic.


3 Computer Fundamentals

Go down to enter the field of computer-based, said many times before, it is estimated that the old readers are tired of it, here again wordy.


Several important concepts of the operating system must be mastered, processes, threads, virtual memory, must understand the program at the machine level representation, register, function stack frame, etc., if you can understand the buffer overflow attack and defense is almost, this knowledge needs to involve C language and assembly.


Understanding the threads of several implementations, for future learning go language concurrency, Actor, ErLang and other technologies and languages have great help, you will find a sense of déjà vu.


The study of data structures and algorithms must always be done, although the most commonly used in the work is arrays, lists, and maps.


For the commonly used data structures to write their own, read the JDK corresponding implementation. To do a lot of problems, exercise their logical thinking ability.


If you work closely with the database, the relevant technology in the database, such as indexing, transaction, query optimization can not be missed.


For the computer network, we should understand the essence of the agreement and the nature of stratification. The specific protocol HTTP is necessary, but also to understand the principle of reliability transmission, TCP/IP and other protocols, sockets and other basic concepts.


4 Summary

I need to remind you that what I'm talking about here is just a general hierarchy, and it's quite possible to jump from top to bottom in the learning process, which is normal, a lot of knowledge points are interrelated, not completely isolated. Especially at the principle level.


You will find that there is much to learn, this article can be listed is also part of it, there is no way, this is the world of programmers, and more frightening is that there are many new technologies are constantly emerging.


Therefore, for the training of students from the school, to find a job, but only to get started, must not stop this.


There is my long-winded so much, perhaps a moment touched you, but the key is to act, and persist in learning, so as to become a real programmer.



————— END —————




Friends who like this article, welcome to long Press the following chart to follow the subscription number programmer Little Gray , watch more exciting content


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.