招聘软件开发人员的一点心得体会

作为PM,有时需要招聘软件开发人员。这几年也一直在想,如何能在短短的30分钟或1小时内,快速识别出,坐在你对面的应聘人员,是否适合你的Team。这几年也一直在观察和反思,经历过的Team和现在Team中的软件开发人员。有几点小的心得。


1. 倾向于招什么样的软件开发人员

- 经历过历练的人

  吃过苦的,比如以前工作,经常被外派出差,又如曾在业内都知道以加班多而著称的公司呆过,还有些,留过学,但都是自己边打工边读书的,等等。

  这些人员,入职后,通常都是能干活,能作为骨干。


- 思路清晰,思想活跃的人

  让谈谈自己现在的产品,如果能清晰表述,有条理,会发散,但又能适当控制住,并收回到原话题。谈到技术问题和解决过的难题时,眼中有光芒:)

  这些人员,今后工作中,学习能力强,对解决难题有帮助,能作为中坚。


- 坦诚、坚定、平和的人

  面试中,坦诚,目光坚定。有时坦诚到甚至于显得有点木讷:)

  我曾经遇到一个,面试下来,我最后介绍我们产品中用到的技术,他对这些技术知之不多,最后他说,“我可能不是非常适合,我知道一个朋友,他可能更适合。”我综合评估后,最后还是选了他,事实证明,他后来做的很不错。

  坦诚坚定的人,会有恒心去学习,去解决问题。这些人员会作为Team的基石。


- 有缺陷的人才

  这是一个朋友(Lance)的想法,我认为还是有道理的。

  大公司,会看重综合素质,而如果是小公司,可以考虑选择一些有缺陷的人才。所谓有缺陷,是指,比如他英语很差,或沟通不清晰,但他能用程序员该有的思维去思考问题。这样的人员,通常进不了大公司,故会相对踏实地呆在一家公司,做好自己的工作。


2. 谨慎考虑这样的开发人员

- 太活泼,太易兴奋

  太易兴奋,说到投机处,“是是是是,对对对对。。。”,又蹦又跳,还时不时来点,“Oh yeah, you are right“,然后还摆个 V 手型。讨论问题,不易固守在技术问题本身,时常跑到“我们产品中用到的技术(或第3方产品)很强,我挺他们,不可能有问题”,又或者“我们对客户要强势,我们要坚持我们的产品没问题"。

  软件开发工作本身,显得比较沉闷,优秀的技术人员,都略显有些内向,因为解决问题,很多时候需要耐得住寂寞,时刻保持相对冷静。

  太活泼的人,会在遇到问题之初,表现出很强的冲劲,但当长时间不能解决时,会表现出没有耐心,会经常抱怨(对Team、管理、产品、流程等),非常情绪化。有些女程序员还会吵,会哭,这时项目经理只能放下手中的活,下去给她买点零食来哄哄,“莫哭,这里有你最爱吃的猫哆哩。”一边擦着鼻涕、眼泪,一边嘴里塞满东西,鼓鼓啷啷“这是酸角口味的,那个西番莲口味的才叫好吃..."

  这些通常不太容易在面试时表现出来,在试用期时,要观察。


- 家境太好的人

  家境好,可能没吃过什么苦,抗压差,并不太容易珍惜这份工作。工作强度不大时,还好。遇到技术难题、项目进度紧、压力大时,这些人员,可能会表现出不易妥协,难于沟通,”我反正也不在乎这么一个工作。。。我工作不工作都可以,有什么大不了“。

  我Team中曾经有这样一个”富2代“,干了一年不到就闪了。他在的几个月中,就像是一场闹剧,来这里,旅游观光罢了,东看看西看看,抛下几句狠话,刻下”XXX到此一游,就走了。


- 身体太差的人

  身体常年有疾者,通常都会性格怪戾,脾气暴躁,难于跟Team很好相融。

了解更多

微信营销:同样的产品,为什么别人卖得动你卖不动?

同样的产品,为什么别人卖得动你卖不动?

相信这个问题你一定遇到过,就是一样的产品,大家都代理了这个产品,你结果是别人卖了几十上百件,你卖几件就卖不动了。

什么原因呢?3个原因如下:

