preface
What does an Android senior architect need to learn?
Here’s a summary of the skill points I think you need to master as an experienced developer.
So let’s talk a little bit more about how do we advance
First of all, the learning of technology is a process of accumulation over a long period of time, from quantitative change to qualitative change, there is no way to make you become a big bull in a short time, the so-called step to the sky, is left to those legendary genius, but genius is only a few people after all.
Most of them have achieved their current achievements with perseverance, with the right learning methods, through continuous efforts and continuous learning, and with a lot of energy.
So, when you read through the official document, you are actually just taking a small step, and you need to keep working hard to become a real bull.
So how do we proceed to the next step?
That brings us to the actual project
The ultimate purpose of learning a technology is to apply it to practical projects. No matter how powerful a technology is, if it cannot be applied to practical projects, its significance and value will be very limited.
And the human brain is not like the computer, it will forget, if not through a lot of actual combat projects, a lot of knowledge points you will soon forget, at least I am so (who can tell me, how can poor memory be saved!! .
Therefore, after reading the official documents, we must constantly consolidate our knowledge points through a large number of actual projects, at this time you can not fully understand a lot of knowledge points, only through the experience of the project, analysis in stepping pits, growth in solving problems, in order to understand some technical concepts in essence.
Experienced developers should have more or less experienced concepts that are not well understood at first, but over the course of project after project, you will find that you somehow understand the principles. Yes, that’s the feeling!
In fact, I do not have too many skills for project practice, or in a word, it is to do, but in this process you must think more, why write so, why do so, learn to understand the principle, to pay attention to the essence.
Now let’s talk about reading technical articles
In such an era of information explosion, it is very easy to find dry articles about a certain technology from the Internet. All kinds of technology platforms (CSDN, CNBlogs, OSChina, Android Bus, SegmentFault, etc.) and all kinds of wechat platform public accounts are good ways to obtain dry goods information.
While the official documentation is amazing, there are a lot of things we may not know about it, because it is often hidden in the deeper API documentation, and the sheer number of apis makes it difficult to read through all of the API documentation, rather than using it as a search tool.
In my opinion, a programmer who does not actively pay attention to various technology platforms for technical information is not a qualified programmer, so I spend at least an hour every morning on various technology platforms to obtain useful information
- Search relevant technology of dry paper on the one hand, through the reading of these articles to consolidate their knowledge and leak fill a vacancy, after all, the learning is not only a document of technical points, the most primitive technology also contains a variety of architectural design, use of tools, the implementation of functions and applications of the solution, etc., through various articles on these platforms, Can make their knowledge system more perfect.
- On the other hand, as a developer, we need to know the latest technology trends and pay attention to the development trend of technology through these platforms. After all, the speed of technological update is very fast now, and the transformation of technological ecosystem may lead to the elimination of a certain technology at any time. (As a layman, I come to make money. Then again, programmers love to share, so there are a lot of technical articles out there.
We have to screen and read appropriately according to our own situation to improve our learning efficiency.
For my part, I have divided technical articles into four categories according to my own understanding:
- Knowledge point explanation class: generally introduces specific knowledge points of a certain technology.
- Function realization solution class: targeted relatively strong, generally is a specific function or a specific scene of the function implementation or program application including Bug solutions, etc., the article will generally have certain ideas of analysis, as well as specific code implementation.
- Source code framework analysis class: for each technical point or framework source code disassembly, analysis and explanation.
- Learning methods/experience summary: mainly introduces some learning methods, and summarizes the problems encountered in the project development.
For expository articles, if you’ve learned to read official documentation, it’s easy to tell if it’s just a document porter. If it is, I’ll skip over it quickly, focusing on whether the author has added his or her own analysis and opinion. If it is the author’s original work, I will read it carefully to see if there is any deviation or omission in my understanding of a certain knowledge point.
Functions \ solution for this kind of articles, the scene is numerous, I focus on its implementation and analysis way of thinking, so that in a similar scenario to extrapolate, for some common functionality or plan, I will carefully read and study their code, and the rest mainly on tags and collections, leave a impression in the brain, to establish a index, Look it up when you need it. For my poor memory, I only remember the title of an infrequently used scene after a period of time.
I will read the article of source \ framework principle analysis class repeatedly, and do verification with the source code at the same time, and do a review or summary regularly, to deepen the impression in my mind, because the understanding of the principle can help me find the best solution faster and better when I encounter project problems.
Learning methods/experience summary of the article, quantitatively compared to other types of articles will not be too much, I will be very careful reading and general so-called predecessors trees descendants cool, learn their experiences can make us less detours, of course, this kind of subjective consciousness is strong, need we to distinguish what is really useful.
One might ask, spending an hour a day reading technical articles can be messy…
Indeed, the capacity of our brain is limited after all, just like our LRUCache caching strategy, the most commonly used information will always be retained in the brain, but the content that we do not pay attention to for a long time will soon be discarded and forgotten (legend of the world there are a group of “hyperthymesia” patients, no ability to forget. Can experience their own things, remember clearly, can be specific to any detail, good envy! .
For the problem of forgetting, what we can do is to do a good job of collection, but there are too many technical platforms, the collection of articles in various platforms, when we need to search, we may find that we cannot remember which platform the collection is on, and the search efficiency of one platform after another is certainly low.
Or a lot, so we can use the cloud notes that you feel good to collect articles to a site, according to their classification, this text to establish the link of different indexes, give the title of each index a you think important keywords, in each time you add a new article are reviewed the index of the collection, So when you want to find an article, you can find it in the fastest way.
I know how to read documents, but with all the tech blogs I read, is there no other way to learn?
The answer is definitely no!!
Although blog dry article very much, but in most cases the knowledge system is relatively fragmented, compared to books, it is not so systematic, compared to the video tutorial, it is not so straightforward, so despite the document with blog to study, we also need according to their own situation additional books or video tutorial.
Someone feel always static heart not to read, my approach is to read a book when make a small goal, such as reading the book at least 20 pages every day, every day to learn the contents of not too much, it is not easy to let a person become anxious, of course, you can according to their own situation to make every day reading, if according to the reading quantity of 20 pages per day, A 500-page book, read in less than a month.
Some people think it takes too long to watch a video tutorial, which is actually true. Some blogs can read more than 10 minutes, but it often takes an hour to explain the content in the video. But the advantage of video tutorials is that you can see the real-time operation and explanation screen, and some concepts are more intuitive and easier to understand.
Of course, if you’re playing a local video, you can speed it up by using a player like potPlayer that speeds up video playback without changing the sound of the video.
The last
Those who want to learn more about the interview can ** click here to get the Interview Documentation for free ** In addition, I also share some free quality resources, including: Android learning PDF+ architecture video + source notes, advanced architecture technology advanced brain map, Android development interview topic information, advanced architecture information this several pieces of content. Share with you, very suitable for the recent interview and want to continue to advance in the technical path of friends. Come and get the learning materials