After 00, programmers have worked hard for nearly a year, and have summarized the following 7 life suggestions for students (recommended collection)

After 00, programmers have worked hard for nearly a year, and have summarized the following 7 life suggestions for students (recommended collection)

Preface

        Hello everyone, I am a post-00 programmer born in the millennium. Due to a very special personal reason, I have graduated and have been in the workplace for a year. In the continuous exploration of society for nearly a year, I have understood a lot of life philosophy and seen through a lot of human reality. With the help of this sharing, I sorted out the themes in the following aspects, I hope it will be helpful to you, and avoid detours on the road to excellence.

1. Pay attention to the underlying basic capabilities

        When talking about basic research issues at a press conference this year, the Prime Minister said, "No matter what career or ambitions you have in the future, you must pay attention to strengthening the learning of basic knowledge, and strengthening the basic skills and cultivating innovation capabilities go hand in hand." This sentence is especially applicable in the IT industry. Regardless of whether it is a major or not, every programmer should spend time to understand and learn the basics of computer science.

        Have you ever felt that data structures and algorithms, like operating systems and computer networks, are knowledge divorced from actual work? Maybe you don t need it in this life except for an interview? I have thought about it this way before, because my mind has been in a closed state until I really get out of society. Later, after reading many articles written by others, I suddenly discovered that this idea was wrong.

        Let me give an example that most students will experience. When the school recruits, the students who participate in the interview usually have no actual project experience, and the company can only check whether their basic knowledge is solid. Not to mention social recruitment. The more powerful the company, the more it focuses on basic knowledge such as data structures and algorithms . They value your long-term potential more than short-term capabilities.

        In recent years, many companies have developed extremely rapidly. Take ByteDance as an example, and open a large number of HCs from time to time. Some popular positions are short of people. The recruitment of interns does not require any skills. Go in directly and have a tutor to help you. You take you, there is only one recruitment requirement, and there is a solid computer foundation .

         Let me give another example that Xiaozheng mentioned in "The Beauty of Data Structures and Algorithms". A technical master of Tencent T4, he worked at Tencent for more than 10 years before the blockchain tide, and he was responsible for the overall construction of the mobile QQ backend for a long time. He has gone through the entire process of mobile QQ from birth to online with hundreds of millions of users. Later, he went to WeBank, and one day the boss asked him to do blockchain. It took him less than half a year to figure out the entire technical context of the blockchain. Now, he is the head of WeBank's blockchain and the head of WeBank's innovative product department. Are you amazing? Can you master a new field in half a year? Why can he do it?

         The most important thing is that the foundation is solid enough. He once told me that seemingly new technologies like blockchain and artificial intelligence are not "new" at all. When he first learned programming, he learned all the basic knowledge thoroughly. When faced with industry changes and new technology changes, he constantly discovered that the core and essential things of those so-called new technologies are actually the knowledge they learned at the beginning. After mastering this "law", he learns everything quickly, and any new technology can quickly catch up. This is the secret of his rapid learning and success.

        Basic knowledge is like the foundation of a building. It determines our technical level. If we want to do something quickly, the prerequisite must be strong basic skills and "internal strength" in place . At the end of this point, I will give you a heart-warming and realistic sentence: "The breadth of technology determines whether you can enter a company, and the depth of technology determines the level of your offer." It is not difficult to explain why we Of students can find a job, but the salary is not very high. Therefore, students, please pay attention to the basic skills at the bottom! ! !