1、相信你的人少

可能你的微信里装了1000人或5000人,可这不代表大家都相信你,或认识你,多数人都没有和你接触过,聊过,交流过,别人凭什么在朋友圈看了你的产品就会购买呢?

如果有需求,也一定是找最信得过的人购买,而不是找一个从未交集的人下单,对吧?如果你要买手机,可能上淘宝京东,也可能会找你身边在卖手机的人购买,为什么呢?哥们,同学,信得过,对吧,而且可能给你成本价或他的进货价。

你跟他们买,一定是信任,或相信他们。反之,你会跟你不相信的人购买吗?不会,特别是在微信里毫无关系的人。

2、你不专业

这个最常见,你本身为上班的,可现在卖起了保键品,天天发保键品产品广告,同事或同学,如果在相信你的前题,又恰好的需求,可能会跟你购买,可如果,你平时对养生一点兴趣也有,也不懂,你说,别人会跟你买吗?因为在他的眼里,你也是个门外汉。

在互联网上不管是淘宝或微信里成交,都是专业对需求更容易成交,如果一问三不知,或很含糊,或你根本不懂,你说用户为啥会跟你买?

平时我们生病,会上医院,因为他们的规模大,设备齐,医生都是专业人士,平时我们生病都是跑医院。如果在路边小卖部有人跟你说,他能给你治病或卖药给你,你会买吗?多数不会,为啥?你不是医生,你又不专业,你也不是干这个事的人,为什么要相信你呢?

3、你的影响力小

这里直接用一个案例来说明,一个互联网牛人在网上卖课程,他一天卖几十万,同样的文案给你,换成你的名字,你发10天半月试下,看你能卖多少出去?

我相信有人能卖出去,可每个人卖的数量一定不一样,方法一样,文案一样,或说你们微信都是5005人,有的人卖几份,有人卖十几份,有人卖几十份,有人卖上百份?什么原因?有的人有影响力,你没有,所以你卖不动。

例如,你是做平面设计的,大家都是知道,你后来为了赚钱,加入微商代理开始卖产品,在朋友圈刷化妆品,你觉得,有多少人会跟你买?

是不是你复制文案就能卖?是不是你每天刷1020次朋友圈就能卖?是不是别人能赚到钱你也能?几单我相信有可能,但是,你要想靠这个养活自己一定很困难?为啥?你根本没影响力!

那什么是影响力?简单来说分2种,1种是权力性影响力,你公司老板或国家领导高层在会上说什么话,形式一种讨论或交流,或直接影响你的想法或工作方向。

2类是能力类影响力,如歌星明星或一些行业专家,他们在某个领域里有一定知名度,经常出现在公众场合或在互联网,给关注这个领域或行业的人造成一定影响。如,电商行业的马云,他的每一次公开谈话,都会有很有中小企业家或电商人关注,也许这会给他们方向,为什么他们相信马云?因为他的能力早就获得大家的公认。

如果,你的能力非常强,经常公开分享或写文章,在业界也会有影响力,那你在这个行业就是一个明星,也会有大量粉丝,这个时候你在卖点啥是很容易的事。

如果,你既不专业,相信你的人又少,也没有影响力(能力),却想通过在朋友圈刷出银子,这是很浪费时间又无价值的事。

这时你可能会说,刚哥,那我想通过朋友圈赚钱,如何解决这3个问题呢?方法非常简单。学会分享,学会交流,学会针对性的学习,你很快就可以变成专家,提高你的影响力,让更多人相信你,愿意跟你买单。

什么方法呢?就3个字:写文章。

说到这个你可能会觉得很难,其实写文章卖货比你想的要简单100倍,写字是交流,会打字就能写,会写就能交流,敢写就能赚钱,如果你不敢写,那些可能属于你的订单会被那些敢写的人朋友拿走,这是真的,因为,这件事,每天都在身边发生。

了解更多

董明珠:我做销售总监时,谁说这4句话我立马辞退他!


导 语

其实想做好销售并不是一个人的事情,而是一个团队同心协力才能做好的,大家打说话方式、态度非常重要。

经常听到:

“客户是个混蛋、客户太小气了,客户太难搞定了;

