IOS programmers how to enhance the core competitiveness, to prevent themselves being laid off?

Preface:

Core competencies was first proposed by Prahalad and Gary Hamel two professors, generally considered the core competitiveness, namely businesses or individuals compared to competitive advantages and core competencies difference in terms of competitors have, that white that is to your advantage, but the best is the unique advantage, which is the core competitiveness.

So the core competitiveness of programmers what is it? He is not like PM, operations, marketing so difficult assessment. A good programmer must have the following several capabilities:

1. programming skills

This is no doubt, as a programmer can write code, write high-quality code, can be said to be basic skills, left this like a tree without roots, without water, more useless talk. This can be in the company to learn and master, rich theoretical knowledge in private in his spare time, look at some open source, hands-on from imitation to try, again and again.

As a developer, there is a learning atmosphere is particularly important with a circle of exchange, this is one of my iOS exchange group: 638 302 184, whether you are white or Daniel welcome to enter, share the interview experience, discuss techniques, we can talk about growing up! Hope that helps developers avoid detours.

The following information is available to download in the group file, click here to download

1240

2. Analysis of problem-solving skills

In essence, the boss to ask you all to solve the problem, you can solve the problem, in order to realize your worth, pay only bargaining chip.

A project, a task, or a bug, can be seen as a question of whether you can quickly analyze the situation and find the root of the problem from the appearance, or to break down a large problem into smaller problems that can be processed and regulations in time to solve it, you can say that you consider important technical standards sole criterion.

Training Approaches

(1) rich industry experience, you experience more, you will naturally know how to deal with, the saying goes, do not eat pork, pig run have not seen a thing, probably meant.

(2) There are a number of conscious learning methodology, a structured exercise their own thinking, not just to work on all aspects of life, all kind of useful. Recommended Reading Liu Peng, not "dark time", it is designed for programmers to write methodology, and he is also a programmer. Some regressed PM, basically do not touch the code, but to listen to his men say about the situation, or to quickly find the root knot, they can not do without thinking of experience and systems.

3. Good attitude

不同的公司有不同的文化氛围,有比较看重的价值观。且以为对于程序员来说,最重要的一个态度,就是不能凑合。一般的程序员在发现问题以后,东试试西试试,能解决问题就行了,但是优秀的程序员不会轻易妥协,一定会试图去分析产生问题的原因,根本的解决方法,甚至要去看Linux内核代码也一定要找到bug的根源。

4.自 我 学 习 的 能 力

众所周知,程序员是一个很苦逼的职业,技术更新日新月异,产品换代更是以月为单位计,不学习如何能长久?

学习分为两大块

一块为技术知识的学习,包括编程技能,基本原理,算法结构以及与工作环境密切相关的知识,另外值得特别一提的是经典开源代码的学习,这是成为高手的必经之路;

另一块为产品知识、行业动态的学习,国内一般情况是写代码比较好或者比较久的人,就开始带团队,如果没有这方面的积累,就会比较困难,另外就算一门心思做技术,多了解一些也有利于加深对需求、功能的理解,不是什么坏事。

5.沟 通 能 力

听说读写都很重要,对新手来说听和说尤其值得注意。

是说一个任务下来,要听清楚问题是什么,需求是什么,有什么条件,听清楚了再动手。是要表达有条理,说的清楚来龙去脉,说的清楚解决问题的思路。有些工作了好几年的程序员,连一个复杂点的问题是怎么回事,都说不清楚,东一下西一下,一点逻辑结构都没有,很明显他的思路就是混乱的。

这里还要补充两点:一个是问,不清楚的一定要问,不要装,其实你进公司做三天事,你大概是个什么水准,什么样的思维模式,你的领导就一清二楚了,装也没用。

另一个是反馈,一件事领导交待给你,你要在关键结点给他反馈,告诉他做的怎么样了,有什么困难,下一步准备怎么做,需要什么支持等等。不要等到领导来问,才告诉他你有什么问题搞不定,许多boss对这种情况是深恶痛绝的,这样搞两次以后,基本上就不会把很关键的任务交给你了。

6.不 断 总 结 归 纳

On an issue, a class of problems, as well as different types of questions, good collate, and constantly reflect on their own problems, not even a bug in the code, you go through a period of time to look back, there are a lot of thinking is incorrect unreasonable, there are a lot of optimization point, if you feel that your code has been regressed, no flaws, you must be standing still, no progress.

Work experience required over time, but some people working for three years on those who work beyond 10 years of work experience and do not represent your ability to work, only continue to enhance their core competitiveness in order to be in a critical position in the company, salary to grow rapidly.

Programmers story

Story one: the ability is fundamental

Engineer: programmer, network client XXX broken. I now have a lot of things on hand to handle, however, you help solve the customer's problem.

Programmers: the amount, the customer is what causes disconnection, ah I want to how to troubleshoot ah??

engineer:……

PS: I know what causes disconnection, it also requires you to troubleshoot the network is disconnected, and how to troubleshoot you do not know what you do not know Xianxiang customers to understand the network environment, you do not know what topology it will not ping the gateway???? wireshark port packet capture it?

Story Two: to be a proactive person

Programmers: Manager ah, customers say here and now to increase the functionality of a historical curve inquiry, how do you see it?

Product Manager: ......

The correct approach should be: ah manager, client side said to increase the functionality of a historical curve inquiry, I carefully thought for a moment, about the design of two implementations. Option One: XXX, Option II: YYY. Do you think these two programs which is better, or if you have any other options?

PS: Do not think you're a programmer, only need to implement the code responsible for the design has nothing to do with who you do not want to have such a subordinate!. When your boss really tired!

Story Three: EQ is very important

Manager: This is how the interface does not show anything, it is given?

iOS programmers: they must be back there again which program to write the configuration file is broken, leading to interface to read configuration error.

PS: the program has a bug no big deal, you do not always put the problem onto others ah. You say, background development brothers to lay the gun, and offend a bunch of people. And managers impression of you will not be good to go instead?


1240


Guess you like

Origin blog.51cto.com/14443149/2421217