preface

From the beginning of the winter to the start of Autumn, it has taken me nearly six months to find a job, or I finally found a job. My annual salary has more than doubled. There is also nearly a month did not write a blog, here is their own this period of time and how to learn, share with you, may be mixed with a lot of personal feelings, so the nonsense may be a little more, I hope you forgive me!!

The following is divided into several stages to describe the author’s psychological experience

The first stage of self-awareness, the sense of crisis attack

I graduated in 2016 and fell into a pit after graduation. I was the only one in iOS development for my first company. I completely learned by myself (I felt that I had learned nothing and worked all day looking for information on the Internet), and finally closed down in November 2016 and lost my job.

After several months of not finding a job, I bought a book called Object-C Advanced Programming to learn it. At that time, I could not understand it, but I still forced myself to read it.

Finally, I found a company in February of 2017, also a small company. Later I realized that the reason why I was humiliated was because I was still reading the book mentioned above during the interview. Then the interviewer felt that the author’s learning attitude was good, so he decided to let me have a try, which was a little embarrassing. However, I did not let the company down. I survived the internship safely and have been working until now. The company has developed rapidly and I feel very happy for the company.

At that time, Flutter was not as popular as it is now. After self-study for a period of time, I felt that my understanding of Flutter was still simple to use, and there was no sense that all the languages spoken by big wigs were connected. As if realizing that I didn’t even know the language I needed to live in, I wanted to expand my knowledge and laughed at myself for a while.

After the above incident, it was also the beginning of my learning. Later, I stopped all entertainment, such as novels, games and exercise, and began to learn about myself, which actually refers to the sorting out of the skills iOS development has, which goes something like this:

  • Simple UI is fine
  • What design pattern do I not understand at all, even singleton I do not understand how to use
  • Bottom? Shit. How do you do bottom? How do I know?
  • Data structures, algorithms? Why do I need to know all this stuff on mobile?

Well, THE author does not want to describe more clearly, I believe that the simple above a few, I believe that we should all know what degree of food.

At this time, even for a period of time, the author was very confused and felt a deep crisis. What should I do? What can I do? All that time, I was asking myself these questions.

Stage 2 learning

After a period of time after the adjustment, abandoned Flutter, picked up the data structure of the university of textbooks, begin to realize what is a linked list, some simple data structure, such as a hash table, the study is simply knowing what is this thing, because iOS encapsulation, daily development doesn’t use all these things, but everyone said that the foundation, So this is what I started learning.

At the same time, I also bought Effective Objective-C 2.0, which is highly recommended online, so I bought it.

When understanding simple data structures, and above the book after reading it, just a little feel good feeling, and then show the results of my in front of my wife, my wife is also a programmer, the background, better than me), and then she asked me some about the realization method of simple data structures, and some simple underlying problems. Ah ~, the whole body of the abuse, even feel ashamed. She also asked me if I could use OC to implement a simple linked list and hash table because I did not understand it and could not organize the language to describe it.

A man can be a coward but it’s never possible to be a coward in front of his own woman. Out of this sense of shame, I took a serious look at linked lists, hash tables, and simple binary trees. At the same time using OC language to implement it, in fact, about the implementation of hash table, the author also shared with you in the form of blog notes – data structure hash (rough implementation of OC).

After understanding the relevant data structure, I took my understanding to read the two books I mentioned above, about the use of data structure in iOS, and I have also shared the basic implementation principle of note-set NSSet and dictionary NSDictionary in the form of blog. Of course, these are superficial insights, but it is these simple insights that inspire my interest in the underlying aspects of research.

This phase of the study, half of this time, the work requirements for video playback, then I a person alone “pull” of the task of the module (in fact is the use of third-party libraries ZFPlayer do video playback), then use their spare time to study data structures, feeling learned a lot. So there was a sense of self-expansion, so the cattle force coaxed out to look for work, just at the end of 18 years, the market is still ok.

Stage three: rock bottom. Rock bottom

At the end of 2018, I went out to meet with a small company, which needed to make video-related apps. First, he gave me a simple telephone interview, asked me what I did in the work, and what kind of difficulties I met, and then how to solve them. After the normal answer, the telephone interview went through.

Then go to their company interview, went to the sons of later found to be responsible for a project I, and this is a new project, the phone interview before me is a part-time job, don’t have time for part-time job now, so you need to find a iOS development, requirement is a video related experience, and then I will share my experience and of course there are some of the blow. Then I got an offer of 17K. 😁 😁 😁