上班无趣、公司不好、管理不善、氛围糟糕……

工资少、环境差、任务重、压力大……

经常加班、没有奖金、缺少福利……

在实际工作中,老板没有指示,我不知道怎么办呀……

这个事情不归我负责……

为什么没有人来协调这个事情呢……

这个市场很难做,所以业绩也只有这么点……

公司给了这么点经费,能做到这样已经不错了……”

这些是我和很多人常常发生的对工作不满的抱怨情绪。

我们就一起来讨论一下客户最讨厌听到的四句话:


1、这不归我管

2、我不知道
3、他不在
4、我没有办法
结果导向,责任担当,成就业绩神兵!
要让上级哄着你做事的这些人,请回到你妈妈身边去,长大了再来面对这个世界!不要再说董大姐强势,这是2017最荡气回肠的语言[强]做管理,永远不要做绵羊!向负能量开炮!向无结果的人开炮!向拿着公司的钱还说公司坏话的人开炮!---好好复习一下!

了解更多

做一个10倍效率的开发者

今天小编总结以下几点,做一个10倍效率的开发者:

1. 只做需要做的工作

·使用敏捷方法;

·全心全意做UX设计;

·沟通第一;

·编码也许不是解决问题的办法;

·过早的优化是一切罪恶的根源;

·选择最简单的解决方案。

2. 站在巨人的肩膀上

·使用开源框架;

·使用简洁语言;

·不要做重复的事情(不要重新发明轮子);

·利用包管理器来进行公共和私有代码分配;

·不要任凭巨头(如微软)的摆布而修复库中的一个Bug;

·不要让你的雇主逼你学习;

·自主学习并为自己设定新的目标。

3. 了解数据结构和算法

如果你不知道什么时候应该使用快速排序、不懂辨认O(n2)程序、不会写递归函数,你将无法成为10倍效率的开发者。使用多种语言你才能清楚不同的框架是如何解决相同问题的。尽可能去了解底层命令(plumbing),以便能够作出明智的决定(Web框架是怎么存储session状态的?Cookie到底是什么?)。

4. 不要怕买工具,它可以节省你的时间

Ben说:“昨天我花50美元买了一个位图字体工具,它帮我节省的时间成本绝对超过200美元。”

5. 集中注意力

不要整天开着你的电子邮件、Twitter、Facebook等,在工作时将它们最小化或关掉它们,戴上耳机。Tiny hack说:“即使不听音乐我也戴着耳机工作,这样便不会有人打扰到我。”

6. 尽早并且经常性地进行代码重构

有时,你不得不放弃漂亮的代码转而去寻找真正对项目有用的代码,但没关系,如果你的现有项目中有这样的代码,最好的方式便是不要看它,并重构。

7. 只管去做

将你的业余项目分享到Startup Weekend中。在我开始转到Unix和Ruby on Rails上之前,我买了一台Mac,使用Windows虚拟机花了一年时间做.NET项目。

8. 挑选一个编辑器,并掌握它

高效开发者喜欢用文本编辑器胜过IDE编辑器,因为这样可以学到更多东西。无论什么情况,尽量使用键盘快捷键,因为熟练使用一件工具的前提是熟悉它。

在选择编辑器时,认真考虑并挑选最好的(Emacs或Vim),因为它们是通用的。其次,挑选你的首选平台最支持的。使用宏,不断地写代码;使用Mac上的TextExpander为整个段落创建快捷方式;使用Visual Studio或SublimeText的自动补齐功能;使用支持按行/列分割窗口的编辑器,这样你便能同时看到单元测试和代码(或模型、视图)。

一定要想清楚后再写代码。Adam说,“我有朋友在一个大项目组里工作,他们组里最高效的程序员是一个高位截瘫用嘴叼着棍子敲代码的人,他总是在写代码之前想得很仔细且很少出错。”

9. 整洁的代码胜过巧妙的代码

要想让其他人能够读懂你的代码,尽量使用最少的代码来完成任务。遵循DRY(Don’t repeat yourself)的原则,使用明确定义的对象和库,将任务分解成小而简单的代码段。

10. 潜意识是强大的工具