2. Learn to build your own knowledge system

        The development of big data is no longer a new term. The application of big data has become ubiquitous.

        When I was studying in school, the big data in my eyes was only the understanding and use of some commonly used components in the "big data ecosystem", and only a few things about how "big data" played a role in the enterprise. Immature "enterprise projects". In the past, I knew that Hadoop refers to an ecosystem in a broad sense, which refers to open source components or products related to big data technology, such as HBase, Hive, Spark, Zookeeper, Kafka, flume... After I came out to work, as I continued to understand more deeply, I It turns out that the world of big data is far more exciting than I thought. Flink, the real-time stream processing engine that has become popular in China by Ali, Fackbook s open-source distributed SQL query engine Presto, the first top-level Apache project "Kylin" led by Chinese people, the high-performance real-time analysis database Druid, and many Kudu, Iceberg, ClickHouse, Hudi, Cancal, etc. will not be listed one by one. In short, I feel that many technologies are constantly iteratively updated. You must maintain a keen sense of smell and follow up and learn in time to avoid falling behind too much.

        And so many techniques, for a beginner like me, it must be impossible to digest instantly. So how did I learn? Here I used the "learning to build my own knowledge system" mentioned in my subtitle.

        Let me first introduce what is "knowledge system"?

        The so-called "knowledge system" refers to the combination of a large number of but different knowledge points, systematically, orderly, and directional clearly into a certain type of knowledge structure .

        Through this knowledge structure, we can better understand certain problems and solve certain problems. The opposite is the fragmented knowledge points.

         In other words, the "knowledge system" is like a spider web, which can connect different knowledge points in a regular manner, thus shaping our thinking mode of seeing and understanding problems; even if some of the knowledge is forgotten, we have His independent thinking ability can also help him continue to work and live. Fragmented knowledge can only be used like "headaches, heads, feet, and feet". Once separated from the specific application environment, it is useless.

        You may see that you are still confused here, because I didn't tell you how to implement it.

        For example, if you want to learn data structures and algorithms , you can first clarify what is the purpose of your learning at the beginning, whether you want to meet the interview, or simply want to improve your algorithm ability, then you may be looking After the information, the following picture was drawn. But later you think about it, as a beginner or a non-algorithm engineer, there is no need to learn all the data structures and algorithms. After asking the senior and senior sister how to deal with the BAT algorithm written test questions, I decided to master these 10 data structures: array, linked list, stack, queue, hash table, binary tree, heap, jump table, graph, Trie tree; 10 algorithms: recursion , Sorting, binary search, search, hash algorithm, greedy algorithm, divide and conquer algorithm, backtracking algorithm, dynamic programming, string matching algorithm. Then learn with purpose and pertinence. This is the process by which you build your own knowledge system.

        Of course, the process of suggesting a "system of knowledge" is not simple. Generally, you need to go through the following six steps. I will not start one by one here. If you want a deeper understanding, you can do further understanding by yourself.

3. Forget what you have learned, what is left is the essence of education

        American educator Skinner once famously said: When we forget what we have learned, the last thing left is the essence of education. The so-called "leftover" is actually the ability to learn by oneself, but also the ability to learn by analogy or learn from one another.

        In college life, the education we can receive is rarely work-oriented and employment-oriented. And when you truly enter the society and enter the enterprise, you will find that many times you cannot solve it with the little knowledge you have learned. This requires us to continue to learn, try and make mistakes, and sum up.

        While in university, it is important to learn professional knowledge, but the most important thing is to learn the ability to think independently and cultivate the ability to learn from one another. In this way, you will be able to adapt to the ever-changing future world when you graduate.

        Tell me something I've been doing all the time. I especially like to use all kinds of "cloud note" software, especially the "Yu Que" that has been used internally by Alibaba. Every time I finish a project, I will write a project review under the knowledge base created by Yuque. Including the entire process of the project, what specific things you have participated in, what problems you have encountered, how to solve them, and what can be improved and optimized. I will record these in great detail. On the one hand, I think that timely review will allow me to sort out what I have done at this stage, and the context will be clearer, and I will be able to find the correct review and review when I need an interview in the future. local. In addition, it can also be used as a document to let more new friends who want to learn and learn about a project quickly.

        So don t limit yourself to the knowledge taught by the teacher. If you close your eyes and think carefully about what you have learned in addition to the content of the professional courses, if you can't think of it, then you should really reflect on it.

