A 6-year iOS programmer's work insights, for you who are still confused

foreword

Every developer has an experience they don't want to mention. Many years ago, when they just graduated from college, many companies came to the school to recruit. One of the worst interview questions is: "What do you want you to do in the next three to five years?". My standard answer at the time was (original): "Become a technologist who can do one thing on its own". Later, after going through several different companies and changing directions, I realized that this is really a difficult problem. Because the military is impermanent, everything is constantly changing, and things that were optimistic in the early morning may be eliminated.

(Almost) no one can see where technology is going next because it's so hard, and if you can do that, you're the Buffett of technology. For example, he joined Google in 2011, joined Facebook in 2014, and joined Alibaba in 2016. Those who do this must have the capital and the vision to do venture capital. Even if they don't do venture capital, they are financially free.

Six years after graduation, from Beijing to Shanghai to Silicon Valley, from domestic Internet companies and foreign companies, I have seen the good and bad aspects of the company. Here I just write some general direction selection suggestions based on my own experience, for reference only.

As a developer, it is very important to have a learning atmosphere and a communication circle. This is my iOS communication group: 638302184, whether you are a novice or a big cow, welcome to join, share BAT, Ali interview questions, interview experience, and discuss Technology, let's exchange, learn and grow together! Hope to help developers avoid detours.

1. Industry background is very important

The industry background is very important; after working for 3 years, you must determine your own industry background, such as always working in the telecommunications industry, always engaged in banking projects, always engaged in the ERP industry and so on.

It is impossible for a programmer to write code all the time. Even if you write code, you must know the business logic and what needs it meets. As the saying goes, every line is like a mountain, and the business of each industry is different, or even very different. For example, you have been engaged in streaming media. The research of the company will let you jump to a bank project. When it’s over, you can learn everything from scratch. The previous industry experience will not be used. Moreover, when a company recruits people, it is hoped to find those who are easy to use and do not require long-term training in the business. Programmers; friends who frequently change jobs, must pay attention to this;

If you have been in an industry for a long time, you can become an expert in this industry; we can often see that a certain leader of a project team writes general code, but can communicate with customers fluently and control the proposal of new requirements , bug fixes, etc.; and customers are also very willing to deal with him, because only he can maintain those old projects, and he is even familiar with every table structure of the system-how long has he been in this industry? .

2. Reasonable career planning

What is a career plan - it is your short-term or long-term career plan! Let's keep it simple. Let me ask you a few questions first:

a. You've been working for a few years. Would you like to remain a simple programmer like a newbie?

b. Would you like to write code all the time and not care about anything else?

c. The pre-requirements, design, post-deployment and maintenance of a project, the leader finds you, you say we can't handle it, okay?

Programmers are not code machines. In the first year, there are too many things you don’t understand. You can follow the boss’s arrangement, knock on the code, look at the database, and test the code of yourself and others; but in the second year, are you still like this? Impossible, you can enter the industry with one year of experience. It's time to learn how to analyze requirements, how to design databases, how to write various documents, and how to write better code? This is a requirement for advanced programmers!

3. What is a senior programmer?

A programmer with analysis and design ability, able to carry out technical research, and a deep background in a certain industry!

All, after a project is approved, you must actively participate in the preliminary design, think and analyze problems with the old comrades, and learn from experience! OK, you are growing up!

Don't think that programmers write code! ! !

Moreover, through the development of a project, you must be able to roughly calculate the development time of a function; for example, a module has 20 small function points, you develop 80 hours, and each small function point takes an average of 2 hours - at this time The workload can be assessed at an early stage. Of course, the efficiency and work quality of each person is different, and it varies from person to person, but the approximate workload should be counted to count the work cycle of a project;