离开10分钟往往就可以解决一个问题。控制编程时间,给自己一个多姿多彩的生活,劳逸结合能让你在工作时更高效、更愉悦。当然,即便是上了年纪的程序员也知道,以最少的时间完成最高效的工作是成为10倍效率开发者的必要条件。

作为一个程序员,我觉得在职业生涯中最好的一件事儿就是从电脑前站起来,去拜访那些在某一领域有所建树的人们。

11. 推动自身和团队进步

重视批评,以包容的态度接受批评并提升自己是非常重要的事情。没有这个基础,你不可能成为一个高效的开发者。一位智者曾经说过:“聪明的人善于从自己的错误中学习,而智慧的人善于从别人的错误中学习。”

了解更多

妙用激励机制 打造狼性团队

古语说“受人滴水之恩,当涌泉相报”。这句话放入现在企业激励机制中必能发挥很大作用。激励机制,就是通过对员工物质基础和思想意识的鼓励,激发员工的热情,从而反过来为企业创造更大的价值。说白了就是多给员工一些恩惠,换来员工对企业更大的回报。

现在很多企业都面对两难的问题。这两难包括用工难,留工难。用工难是指在人才市场很难招聘到合适的人才。留工难是即使招聘到用工人员,之后因为种种原因导致人员流失。之所以有这两种情况出现,其一半原因是因为企业的激励机制不够完善。有的企业总是抱怨求职者太挑剔,要求多等,而没有考虑自身管理是否欠缺;而有的企业则找出了这个原因,从而不光解决了这两难问题,还使企业自身变得更强。

一般来说,求职者都希望自己能够找到薪水相对满意,工作环境舒适,自身能力又能得到认可的公司,这样自己工作起来也有动力,也会有热情。这就是激励机制为企业带来的益处。聪明的企业会不断的完善自身的激励机制,妙用激励机制,充分的抓住员工趋利的心理,又抓住员工“报恩”的心理,打造出一个战斗力强的狼性的团队。

妙用激励机制,要讲究措施和策略。有的公司会出台一些措施来调动员工的积极性。如:

1.目标激励,制定目标,然后落实到个人,让员工既有压力又有动力,努力完成任务;

2.通过各级领导以身作则的敬业精神来正面的影响员工。不要总抱怨员工的不足,只有上面领导做到了,起了带头作用,员工才会做到自觉;

3.尊重员工,尊重员工的价值,人格,更要尊重一些普通员工,达到一种知恩图报的效果;

4.荣誉激励,对工作态度认真和对企业有贡献的员工给予奖励,如大会表扬,发放荣誉证书、职位晋升等。

5.关心激励,关心员工的生活,如在员工生日的时候发放贺卡或下礼物,关心员工的生活困难等。

6.物质激励,员工的工资、节假日福利,生活福利、保险、住房奖励、工资晋级等。

7.公正的体现,企业领导要给员工创造一个公平的环境,赏罚分明,错了就要受罚,不能包庇,有功就要奖励,让员工觉得跟着这样的老板才能不会吃亏。

8.激励信任,表扬员工做的好的地方,信任员工能够为企业创造更大的价值等。

面对当下优胜劣汰的竞争残酷性,很多企业都如逆水行舟不进则退。企业只有建立好完善的管理制度,与员工上下一心,才能在洪流中立于不败之地。

了解更多

李嘉诚:做到这9点,赚钱其实也很容易!

为什么这个世界上穷人越来越穷,富人越来越富呢?而现在富人越来越努力,当穷人还在睡觉的时候,富人还在外奔波,这是一种心态和思维的变化,穷久了,人就会慢慢变笨。

李嘉诚是华人首富,也是很多人敬仰的老人,现在依然是每天6点开始工作,晚上12点以后睡觉。

对于赚钱,他也最有发言权,看看他对于赚钱之道是如何认识的。

职场

李嘉诚,做到这9点,赚钱其实也很容易!

1. 保持积极心态

如果你以积极心态发挥你的思想,并且相信成功是你的权利的话,你的信心就会使你成就所有你所订立的明确目标。但是如果你接受了消极心态,并且满脑子想的都是恐惧和挫折的话,那么你所得到的也都只是恐惧和失败而已。在身体的缺陷、出生的卑微、前进中的“天灾人祸”等面前,持消极心态的人怨天尤人,自甘颓废,不是逃避,就是厌世。但是,有积极心态的人,从来不会失去生活的乐趣,迎难而上,终成正果。李嘉诚正是这样一个在任何情况下都保持积极心态的“超人。”

