If you are an iOS developer in the midst of a development promotion bottleneck, stop and take five minutes to read this article. It might be something you need! ** There are 🥚 Easter eggs at the end of the article 🥚**

A five-year iOS developer with anxiety

I have a friend who calls me on wechat. Connect, there spread very polite of: great god is good! Then a series of bombings began:

  • What’s wrong with iOS now?

  • After 5 years of development experience, I couldn’t get many interview invitations, let alone offers

  • Do you want to change careers now? I feel it’s a big front-end era.

  • Now 30, is not quite appropriate to continue to do programmers!

The whole phone call was filled with his anxiety about the iOS market, and I seemed to see his lost expression at the end of the phone! Such a small partner really in this year especially many, I have no chaos! I know what I should do now:

1. Analyze the iOS market

Maybe a lot of friends will guess that my first step is to comfort his mood. But I didn’t, because this is something that a mature IT developer must go through, and this loss anxiety will help him in another way: embrace anxiety — turn stress into motivation

â‘  : HE and I opened BOSS Zhipin together (after all, most programmers are using this platform to find jobs now, it is typical) with Beijing-ios as the search element! Let me analyze the iOS market through a table.

Due to time constraints, only the first 5 pages are analyzed. As the number of pages is one page, there may be some figures that are not very accurate

salary Number of jobs Fixed number of year for The company size
About 15 k 40 copies of 1-3 years 20-99.
About 20 k. 63 3 to 5 years 100-499.
Around 30 k 93 3 to 5 years More than 100-499-1000
More than 30 k. 33 More than 3-5 – More than 499-1000

â‘¡ : I began to analyze the job recruitment requirements of 20-30K based on the corresponding requirements of my friend

â‘¢ : Throughout the analysis of BOSS Zhipin, the following points are obtained

  • A: Now the recruitment demand in the iOS market falls between 20-30K

  • B: 3-5 years of working experience is required

  • C: The company scale ranges from 100-499-1000

  • D: Ability brush selection conditions

    • Underlying principles are almost a requirement

    • In contrast, UI capabilities are no longer directly on the board in recruitment requirements

    • Performance optimizations and architectural capabilities remain the same as before

    • Data structure algorithm capacity is also relatively large

    • Cross-platform capabilities are also high

Second, analyze the status quo of partners

Analyzing basic information

  • This junior partner was born in a non-planning department and has a junior college education.

  • I worked in sales for several years, then I changed my profession and began to study IT

  • After learning iOS, I went to an outsourcing company for development for 3 years, and then I moved to another small company for development for 2 years, which closed down.

  • 5 years development experience, about 30 years, now Beijing struggle!

  • After the company went bankrupt, Jin Jiu Yin Shi began to look for a job and got 7 interview invitations, but no suitable offer for the time being!

Analytical expertise

Here are the skills in this person’s resume, and you can compare yours

Summary: The professional skills of this small partner write or compare the rules and regulations! But it clearly does not meet a requirement of 20-30K-5 years of development required capabilities!

  • Too much involves basic content: simple interest, proxy, Block communication, iOS automatic layout, OC and JS interaction ability

  • Master the surface of things are only skilled use, and did not involve the underlying principle

  • The expertise doesn’t have much to do with what we analyzed above: performance optimization, architectural design, underlying principles

  • No obvious bonus!

Analyzing project experience

I have not posted any information about the company for the sake of personal privacy (although authorized)

This friend just briefly introduced his work, and all of them are ground business layer, such project experience is not enough, at least I did not see a mature figure of 5 years of development!

What should an experienced iOS developer know

In fact, after a lot of analysis with him (such as comparing and analyzing some excellent resumes), he began to realize why he could not find a suitable job!

Now in 2019, iOS development is facing a lot of problems:

  • Many are starting to change careers (I won’t analyze the pros and cons of a career change, but you can decide for yourself);

  • Many are still confused;

  • Of course, there are a lot of clouds to see the sunrise!

For those who are still willing to stay in the iOS industry and want to fight it out, let’s analyze what an experienced iOS developer should know