Well, yes, after I got this, it totally blew out of proportion, because the salary was so much higher than what I was making. But for some reason, I turned it down, because for some reason at the time, I couldn’t change jobs, and I felt I could get a better offer.

Spent the Spring Festival, came to jinsan Yinsi, I invested in a lot of big factories, such as B station, Ctrip, listen to Himalayan and so on. At that time, my resume was really beautiful and I was invited to interview successfully. I was very happy at that time.

Well, in the following interview process, none of the interviews lasted more than half an hour, and none of them gave me a second interview. Doubt life, completely ignorant force.

In fact, one side is very simple, simple list of several points:

  • Block nature
  • Principles of ARC memory management
  • Communication between multiple threads
  • Understanding and using runtime and runLoop
  • Common tripartite library source and so on

To be honest, these things are really very basic, but I only listened to them and read relevant blogs on the Internet. When I really need to use my own language to describe them, it is full of loopholes.

Needless to say, THE author fell into a state of deep self-doubt, thought about changing careers, thought it would be good to stay in the current company, and even had a resistance to the interview later, afraid of the interview.

Step 4 Study again

After a period of buffer, I chose to study again. At the beginning of my study, I was blind and only learned from online materials and books, but the harvest was very low.

The following description, by no means an advertisement, is indeed a personal learning path.

By chance, I watched the video of the open course of logic education. First, I watched the open course of Cooci, and then I watched the open course of picture rendering by CC. In the following days, I have been following this course, but I can learn little from the open course, so I made up my mind to apply for a VIP course.

It was really expensive at that time. Even a course required 7K+. I hesitated for a few days, but later, in a state of self-comfort, I signed up for systematic learning. Live classes start at 8pm every Monday, Wednesday and Friday. Say class time, in order to better express my own study schedule.

  • On Monday, Wednesday and Friday, I have live classes, which are basically finished after 10 o ‘clock every night. After class, I review and summarize and write notes by myself, so I can be busy until 1 or 2 o ‘clock in the morning
  • Every day on the way to and from work, I watch the video of the live class and study repeatedly
  • There were no classes on Tuesday, Thursday and Saturday nights, so I summarized my notes, wrote blogs, and directly asked teachers or communicated with classmates if I had any questions. I really didn’t want to waste any time.
  • Weekend time, the company is the size of the week, small week, I will study all day, to digest the knowledge learned a week, big week, I will put aside half a day to accompany his wife, really busy when, I will be in two days of learning stage.

In fact, such hard study for nothing else, for the sake of the expensive tuition fees, in order to be able to learn more knowledge.

In this way, I continue to learn until now. In fact, what I can learn in the live broadcast class is limited. After all, people have different acceptance abilities.

No matter how difficult the process is, simple words can describe the past lightly, the experience of which only oneself know. When they sink, to learn, need is to insist, insist, insist. When you feel like you don’t have enough time, or that relaxing is a waste of time, I feel like you’re close to success.

Stage five starts again

Just two weeks ago, I went out again, applied, and was quick to schedule interviews with five companies in two days. However, I was still in the shadow of the interview, so I arranged the company I most wanted to go to last.

Before this interview, I didn’t read any questions related to the interview, because I was in the process of learning all the time. I felt that the questions were not very helpful to me, or it was a kind of confidence.

After the darkness, the dawn will finally come, and the result also satisfied me. I interviewed 5 companies and got 5 offers successfully, and finally chose the company I most like. I got a 20K plus, 16k job.

In the interview, I also had a five-round interview and a video interview. In short, the interview was very tiring. There was also an eight-year-old developer who exchanged technology with me.

There are many ways to learn. For those who are not good at self-learning or have no learning methods, paid learning is also a shortcut.

This process, the author threw away the past easy to self-inflated mentality, let oneself always in a sense of tension, always in a state of learning.

The above is the process of the author in the past year. I feel that I have successfully passed the stage of being a rookie. Now I have been working for three years, and I hope that I can rise to a higher level in the fifth year.

I also hope that this article can bring a little bit of motivation to those who are confused in their way of learning. We should believe that after the most difficult time, good things will come.

Behind is a new beginning, still need to sink down, to learn, to precipitation.