职场

李嘉诚,做到这9点,赚钱其实也很容易!

2. 把握最初时间

在事业上谋求成功,没有什么绝对的公式。但如果能依赖某些原则的话,能将成功的希望提高很多。成功实际上是相对的。创业的过程,实际上就是恒心和毅力坚持不懈的发展过程,这其中并没有什么发达秘密,但真正做到中国古老的格言所讲的‘勤’和‘俭’谈何容易。而且,从创业之初开始,还要不断地学习,把握最初时间。

职场

李嘉诚,做到这9点,赚钱其实也很容易!

3. 经验积累是成功的基础

本事的威力,没有任何神奇与神秘可言,它需要平时一言一行的积累。坚持“相信我确实能做到”的态度,无形中便会产生能力、技巧与精力这些必备条件。每当你相信“我能做到”时,自然会想出“怎样去做。”

4. 做自己的老板

要想成就大事,你就应首先抛开身边的“拐杖”独立自主。如果做不到这一点,那么你最好埋葬你的雄心壮志,一辈子老老实实做个普通人。

职场

李嘉诚,做到这9点,赚钱其实也很容易!

5. 机遇给有准备的人

商人最重要的一点是能把握时机。逐个击中自己的目标。这样就能从小到大。从弱到强。所以李嘉诚练就了“擒住机会就绝不放手”的绝活。李嘉诚向儿子透漏:一生之中,最重要的是守信。我现在就算再有多十倍的资金,也不足以应付那么多的生意。而且很多都是别人主动找我的。这些都是为人守信的结果,可见信誉就在行动里。

6. 信誉创造更多机遇

“一个有信用的人,比起一个没有信用、懒散、乱花钱、不求上进的人,自必有更多机会。”这句话,是李嘉诚给儿子的忠告,也同时是他奋斗的座右铭。

职场

李嘉诚,做到这9点,赚钱其实也很容易!

7. 耐心成就大事业

耐心是欲成大事者必修的一门课程。在局势明显不利或形势不明时,宜保持谨慎,一方面积极准备必要条件,一方面静候时机。如果为眼前利益驱使,企图侥幸取胜,很可能招致败局。

8. 强迫自己定下心来

“人,其实就是一样的,当然是希望自己做自己愿意做的事情。譬如当年我开办长江时,我预算是只做三年。然后像我的祖辈、父辈那样,去从事教育事业,说心里话,最初我是根本不喜欢做生意的。但后来,生活环境的改变,理想是一回事,现实却又是一回事,慢慢地,我强迫自己定下心来,强迫自己培养做生意的兴趣。然后,真的有了兴趣,这样才一路不停地发展到今天”。

李嘉诚,做到这9点,赚钱其实也很容易!

9. 锁定发展目标

如果你要去实现自己的人生,不管是什么样的人生,你首先必须为自己设定目标。没有目标,就不可能发生任何事情,也不可能采取任何步骤。如果个人没有目标,就只能在人生的旅途上徘徊,永远到不了任何地方。只有锁定发展目标,才能拿出行动去追求高素质的人生。

总之成功是靠努力争取过来的,如果不努力,永远不会有机会成功

了解更多

成功人士的共同特征

今天就说说不少各行各业的成功人士身上的共同特征:

1、他们都很宽厚,谦谦君子。

2、他们关注他人,多过关注自己。

3、他们都有很正的价值观,很少受别人干扰。

4、他们都清晰地知道自己的目标,并且知道做取舍。

5、他们都目光很少留恋过去,更多地关注将来。

6、凡事说到做到,有始有终。

7、他们都很善于吸收和过滤有用的信息。

8、每个人都有很强的控制情绪的能力。

9、当日事,当日毕。

10、很少说废话。

11、都是承受压力的高手。

12、都很从容,很少一惊一乍。

13、他们相信“愿望”的力量,相信奇迹。

14、乐观。

15、感恩。