1. Low-level exploration ability

A lot of people will be sarcastic: interview build aircraft carrier, work screw! In fact, the high requirements of the interview for an excellent iOS demand unit is a must!

  • There are many ways to implement iOS development, but having a developer who really understands the principles is very important in the future. I have seen some developers: when encountering a BUG, they are directly facing Baidu, do not know why direct command + C /command + V OK, solve the problem, hit the version and leave, the next time encountered or facing Baidu, which waste of time and the cost of communication between partners can be imagine!

  • The underlying principle is just that you are lazy in your work development and avoid using it (or don’t understand it at all)

  • Technology is constantly updated, the underlying principle is the eternal foundation

  • The underlying principles are very important, and only by truly mastering them can we embrace the infinite possibilities of the future.

Here’s what I recommend you learn:

OC low-level exploration is also a familiar and strange place, usually used everywhere, just don’t know why!

2: Performance optimization and architecture capabilities

As long as your interview requirements 20-30K must require performance optimization capabilities!

  • How to optimize the startup speed, thin application package!

  • Interface optimization (lag detection and analysis solution)

  • Memory management is also the interview and usual development of the disaster area!

  • Architecture is not a performance optimization, but I require every development above 3 to have some architectural thinking!

3: data structure algorithm

Data structure algorithms should be the basis for every programmer. I remember my mentor telling me that a programmer needs two things: INTELLIGENCE and hard work

  • English proficiency shows diligence

  • The data structure algorithm feeds back your IQ level

Data structures and algorithms are not just abstract concepts. When mastered, they can produce more efficient and faster code, which is especially important in today’s web and mobile application development. If the last time you used an algorithm was in a college class or job interview, you probably haven’t seen its true power yet!

Much of the material on the subject suffers from obscurity. Full of mathematical terms, I think an interesting way to learn is also very important!

4: Cross-platform capability

There are many cross-platform solutions:

As shown in the above table, RN and Weex adopt roughly the same technical solutions. They both use JavaScript as the programming language, and then convert it into Native components through the middle layer to perform rendering operations by using Native rendering engine. While Flutter directly uses SKia to render views, Flutter Widgets are built using modern responsive frameworks that have no direct relationship to the platform.

In terms of performance, Flutter is theoretically the best, followed by RN and Weex, and both are better than traditional WebView solutions

RN and Flutter are undoubtedly the most active in terms of community and community activity

Conclusion: I personally recommend the current market to learn about Flutter

  • And now a lot of people are starting to learn

  • How to leverage your strengths, and I personally recommend taking some time to explore the principles behind the rendering process, Flutter and native co-existing communication optimization

  • Here’s a mind map for you to follow

5. Skills and bonus points

There’s a reason why iOS development is currently stuck: Too few reserves up front. In an era of constant technological change, I hope you keep your mind down and keep building your skills to your advantage

Here I recommend learning: visual direction! No matter live broadcast or small video, graphic image processing has become an inevitable skill. With the coming of 5G era, this technology will definitely become a match point between you and other developers.

At the same time, we also recommend learning: application security attack and defense direction reverse security is more and more known to us and need these years! A high quality and safe application is sure to double your salary!

Comprehensive summary

In this crowded iOS market, I hope you can keep your impetuosity and push forward with pressure! It will be hard to learn, but please remember this.

The great task of heaven falls upon man, who must first suffer from his mind and will, labor his muscles and bones, starve his body and skin, deplete his body, and conduct refers to the disorderly conduct of him. Therefore, he is moved by his patience, but he can not benefit from it.

If you want to stand firm, your future position and salary will continue to grow. I hope you can keep learning, including iOS underlying, data structure algorithm, Flutter, architecture performance optimization, vision and reverse security offense and defense.

PS: NEXT Wednesday, I will select three friends who have commented and liked their resumes for guidance!

Updated on October 23, 2019:

Comments start from the latest (19-10-23) for this lucky Digging friends (resume guidance)

Updated on 05 March 2020:

Resume activity has ended, thank you for your support, recently a busy period of time! I hope you will forgive me if I can’t reply one by one