According to incomplete statistics, as of now (2018.03), the number of Chinese iOS programmers has exceeded 600,000. Moreover, with the continuous development of the IT training industry and a large number of fresh graduates entering the society, iOS programmers are facing increasing competitive pressure. So, as an iOS programmer, how to work hard to quickly grow into a senior programmer or architect, or what kind of technical knowledge system an excellent senior engineer or architect should have? Junior programmers who enter the workplace, and old programmers who start to be confused after three or five years of work, must face and understand the problems.

Fourth, the work content is boring and there is little innovation.

Now, when you work in BAT, most of you do some very basic physical work. Although it is difficult to enter BAT, you will find that the work you are doing is not difficult. After 1-2 years, you will The progress of BAT has become slower and slower, so many people are attracted by the flowery world outside and leave after working in BAT for 1-2 years.

Fifth, promotion is difficult.

You must know that not every project of BAT is successful, and many projects will eventually fail. Now when you work in BAT, most of them do some very basic physical work, and most of the project teams you go to are not good. If the project team you join is not explosive, then you are basically hopeless if you want to be promoted. Just like Baidu , it is very good to be able to upgrade to T5 after 3-5 years, and it is difficult to go further. Not everyone can be assigned to a project team like Baidu Tieba back then.

Sixth, career planning is difficult.

Due to 4 or 5 reasons, it is difficult for most people to stay in BAT for more than 3 years, and they can't stand the temptations of small companies outside and change jobs. Small companies will give you a lot of original stock options and give you a "listing" Then became a billionaire's dream. However, once you resign from BAT, basically, your career growth will stagnate, because what a small company can give you is just a little money and stocks. He does not have the technical accumulation like BAT, so basically it is Small companies use money to buy your technology, and if you want to acquire more knowledge, you basically have less energy and curiosity. Therefore, more and more engineers describe their work as "moving bricks". In fact, it is because the longer you work, the more repetitive work you have.

Seven, pressure from big cities.

It is well known that IT companies are concentrated in Beijing, Shanghai, Guangzhou, Shenzhen and Hangzhou, especially Beijing, where half of the well-known Internet companies are located. Everyone knows the housing prices in Beijing. Even if your annual salary is 30W, can you buy a 100-square-meter house in the 5th ring road before the age of 30? Can you get a wife without a house? I have seen too many programmers in their 30s who are bachelors. There are too many. On the one hand, they are unwilling to give up their jobs and go back to their hometown. On the other hand, it is the sky-high housing prices and lonely nights. By the way, my girlfriend is not a daughter-in-law in my eyes, only marriage is.

Eighth, the technology update is very fast.

A popular technology may cease to be popular after 2 years. It can be said that each is leading the way for two or three years. If you spend two or three years learning a technology, but when you find that it is gradually falling behind, That is when you are confused.

Nine, interpersonal relationships are simple.

The life trajectory of many programmers is like this, especially the programmers in the imperial capital:

Entering BAT work——Jumping to a small company after 2-3 years——The project of the small company is sluggish, and continue to change jobs——The project continues to be sluggish, and the cycle is repeated——The age advantage is no longer, marriage is difficult, career bottleneck, confusion—— Going home, or sticking to the end, what I want to say is that programmers are indeed a good job at present, at least with high salaries, but after all, he is the downstream of the social ecological chain, the work of programmers and technicians in other industries, In fact, the position in the ecological chain of the industry is the same, but it has caught up with the outbreak of the entire industry, so programmers can constantly change jobs and find new job opportunities. But once the industry goes down, or your technology field is eliminated,

Or when your age advantage is gone, you may not be as majestic as when you just graduated.

Finally, I hope that our in-service iOS developers will strive for the goal, get better and better on the road of iOS, position ourselves, keep learning, keep improving ourselves, get in touch with new technologies, and find ourselves working hard in this big world.

As a developer, it is very important to have a learning atmosphere and a communication circle. This is my iOS communication group: 638302184, whether you are a novice or a big cow, welcome to join, share BAT, Ali interview questions, interview experience, and discuss Technology, let's exchange, learn and grow together! Hope to help developers avoid detours.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325382582&siteId=291194637