16、善于合作。

17、非常自律。

18、追求名利,同时有看得很淡。

19、选择不会消耗自己女人。

20、凡事尽心尽力。

不总结还好,一总结吓一跳,知道自己为什么没能成功了!

了解更多

新升项目经理的七个大坑,小心了

每到一个新的岗位都会或多或少的遇到许多前辈踩过的坑,当然项目管理也不例外。

下面我把项目管理过程中常见的坑罗列出来。

在软件行业,好多经理人都是程序员出身,所以标题给了"新升"。由于旧习,身上可能存在众多需要改进的地方。简略总结了以下几点,希望对大家有些帮助。


1、不明确自身的职责


你不在是个码农?公司聘请你不是为了让你去写代码,而是让你去带领你的队伍干大事。别整天埋头啃代码了,这些事有其他人干就行了,正事都干不过来呢。就算是一种偏爱,希望课下自己研究去。计划任务执行、各组分工、与其他部门协调、团队建设等,这么多事都还没干呢?或许根本不知道有这些事。别整天忙忙忙,又不知道在瞎忙些什么。等到该干的事情时,又开始喊这个喊那个,问东问西。让人感觉你“业余”。


2、关注点偏低


在讨论设计方案时,经常会太具体,哪个逻辑怎么写,用什么算法,甚至是哪个字段如何命名。对于一个经理人来说,这些都不是你该关心的。你手下那么多小兵呢,如果总是这样,不累死你。而且手下的人更是手忙脚乱,而且极大的影响士气。代码不规范,应该建立适当的代码规范加以约束。员工素质不高,需要多进行培训,集中学习。这才是管理者应该关注的。


3、不懂得团队建设


跟你干活的这些人,不是机器人,也有累、烦的时候,如何调节这些人的心态很重要。跟你当初写代码时候不同了,并不是写完这个功能就完事了,硬活每个人都能干,可是对于沟通、团队建设这些软内容,并非每个人都能成。这个才是辨别一个领导是否能够胜任的主要因素。不懂得发展自己的团队,即使你是技术大牛,即使你经验十载,也不配做个合格经理人。所谓众人拾柴火焰高。


这些人召集在一起,要团结,然后给定一个目标,每个人共同为目标而努力,才能事半功倍,实现1+1>2,体现团队的优越性。如果这个主导人没有发挥作用,长期以往,人员变动频繁,干活的人唉声叹气,整个工作气氛死气沉沉,工作效率低下。天天被员工背地里骂(毕竟你是领导,人家得给你面子)。最后弄得人心涣散,团队散了,项目完了。


经常组织活动,丰富大家的课外生活。既能增进彼此的了解,也能增加大家的幸福感。并且,团队的凝聚力、也在潜移默化中有所提升。


4、自命不凡、顽固不化


平心而论,程序员都有点小坚持。当然不是他们的错,可能每个人都有这个性格吧。自己辛辛苦苦做的东西,当然不希望被别人指指点点。但是这种习惯不能带到经理级别。虚心听取职员的合理化意见,而不是总是顽固坚持自己的。这种自命不凡的家伙总是树敌。就是当年的皇帝还纳谏呢?何况是个底层干部?


5、批评多多,吝啬鼓励


对于一些程序员出现的问题,不能一棒打死,即使代码写得的确很烂,但是也要中肯的给予一些合理化建议,万不能


“你这是写的什么?Shit!”。


有的甚至比这还惨,


“找个不会写代码人比你写的也好,这么多年白学了。”


现在什么都双面选择,人家给你打工,不是你的奴隶,毕竟二十好几,有的甚至年过三十,这样苛刻的语言,有几个能容忍的了。直接怕屁股走人,即使忍痛留下来,工作积极性也会大打折扣。工作本该是轻松友爱的气氛,这下成了死敌较劲。境况可想而知。你就多鼓励下,“这次没干好,下次努努力,私下下功夫夯实下基础。”“这次有进步,干得不错。”“很好很强大,大家辛苦了。”尽管是简单的几句话,在员工心理可能引起蝴蝶效应,更加努力为你卖力。


6、会议太多太长


