we
Let me start with my basic information. I was 85 years, computer major general bachelor’s degree. In a second-tier city, after graduation, due to their own ability problems, cognitive level problems, coupled with bad luck, change jobs, each job can not last long. As a result, WHEN I was more than 30 years old, I had accomplished nothing and accumulated little experience, technology, industry knowledge, etc. I even drove a ride-hailing service and delivered food at one point.
Before I turned programmer, my monthly income was only three to four thousand yuan. Make up your mind for a career change in 2017! I know my biggest disadvantage is being too old, but after consideration, I still decide to take this path for the following reasons: My current situation is already at the bottom of the city.I am not good at business, I have no other experience and skills, I am introverted, and I am not good at sales and communication.
cruel
Let’s be brutally honest: for many programmers, beyond the age of 35, there really isn’t much to look forward to.
The main reason is this: Chinese programmer industry is not an industry that looks at creativity, but an industry that looks at execution.
There are two types of work: those that focus on execution and those that focus on creativity. When it comes to cutting-edge research, artistic creation and the like, the focus is clearly on stimulating creativity, and requiring hours is the opposite.
Unfortunately, Chinese programmers fall into the first category, which is more about execution. Even a senior Programmer in China is just a programmer who can move bricks faster.
Most companies in China have little need for creativity. They had to hold on to a few bones steadily and ruthlessly, and eating first was king, which required the execution of a wild dog.
For programmers, execution really depends on little sleep: when the boss comes along, you lick it, wake up earlier, stay up later, and get the job done as fast as you can. As a result, 996 is necessary for many programmers, but not always the norm.
Why not normalize it? According to physiological rules, eight hours a day is the limit for mental workers who do not aim to be admitted to the ICU. People are not machines after all, they are made of flesh and blood!
But the harsh reality is that Chinese bosses generally expect programmers to calm down.
Very simple, old, you lick live speed obviously no young people to work hard, to the fierce! Years of hard work have made your screw rusty and even moldy! If you were the boss and you were paying twice as much as a young person, what would you do?
Not to mention, you are so old, there are all kinds of sudden death risk, take the recent PDD sudden death event for example, under the pressure of super size week (996+997), so young girl all sudden death, let alone 35 years old, 40 years old line code farmer? So how high should the death rate be? Do you want the goodwill of the company?
Obviously, capitalists must make the most commercially correct choice: young people, even fresh graduates, are their favorites.
So ah, why the Internet industry often exists by this year’s upside down phenomenon? Because this year’s students are really very effective for capitalists, ah, never experienced 996 people, in the first year of 996 years, the outbreak of combat effectiveness is infinite!
Don’t complain, don’t complain, don’t get angry, this is just the capitalist right business choice. What we should be thinking about is game-breaking.
For the friends who want to roll in the computer industry, the computer system knowledge is good, think of ways to enter the big factory, do senior engineers first and then break the situation is very good.
Next focus on the volume of the environment, we programmers how to break the game!
Don’t be afraid of failure
So I’m not afraid to lose anything, because I have nothing to lose. I wanted to learn a living skill and start over, and development was the best thing for me. Because I am not zero-based, after all, I studied this major in college, and I used to love programming. My requirement for salary is not high, as long as the salary is more than 5K. I’d be happy with six or seven. At that time, I made a blind inference: because the birth rate in China is very low, there may not be so many young people for employers to choose from, so we middle-aged and old people, also have a certain opportunity.
Be encouraged by some soup-soup, like when is the best time to plant a tree ten years ago, and second, right now! I quit my job and started teaching Java development at home. The main way to learn is by watching video tutorials online. Those video tutorials, the beginner ones are basically free. Some of the senior will charge, about 50-300 yuan or so a set. Anyway, I didn’t spend any money on “tuition”, less than a thousand yuan in total. First, I learned some Java basics. And then move on to Android.
Know your career plan
In my condition, I’m sure I can’t enter a big factory or do a big project. So I decided to learn PHP. After learning the basics of the front and back end, I did two or three simple projects by myself, following the video tutorials. In my learning process, let me more confident is that I did not encounter any setbacks. Of course, I must have encountered all kinds of problems stuck, but I went to Baidu to solve.
action
Then start to prepare for the job search, the first difficulty is the resume. Almost 32 years old, if honestly just self-taught without any actual work experience, is definitely not wanted. No way, have to go to massive resume, difficult to interview, constantly eliminated…… My belief was that if I could find a job for a year, I would keep studying until I found one! It took me almost two months and probably 20 interviews before I managed to land a job.
Avoid detours and talk through experience
What are the ways to learn?
The word “study” can make people feel uncomfortable, conjuring up images of young days with their heads wrapped in chalkboard dust or low-quality educational activities such as tedious “copier” training sessions organised by the company. Here are some ways to learn:
1. Set up a circle: It is suggested to set up a small learning circle, which will have a higher learning quality; And can do knowledge sharing and communication;
2. Read: Reach your goal of reading 30 books a year. For reading, we can be divided into intensive reading, reading two types; Professional skills for the best accuracy of books. Recommend everybody to read the book that foreign expert big cow writes additionally, because the book quality of home is really general, basically write elementary programmer to see.
3. Teaching instead of learning: explaining to people outside the field; Learn to be an evangelist, a person who shares actively. You’ve probably heard of the story of the rubber duck, in which he solves a puzzle by talking to himself.
Rubber Duck Story: You are working on a difficult problem, have spent a lot of time, and have a deadline looming. You turn to a colleague for help. They come to your screen and you explain what happened and what went wrong. Before you say much, it goes, “Ah!” “You found the bug. The confused colleague shook his head and walked away without saying a word.
5. Talk to awesome people: I’ve seen too many people sit in the office all day long. Move up, in the collision of ideas and masters, it is easier to generate inspiration. I would like to recommend some ways to get to know cool people: large exhibitions, there are usually a lot of cool people; There are many danas in various wechat groups and InfoQ. To become a great person through technical creation naturally increases the channel to know more great people.
Of course, middle-aged people have their own advantages
1) In terms of technology, I have been immersed in this industry for more than ten or twenty years. I have seen everything and can quickly get used to general things.
2) Rich experience, in the work, stepped on the pit, filled in the pit, these are precious wealth, with them, the company does not need to go through a detour, the so-called price of growth.
3) Their social network can bring some business to the company in most cases. If there is any difficulty, we can solve it with our social network.
Having said so much, after comparing advantages and disadvantages, I found that if it is a simple matter, there is no need to find an old employee. Only those things that have many pits and need to be known by old employees can find an old employee, but generally there is one old employee with several new employees, so that the team has both experience and momentum.
Android advanced learning path
I. Basic Skills:
Concurrency programming 4. Data transfer and serialization 5. Principles of Java Virtual Machine 6. Reflection and class loading 7
2, Android Framework architecture 1, advanced UI promotion 2, Android component kernel 3, large project necessary IPC 4, data persistence 5, Framework kernel analysis
360 all-round performance optimization 1. Design idea and code quality optimization 2. Program performance optimization 3
Open source framework 1, hot repair design 2, plug-in framework interpretation 3, component framework design 4, picture loading framework 5, network access framework design 6, RXJava responsive programming framework design 7, IOC architecture design 8, Android architecture component Jetpack
5. NDK module development
1. NDK knowledge system 2. Underlying image processing 3
1. Architecture design 2. Online mall project 3. News client project 4
7. Wechat small program 1. UI development 2. API operation 3
Hybrid development and Flutter 1. Html5 project combat 2. Flutter
Note:This question set is not for you to temporarily recite the use of such a huge system of knowledge, just rely on memorization is not to remember, forging iron also need their own hard, you need real understanding. This set of questions aims to help you sort out knowledge points and make up for omissions.
Experience sharing
My study notes and the knowledge to be learned at each stage are put in the following learning thinking brain map. Since it is a cross-major, the knowledge points are very detailed and relatively complete. You can save and download what you need by yourself.GitHub【 Free to share with you! (The notes are corresponding to the mind brain map, and each knowledge point is explained in detail. If necessary, please check my GitHub to share with you.)
Need to be able to think brain map and corresponding study notes of friends, click to get
【Jq.qq.com/?_wv=1027&k…】
The Framework may include:
Android system architecture, Zygote process start process, SystemServer process start process, Launcher start process, WindowManager system, WindowManager system, Binder, Handler, etc. From each topic, you can cut into different fields from multiple perspectives to fully understand the candidate’s understanding of process communication mechanism, common components, plug-in solutions. In addition, advanced UI, third-party framework source code understanding is also a necessary knowledge and skills.
Framwork intensive source code analysis
- Android Beginner – Advanced Learning Advanced mind brain map (there are hundreds of branches, systematic learning)
I sorted out some knowledge points I met in the interview and drew them in the form of mind mapping. So you can review it.
- Study Notes (part only)
- Interview notes (including interview questions + analysis + interview HR essential knowledge + learning Android basics – advanced knowledge)
2020-2021BATJz Interview GitHub, learn knowledge points
Epilogue and Suggestions
Pick an area in which you are relatively good.
Foundation to back! I don’t usually pay much attention to memorizing apis, but here it is. Otherwise, the interviewer will think, “You’re good at this simple API when you’re vague about it?” If you don’t remember something during the interview, don’t stumble. Be confident and say something similar. Don’t say “like… In this case. It’s about confidence, because the interviewer may not remember that well. But if you can carry it, you really have confidence.
Try to understand the technology that’s out there in the field. In general, some library or framework. Here to remember, do not rush to see the source code, to master these technologies have what advantages and disadvantages, especially the disadvantages! Because we often use a library because of its advantages, but the disadvantages are often overlooked. Knowing the shortcomings of this library is a key to your ability to control it.
If you have time, research the source code for one of the well-known libraries. And try to find the reasons for its shortcomings, and find a solution. Of course, if you’re preparing for an interview, you won’t have the time. Then find some ready-made relevant articles to read. And then remember.
Technology home, who also can’t eliminate you, the choice by who decided to see who needs who more!
My study notes and the knowledge to be learned at each stage are put in the following learning thinking brain map. Since it is a cross-major, the knowledge points are very detailed and relatively complete. You can save and download what you need by yourself.GitHub【 Free to share with you! (The notes are corresponding to the mind brain map, and each knowledge point is explained in detail. If necessary, please check my GitHub to share with you.)
Need to be able to think brain map and corresponding study notes of friends, click to get
【Jq.qq.com/?_wv=1027&k…】