4. Develop the habit of reading and force yourself to input

        It is very important to develop the habit of reading. Most of us have very limited cognition, and we must read more to improve our self-cognition. Now you can imagine that if you convert all the knowledge you know into the form of articles for output, I believe you can be squeezed dry without dozens of articles. Of course, the reading here is not for you to use Douyin and Kuaishou for "fragmented reading" to pass the time, but for you to calm down and find a quiet place to read by yourself.

        List some books I have read. If it is an introduction to the basics of big data, I suggest to read "Massive Data Processing and Big Data Technology Practical Combat" by Teacher Binghe. I want to be familiar with and study the complete data warehouse system; you can read Silicon Valley s "Big Data" Analysis. Data Warehouse Project Actual Combat. If you want to study user portraits in depth; you can see "User Portrait Methodology and Engineering Solutions" by Mr. Zhao Hongtian; if you want to understand the data platform, you can see Mr. Geng Lichao's "Big Data Platform and Prototype Implementation" "; To learn architectural thinking and know what abilities an architect needs to have, you can read "Architect's Self-cultivation: Technology, Architecture and the Future"; if you want to read books about inspirational success, I recommend "Not by accident. Leveraging the planet." The head effect".....

        In order to prove that I am not bragging, let me share the books I read every day. The following is an inspirational and successful book I am reading recently, which records the development history of 21 knowledge planet top coffees. If you can't persist, I suggest that you can also force yourself to input through output, to force yourself to continue learning and enrich yourself.

        In the early days, the teacher who taught us the big data course suggested that we can put the dry goods notes that we have compiled on the CSDN blog, so that during that time, many people, including me, had never had the awareness of blogging before. 'S classmates have become extremely active and write blogs every day. But with the passing of this freshness, many students feel that blogging is a waste of time, so they put the "fertile soil" they worked so hard on to waste. And I should belong to one of the few people who believe that blogging can bring long-term valuable value to myself, and I have persisted until now. Now there are more than 10,000 fans, more than 2 million readings, and certification of high-quality authors and blog experts in the official big data field. Without the perseverance of long-term writing, these are unlikely to be obtained in the short-term.

        In addition, through continuous output, while enhancing my writing level and awareness, it has indeed helped a lot of readers, many of whom are graduate students from 985 and 211 colleges and universities, and have worked for many years and want to change careers. Ask me for advice. friend. Maybe my experience is not as good as them, but I will always do my best to help them.

        If you can persist in output and accumulate, you will be pleasantly surprised to find that your reading comprehension and writing skills have been significantly improved, and even begin to have a little influence. At this time, you will definitely thank yourself, this is an intangible wealth brought to you through reading and writing, and no one can take it away!

5. Efforts to break the circle, there is already a poor information in this world

        There is already a lack of information in this world, and I believe that most people will not agree with this view. Some people will think: Now that every family has a computer and mobile phone, what is happening in the world, I will know the first time! But is this really the case? In the trend of information explosion, people's vision will become smaller, and the phenomenon of information cocoon rooms will appear.

        The information cocoon room refers to the phenomenon that people's attention to the information field will be habitually guided by their own interests, thus fettering their lives in a "cocoon room" like a silkworm cocoon.

        Once You Zhihu Da V conducted a survey, collected a lot of cases, and found that many people obtain information from the outside world through WeChat groups and Douyin...

        Think about it, these people's cognitions are framed by those big Vs in WeChat and Douyin, inciting your emotions and recharging your anger, this is a terrible thing.

        Indeed, a person's energy is limited. He may not know many things for a lifetime, or he may know but not grasp it, but the opportunities are always there. This is the same as "you can never make money beyond your knowledge". In the wave of development in the great era, most people cannot see big opportunities, few people think about the future, and very few people can see through the future. Because the pattern is not enough, we can only follow the trend.

        The information gap may be cognition, news, resources, etc. You can even understand that it is resting on the mountain of supply and demand, blocking people who need each other.

        The core of the current information revolution is to reduce the information gap. For example, Douban brings together people who have a common taste in movies and books on one platform, allowing movie fans and book fans to transcend geographical and time constraints to discuss favorite books and movies. Douban did not create movies or books. The only thing he did was to reduce the barriers to communication between movie fans and book fans.

        For example, video websites such as iQiyi, as a content distribution channel, better meet the needs of users to watch videos. Compared with TV stations, they have more free time, richer capacity, and less hindrance to user choices. , Can more effectively reduce the hindrance of information dissemination, so the video website that users can choose will gradually replace the TV station that users can only passively accept.

        There are many similar examples. I have said so much, but I just hope that the existence of the "information gap" that everyone understands is not terrible. The terrible thing is that your thinking and cognition are restricted by the "information gap".

        How to break the "information gap", I will not elaborate here, but I can provide several ideas.

  • Get in touch with people in different fields

        This is very easy to understand. Just like your current identity is a student, the students and teachers you have the most daily contact. At this stage, you are expecting to get more news from other circles from others, which is not very reliable. What you may need to do is to get to know more people in other circles. As for the method, it is something you should consider.

  • Try different roles

        The different roles mentioned here somewhat correspond to the "breaking circle" mentioned in the title. Don't limit yourself to just one identity, thinking that my current role is a student, and my task is to learn. Then I would like to ask, when your status is switched to "code farmer", the task is only to work, when will you have freedom of wealth? I don t want to expand too much. I will directly draw a conclusion. When you truly become a slash youth and have been involved in different fields, you will be surprised to find that you have opened up a world of cognition. There may be opportunities for you to seize. And if you never try, when an opportunity does come, you can only watch it drift by in front of you, but helpless.