领导的会议总是很多,特别是一些新领导。也许他们认为只有开会才能显示自己的权威,只有开会才能了解项目进度,不能说你不可以开,这是当领导的权力。但是一定要严格控制频度和时间。每天都有说不完的事,真想不到这个经理怎么当的。并非开会说的都是正事,其实大多时间都是扯皮。与其浪费在这里,还不如让你的员工多花点时间在工作上。希望员工对领导的印象不只是开会、扯皮。


现在讲究敏捷开发,这不是一门技术或者一门学问,而是一整套体系,如果领导都不带头执行,那员工如何执行?


7、领导太多,管理混乱


当然这个问题不是针对某个领导,而是说一个公司人事架构内,不要太复杂。


如果结构复杂、层级繁多,造成责任不明确,遇到问题,不知道找谁,层层往下推,最后到了程序员手中可能跟最初的要求大相径庭。


还有一种情况,有的时候遇到问题,客户直接跟上级通了电话,而上级也不了解情况,直接揽下,问了开发经理,才知道这样的修改不合理。中间也可能有更多级,开发人员拿到任务,明知道不合理,但没办法,很难驳回“上上上...级”领导的决定,只能在产品里堆垃圾。


在一个部门中,也可能有类似的情况,有多个开发经理,遇到工期比较紧张的时候,可能几个开发经理通知给一个开发人员下达任务,有时候部门经理也可能下达任务,这个人很为难,到底怎么做?先做谁的?每个都说很紧急。这就是管理混乱的表现。任务下达要责任到人,最好不要越限下达,因为你不了解每个人具体情况。一个开发人员的任务情况,只有其开发经理最熟悉。如果是部门经理下达任务,首先下达给开发经理,然后由开发经理下达给开发人员。如果其他开发小组需要其他人帮忙,则需要向部门经理申请,有部门经理协调,然后下达任务到开发经理。这样一切都清晰多了。


这些可能是“升级经理"的通病,希望大家:有则改之,无则加勉吧。

了解更多

技术总监&技术经理相关专业能力要求

对于程序员的职业进阶主要两个方向一个是项目管理,一个是技术总监或技术经理。对于项目管理主是对于项目的管控,项目管理的七大范围,个人觉得相对于项目管理来说技术总监或技术经理要求更高一些,它不仅要求有比较全面和过硬的技术能力还要要求有比较好的管理能力。

纵观各大招聘网站对于“技术总监或技术经理”的要求都大同小异。
下面就我针对于项目管理和相关技术(主要是Java方向)这两方面作一个要求汇总,你可以把它作为一个打怪升级的过程中的技能备忘录,锦囊。

一、项目管理

制订并实施工作目标和工作计划,加强技术队伍建设和管理
负责对研发团队进行有效的管理、提升和考核,能合理的工作安排和项目过程把控。
绩效考核指标,绩效考核,绩效管理,部门制度指定,激励,监督
团队员工招聘,录用,技术培训
公司发展战略,年度经营计划,月度经营计划
负责制定与技术相关的各项管理制度、技术规范及业务流程

1、参于公司战略讨论。负责信息中心整体发展方向、负责团队目标和工作计划的制定和高效执行、确保目标实现;
2、组织制定和实施重大技术决策和技术方案、制定技术发展战略、规划发展方向、全面负责公司技术层面的所有管理工作;
3、负责团队的建设和人才培养,不断提升团队的工作质量、效率和技术能力;
4、负责各项目系统总架构的(包含网站、软件、数据库、接口和应用架构、APP客户端软件、系统运维、安全运维等)设计与实现;
4、分析产品运营效果和数据、制定产品优化方案、实现提出的技术需求;
5、负责根据需求设计大数据、大并发技术解决方案;
6、负责解决重大技术问题,指导、处理、协调和解决软件产品出现的技术问题;
7、负责关注现有产品的数据并进行分析、带领团队持续完善和优化已有产品功能;
8、负责不断地快速提升核心技术、构建稳定、高效的研发团队;负责团队的建设、激励、考评、培养、持续提升团队工作热情、工作质量和工作效率;


