How to develop an iOS senior architect? I will teach you how!

Recently, a lot of people privately asked me how to become an architect, and one was confused about the current state. I will make a simple explanation here, or it may be a little help for you who are confused.

If you want to be an iOS architect, you must first be an iOS senior siege lion. In other words, the basic underlying knowledge must be solid, and the understanding of iOS is comprehensive and in-depth.

There are many people who feel very bored with their current job, because the current job is all about realizing business without any improvement in technology. In this state, you will feel confused, especially when you think of the future, this feeling of confusion will be even stronger.

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.

It's more worry than confusion. As time goes by, my technology has not improved, so I feel worried.

There are two types of people here:

The first one: messing around, one day counts as one day, and not wanting to study.

I won't discuss it too much, it's pointless. I have also met many colleagues like this, and such programmers are already useless.

The second: If you want to improve your technology, work hard in the direction of the architect.

Most of the people who send me private messages are this one. First of all, it can be seen that these people have their own ideals, and they will also put them into practice. I want to go in the direction of architects, but I suffer from no one, and I don't know how to become a framer. If it doesn't change, such programmers may also be obsolete.

So today, I am here, in writing, to teach you what you need to do to become a senior architect in order to become a real senior architect, although I am not entirely right or Accurate, but I think what I wrote can also help you.

To become a senior architect, you must recognize the following points:

Point 1: Be aware of the definition of an architect

Baidu Encyclopedia, an architect is a team leader who needs to control both the whole and local bottlenecks and provide solutions according to specific business scenarios. An architect needs

It needs enough imagination to be able to expand various target requirements in different dimensions and provide target customers with a more comprehensive list of requirements.

If you, as a senior architect, can't even understand the definition of architect, then I think your architect career is basically over.

Point 2: Be aware of the job function of an architect

Software architects play an important role in the entire software development process, and their responsibilities or concerns are constantly changing as the development process progresses. During the requirements phase, software architects are primarily responsible for understanding and managing non-functional system requirements , such as software maintainability, performance, reusability, reliability, effectiveness and testability, etc. In addition, architects often review the requirements put forward by customers and marketers.

Confirm the design proposed by the development team; after the requirements become more and more clear, the architect's focus begins to shift to the organization of the development team members and the definition of the development process; in the software design phase, the architect is responsible for the entire software architecture, key components , interface and development policy design; in the coding phase, architects become consultants to detailed designers and code writers, and often hold some technical seminars, technical training courses, etc.; as the software begins to test, integrate and Delivery, integration and testing support will become the focus of the software architect; at the beginning of software maintenance, the software architect begins to make decisions about whether new functional modules should be added to the next version of the product.

The third point: recognize the skills that architects have

Breadth of knowledge: Need to know why mainstream technologies were born and what problems can they solve? If the same business is implemented with different technologies, what are the advantages and disadvantages? For example: the popular framework OpenGL, having a clear understanding will be able to make correct decisions in technical modeling.

Abstraction capability: abstract business and technology. Business abstraction is to establish the perfect entity class and the connection between them after analyzing the requirements. Technical abstraction is a layering of the overall architecture and the interaction between layers. This is crucial, if the technical abstraction capability is insufficient, it will lead to an inflexible architecture of the entire system, which is difficult to maintain and expand.

Depth of knowledge: At least experts in a certain field, such as message queue, KVO, KVC, are familiar with its source code and know its implementation.

Excellent learning ability: learn new technologies and cutting-edge technologies and use them to solve business problems at work.

The above three points are the knowledge that architects must master. Then, the question is, to do the above three points well, then how do you do it? I think you can start with the following steps:

1: Solid iOS foundation, underlying technology

2: Proficient in using mainstream frameworks,

3: Have studied at least one source code of web framework,

4: Have architected or participated in the design of excessively concurrent systems, and know how to deal with emergencies.

5: For the business in which you are located, you can put forward optimization suggestions or predict its risk points according to your own knowledge dimension.

In fact, whether or not he can become an architect has a lot to do with opportunities. For example, a programmer has done all the above, but the company has not given him the opportunity to do it, a real opportunity for architecture. Because the previous architect didn't have a chance if he didn't leave, this is the reality!

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.

Author: a speck of dust

The article comes from the Internet. If there is any infringement, please contact the editor to delete it.

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326630487&siteId=291194637