6. Actively cultivate various hobbies and play less or no games

        In this impetuous society, there is a lot of "spam". We must learn to filter out useless messages and focus our limited time and energy on things that can bring long-term value. Therefore, I suggest that in my spare time, I can actively cultivate various hobbies, such as what I have always been passionate about: reading and writing. Taking into account the nature of Internet work, long-term sitting will inevitably lead to body loss. It is also recommended that you exercise more when you are fine, run and run, and pay attention to the management of your body. This is actually a change of self-investment, and the return is to let you have a healthier body and a more comprehensive comprehensive ability.

        Regarding playing games, I do not oppose everyone to play, but I do not recommend or advocate using games to achieve a relaxed state. I also played games a long time ago, but later found that the excitement and pleasure brought by the game were temporary and numb. Just like short videos, harvest your precious time when you are not paying attention. Once the time limit is over, you will not feel fulfilled, and you will even feel a little "guilt." Therefore, I have never played the league, and I, who eat chicken, completely quit the game.

        When you get rid of games and some bad habits, you may be surprised. It turns out that you have so much time to do what you want to do, which is very meaningful in itself. For me, I have more time to read books, more time to spend on writing output, more time to run my own community, to communicate with readers and fans, and more time to socialize. Get in touch with more outstanding people and learn from the predecessors from all walks of life. I believe that if you stick to it, you will be full of enthusiasm for life, full of expectations for the future, and the state of the whole person will become more proactive. This is what you will not gain when you spend time "playing games" and "swiping short videos". of.

7. The harder you work, the better you are, humble and studious

        Since I started working on the "Official Account" last year, kept reading, and continued to output, my network of contacts seemed to have opened a huge window. I was fortunate to have combined many official account owners, and through text links to many "readers and fans" who came here. I found a common characteristic, that is, the harder you work, the better the person, the more modest and easy to learn. There are many technical account owners, the quality of the articles is really high, the updates are also very diligent, and they often get up at four or five in the morning to write articles.

        The same is for technology sharing, which can often be played by different styles of account owners: some people are determined to create a programming technology universe, and use the way of storytelling to explain each technical point clearly; some people like to use animation +Illustrated way, it introduces an obscure algorithm clearly and thoroughly; there are people who are well-known to the public through graphic computer networks..... There are many such excellent account owners and friends, and sometimes they will be compared with each other. I found that there is indeed a considerable distance between myself and other people. In my opinion, if you want to continuously output high-quality articles, you must be inseparable from the constant reading, constant consultation, and constant experimentation. Therefore, I have always regarded these excellent publishers as my goal. There are many friends who are much more experienced than me who still refer to me as "teachers" when they ask me questions. Although I am just a "small dish" who has just entered the workplace, I can feel the sincerity of everyone when asking questions, and I am more willing to answer their questions.

summary

        Thank you very much for seeing this. After listening to me, it took me nearly 2 days to describe these contents. I am willing to send a big data gift package that I have privately collected.

108 sets of real enterprise big data interview collections

        I believe it is quite helpful and instructive for 99% of programmers to learn big data. Click to download the private dry goods , extraction code: 6666

        In less than a year, I was able to summarize the above experience, which is inseparable from my usual habit of summing up and reviewing. I hope that after reading it, through some of the content I shared, I can help myself to complete some " Transformation" and become a better self. Of course, I still have a lot of dry goods that are limited by space and have not been introduced in detail, such as how to awaken the nature that is dormant in the comfort zone and do things that have long-term value ; how to concentrate on doing something that has no return and realize the realization of influence ; How to face different situations , cultivate outliers, combinatorial thinking ....

        Finally, I would like to end this article with a quote from Mr. Chi Jianqiang, the president of Geekbang Technology and the founder of Geek Time:

        Everyone will encounter many boundaries in their life. Some boundaries can be broken through, and some cannot. Those boundaries that cannot be broken are your limits, and the criterion for dividing boundaries is the "threshold". Every time you break the threshold, your life trajectory will change drastically, during which you need to make a lot of thinking and judgments until you finally find your limit .

        Life is like making wine. You can't always use grape juice and water to cope. Brew your own glass of wine, live your own life, and send your message to the world at the same time, that's it...