1、制订并实施工作目标和工作计划,加强技术队伍建设和管理;
2、根据业务需求进行软件需求分析;
3、系统架构设计及模块划分和设计、进行模块接口设计;
4、参与核心代码开发并指导其他工程师完成软件代码开发;
5、负责制定团队开发规范、编码规范,并跟踪开发过程及时纠正;
6、负责对研发团队进行有效的管理、提升和考核,能合理的工作安排和项目过程把控,工作协调分配。
====================

二、相关技术

1、大专及以上学历,3年以上互联网平台系统开发经验,具有团队管理经验尤佳;
2、精通Spring、Hibrenate、Struts等开发框架;
3、精通J2EE、XML、HTTP、WebService、json、分布式、多线程等高性能架构相关开发技术;
4、精通面向对象的分析和设计技术,包括设计模式、UML建模等,精通设计模式,熟悉并能使用主要的设计模式,能在JDK,主流的开源框架中识别设计模式,做到真正理解设计模式的思想和用法;
5、精通面向对象的设计方法, 具有丰富的面向对象架构设计以及相关设计开发流程;能用主流的UML工具(Rose等)画主要的UML图,例如Class图,顺序图,状态图等。
6、熟练使用Oracle、MySql等数据库系统,有较强的数据库设计和开发能力;
7、具有高负载、高并发、大数据量、分布式网站的开发、设计优先。
8、熟悉Web后台编程环境,精通至少两种以上后台开发语言,比如:Java/PHP/.Net/Python/Ruby


、精通Java SE和Java EE技术,包括Servlet/JSP、JDBC、EJB、JMS、Web Service等技术,对各种开源的框架如Spring、Hibernate、Mybatis等有深入的了解;

、精通大型电商网站的架构设计、系统分析、软件实现、性能优化及系统安全和数据管理;

、精通java和JVM、熟悉Linux、mysql、Mssql、Oracle等常用开源软件和开源框架;

、精通jsp、Servlets、JMS、EJB、jdbc、JMX开发,熟悉J2EE规范,熟悉各种常用设计模式;

、熟悉Tomcat、Jboss等应用服务器,熟悉Linux,熟悉常用的命令,能在Linux下部署和管理Git,Nginx,Tomcat和MySQL等;

、撰写技术文档能力强;

、精通主流WEB2.0的技术,熟悉RestFul,springmvc, spring,mybatis/JPA、 分布式缓存技术,以及其他性能调优技术,对高性能、高可靠性分布式系统的设计和实现有深入理解

、精通分布式高并发系统架构设计,熟悉zookeeper,dubbo,jgroup等框架。

、精通常用的java框架,spring , mybatis,Hibernate ,netty.能够合理使用开源框架和设计模式提高软件质量。

、精通数据模型设计。了解mysql优化,高可用集群搭建,熟悉Redis,Memcache ,Mongo db等No Sql.

、能够使用SVN,GIT,管理代码。并使用一些开源工程提高代码质量,和集成速度。


、计算机基础知识扎实,熟悉多线程编程,JVM调优, 设计模式,精通Java编程基础:集合框架、多线程并发等;

、精通Spring, 理解AOP的思想,极为熟悉SpringMVC,精通Spring下的各种配置,特别是事务配置,连接池配置等。

、精通Hibernate,最好是Hibernate结合MySQL,知道常见的难点及解决方式,如批量更新和缓存的问题。熟悉JPA,能用Hibernate作为JPA的实现,结合Spring开发系统。

、精通MySQL或MariaDB,能用PowerDesigner,ERWin等建模工具规范化设计大新网站的ER模型,能编写较复杂的存储过程,掌握常用的性能调优技术,精通读写分离技术,并有实际的项目经验。

、精通SpingMVC+SpringIOC+MyBatis+MySQL的系统开发技术,成熟的Action+Service+DAO+Entity的分层开发经验和技术, 有利用上述技术开发大型网站系统的丰富经验。

、精通JSP,JSTL的表现层技术,熟悉HTTP协议,熟悉html5,Javascript、AJAX、JSON等Web2.0页面技术;必须精通 BootStrap, JQuery,因为是侧重前端的方向,所以应具备在无美工和前端设计师配合情况下,设计出采用BootStrap, JQuery,HTML5技术的具有统一的网站页面风格的静态页面,具备较高水平的页面布局和设计能力。

了解更多