㈠ 程序员如何修炼项目管理能力
摘要: 项目管理能力修炼的6个阶段。
我门在“ 程序员加薪升职之成长金字塔 ”中介绍了职场成长金字塔:
大部分开发者工作三五年后,都能掌握所在岗位必须的知识、经验和技能,然而很多人接下来就陷入困境,左冲右突,无法加薪升职,一直停在第1层,三年五年过去了,八年十年过去了,可能都还停在1层的位置。
对开发者来讲,第1层对应的就是具体的软件开发角色,卡在这层无法晋升,是指没办法成为技术管理角色。这其中最重要的原因是: 大部分开发者只注重专业技能的修炼,忽视了人际沟通、项目管理等技能 。
而实际上,技术管理岗位,需要软件开发的专业知识体系,也需要项目管理、部门运营、人际沟通、产品知识、自我提升、公司知识、行业知识等等,这个岗位,需要的是一个知识树:
在这棵知识树中,有1个知识体系,特别重要,那就是——项目管理。如果一个开发者不具备项目管理知识体系和实操能力,就很难带好软件项目,很难走向技术管理岗位,很难做好技术管理工作。
所以,今天我们来聊聊 项目管理能力修炼的6个阶段 :
很多事情都是有章法、框架的,项目管理也是如此。比较知名的项目管理体系就是PMP认证所定义的体系了。建议想走技术管理路线的小伙伴,都学习一下PMBOK,考一个PMP认证。
在PMBOK中,把项目管理分为10个过程:
前 7 个过程,是对事务的管理,后 3 个过程,是对人的管理。而且,后 3 个过程往往会在很大程度上影响前面的 7 个过程。所以,人际沟通能力,协作管理能力,都是技术管理岗位必须具备的能力。
我们掌握一项技能的最开始,就是找到这个领域的知识体系和框架去学习。了解了基本框架,再去实践,以实践来印证所学知识体系,相互促进,这样,知识才能内化为能力。
其实项目管理并不是软件开发过程中特有的东西,它是通用的技能,可以在变通应用于任何类型的项目,比如电视生产、汽车制造、年会,各种都可以用。所以在一开始我们还是普通开发者,无缘管理项目时,可以通过生活中的项目来练习。
比如国庆长假的旅游,就是一个很好的练手项目,因为它牵涉到多个人、成本、线路规划、住烂坦宿、交通、饮食等等,比较复侍颂杂,几乎包含了项目管理的10个过程。
再比如同学聚会、读书分享会、组团爬山等等,都是很好的练手项目。
我们在生活类项目中练就的能力,比如规划、进度管理、成本控制,都可以直接拿到软件项目中使用。
我们还不是项目经理、技术经理的时候,可以观察别人是怎么做的,把自己放在管理角色上,来推演自己会怎么做,这样也是一种有效的练习。
一个简单有效的练习方法,是给自己定一个目标:每天挑出一个项目管理相关的问题来琢磨解决之道。
带着问题去学习,是最有效的方式。
生活中练习,工作中代入角色,日常推演,这些方法可以让我们熟悉项目管理的知识、技能和过程,但有效的办法,还是直接做目标领域的项目管理工作。
有人说我不是项目经理啊,怎么做项目管理?
别急,你虽然不是项目经理,但你身在项目之中,承担了某个角色嘛,那自然有些工作是和你相关的。另外,更关键的是:你要跳出工作内容和岗位职责的范围,放眼全局来思考。
站出来,你才有机会。老想等着领导看见你给你机会,那是不可能有机会的。
所以,你要用心观察,发现机会,主动去做。
比如拔高自己,站在全局视角思考整个项目,从立项、需求、开发、测试、交付、运维、项目生产工具,分析哪个环节做得不好,哪个环节改善之后效果可以被看见,主动去做这些事情,主动成为衔接不同环节、不同人员、不同部门的桥梁;
比如观察项目经理、研发经理,看他们有哪些项目管理相关的事情是不愿意做的,比如组织会议、跟踪计划、分派任务、推动多干系人协作等,主动找他们表达你可以分担这部分工作的意愿,获得打杂的机会。
有心就可以发现很多可以发挥的机会——因为大多数开发者都嫌麻烦不想把事情揽在自己身上哦。
如果我们在第四个阶段做出一些亮点,比如会议组织的很好、项目计划跟踪的很到老历郑位,那团队有新的项目时,经理可能就会安排你来管理。到这个时候,你就可以系统地进行项目管理了。
自己独立带小项目时,要注意下面这些点:
经历了第五阶段若干个小项目的实践,我们对软件项目管理应该有了丰富的知识积累和实践经验,可以挑战比较大的项目了。
5个人2个月可以完成的小项目,与100个人2年才能完成的中大型项目,不是一个概念,对项目管理能力的要求,非常不同。具体怎么不同,我没做过太大的项目,并不知道啊……
呃,所以,这个阶段,我没什么好说的……如果你有经验,文后留言来聊聊呀。
这次我简单介绍了项目管理能力修炼的6个阶段,提供一个循序渐进的参考。实际上,软件项目的管理,有它自己的特色,与建筑、生产、娱乐等,大不相同,所以,要做好软件项目管理,除了PMBOK构建的体系,还需要了解软件工程特有的知识体系,这方面,建议看看下面几本书:
好啦,这次就到这里,下次来聊如何成为技术管理者。
作者信息: 安晓辉,《程序员的成长课》作者,公众号“程序视界”主理人。
㈡ 从一名程序员过度到项目经理
从一名程序员过度到项目经理
1.从程序员到PM,是一条脱变的路,事实上程序员走的路最终不应该是项目经理。首先有一点需要明白的就是,一定规模的项目中,项目经理不需要太懂技术,他可以是一知半解。项目经理的任务不是在技术方面,技术相关的应该交给SA去做。项目经理更多地是做管理,沟通等工作,你如果可以的话到书店查看一下关于项目管理的书籍,你就会明白。当然对于小项目来说,有可能是PM,SA是同一个人,而这样的项目经理更多只是SA加上一些管理工作。要做项目经理,你就首先告诉自己不再去碰技术细节了。程序员并不是一个培养项目经理的好环境。所以没有什么从Coder到什么developer再到SA然后是PM的路,这是一条比较悲哀的路。在大公司,SA下一个目标不是PM,而consultant,然后是seniorconsultant,PM走的是另一条路,所需要的技能不是技术,技术给PM带来的能力提升是很少的。在项目中你最后能分清楚PM与SA的关系及各自在项目中的分工与用途。
2.其实我蛮同意gzlucky(Lucky)的看法的,确实是我们公司不少项经理就是不很能跟得上现在的一些技术,因为很多人都快年近四十,儿子都上高中了,要他们再学新技术真的难度比较大,他们的工作基本上就是天天找手下的程序员,布置这个任务,询问那个任务做的怎么样了。不过我的头倒是和我一样编程,他手下写代码的就我一个人,他自己也会ASP和JSP,但是可能对。NET不熟,就由我来主负责了。我觉得项目经理还是像他这样的好,自己也能懂不少技术,可以服人。但是我的头儿好像在沟通这一块不是非常出色,当然也有可能是俺太内向,不太与他沟通,所以他也只是在交待任务后就不再多询问,而不像别的项目经理天天追程序员后头问。我想问问各位,你们看哪种项目经理才是比较好的,像我的头儿这样的,还是像某些喜欢追程序员后面问进展的。
3.原来在一个小公司做过半年的.DM,一年的PM,后来为了让自己的技术更扎实一些,离开了原来公司,现在在大公司做程序员,开始后悔了,在大公司里很难接触管理方面的东西,也很难晋升,个人认为在小公司做DM,PM,有经验后直接找大公司的PM,这样也是一条路。
或者考PMP之类的证书,然后直接找管理的工作。
希望过来人能给予更好的意见和建议,我也现在想往管理层发展。
技术很硬了再去做PM,这种想法是错误的,我就犯了这个错,边搞好技术(为了生计)边学管理知识(为了将来),慢慢向管理发展,不能等。有句话说的好,机会是属于那些有准备的人的。利用业余时间多学些管理方面的东西,所谓人的差异在业余时间。
要走向管理层,英语一定要学好。
沟通很重要,要做好管理者,先学会做人。多跟下属沟通,多为下属着想,而不要去巴解讨好上司。体谅下属,把项目计划做的尽量合理,不要让下属加班,给下属发展和晋升的空间,这样才能是下属有干劲,才能把项目做好,你才有更高的升迁机会。
只有把自己知道的不断的让你得力下属知道,只有提拔起一些得力的下属来,你才有时间和精力去向上爬,不然你抱着不放,就没有升迁的机会。
管理不是喝酒抽烟那么简单,那只是过去的那种不思上进,耽误自己前程。
吃尽苦中苦,方为人上人。
做PM不是混,是要把项目做好,这跟做人是一个道理,这也就是为什么做管理要先学会做人的道理。
pm的整个工作重点是什么?如果做为一个PM,技术不高怎么对付组里的牛人
我们经常会因为公司里的顶尖人才、个性化太强,不能与其他人合作而感到棘手,要解决这一问题其实也是有法可寻的。
一、在肯定其价值和优势的前提下,明确地制定改进的目标;
二、顶尖人才能够面对中肯的,明确及一对一的批评作正面反应,所以要加强与他沟通的力度;
三、可以根据具体情况调整考核目标,加强与其他员工合作的内容;
四、把"顶尖人才"调到相对能独立发挥其才能的岗位,减少与别人发生矛盾的机会。
;
㈢ 程序员怎么提升自己
第一,技术不能落伍。
技术的更新迭代非常快,所以要学习的东西很多,所以说,做程序员挺不容易的。但作为这个时代的弄潮儿,我们必须提高对自己的要求,否则很容易落伍,被拍死在沙滩上。
一线城市的程序员可能还好,因为公司的产品迭代升级很快,所以技术栈的更新换旧也快。但二三线城市的程序员可能就没那么幸运了,往往一个产品都做到没客户了,技术还是最初用的那些。
以至于有些程序员回到二三线城市后再去一线会比较难,并不是生活节奏不适应,而是技术跟不上了。
怎么才能保证技术不落伍呢?并不是说外面流行什么技术,就一味的跟风,而是有选择性的,你比如说,Spring Boot 是肯定要跟的,但 Hadoop、Spark 就不一定要跟,要量力而行,看公司的业务规模是否需要。如果不需要,把更多的时间花费到 JDK 源码、性能优化陵戚上,是更消祥佳的选择。
第二,热爱这个行业。
就目前来说,程序员的确是比较高薪的职业,所以很多人都在往这个行业里挤,再加上“狼性文化”、“996”盛行,搞得很内卷。
在这种情况下,在这种压力下,你有没有问过自己,内心是否还热爱着这个行业?
我曾有一个读者,她问我,“请问你能不能做 C++ 课外辅导啊,孩子上大学,软件工程专业,之前不懂计算机,现在学习压力很大,想放弃,认为自己不适合学这个,不开窍,我是看了你的文章开始关注你的,现在因为孩子的事没办法了,就想问问,能给付费辅导吗?”
从这位母亲的话中,我感受到了她对孩子满满的爱,也感受了学弟学妹们身上背负的压力。程序员的确要学习很多很多知识,除了编程语言,计算机基础知识,还尺桥陵有各种框架和工具,时间根本就不够用。
但有一句俗话叫做“干一行爱一行”,既然入了行,就只有风雨兼程。否则,心里不爱了,学习的热忱和动力又从哪里来?
当你累了的时候,适当地给自己放个假,打一场篮球、打一个小时游戏、唱一首歌,甚至谈个恋爱,让紧绷的神经放松下来,心里的那股热爱也许就悄无声息地回来了。
第三,乐于分享自己。
分享的方式多种多样,并不局限于写博客,你可以在公司的团队内部做一次培训,甚至小到站立会的时候发表一些对技术的想法,或者大到在技术大会上做一次演讲。
分享会收获别人的认可、称赞,崇拜的小眼神,这些点点滴滴的荣誉感会让你鼓足勇气,在前行的道路上充满干劲,进而精益求精,要求自己做得更好。
㈣ 如何才能修炼成一名不可替代的程序员,避免裁员危机
(1)专业能力程序员作为专业性较高的人才,对其专业能力要求很高,这个问题下很多程序员大佬也纷纷表示:“代码是程序员的立身之本啊,所以一定要锤炼好代码基本功,扎扎实实的能力练出来了,你就是公司不可替代的人儿~”在技术说话的互联网公司,要保持一个不可替代的地位,实力是最基础的一环,需要不断地学习新技术,才能跟上技术发展的脚步,完成从一名普通程序员到精英程序员的蜕变。
(2)性格特质在外人看来,程序员就是整天和bug打交道的人,这样的人需要耐得住寂寞,但同时也要脑筋足够灵活,才能更好地应对各种bug,并且不断开发出新的产品。同时还要有责任心,对自己的代码负责,对自己的产品负责。
(3)发展需求除此以外,因为要不断地发展自身能力以提升自己的核心竞争力,所以要做一名“不可替代”的程序员还要有一定的竞争意识,与自己竞争,督促自己进步等。以上仅仅是比较概括性的特质,具体到不同公司的不同程序员岗位,还会有不同的层级要求,需要进行一定的调整。
如今市场不景气,企业用人大大收缩,再加上一批小企业的倒下,造成就业压力越来越大,但我认为这是接下来的常态。前几年的经济“泡沫式”过渡发展,互联网也跑的太快,造成大量的用工需求。一些其他行业的从业者培训下就能改行做程序员,造成这个行业的人五花八门,能力参差不齐。寒冬的到来,必将对市场人力的重新洗牌。互联网企业将会对程序员的要求越来越高,并促使IT从业者更加专业化。
㈤ java程序员的4个职业发展方向,该如何把握黄金5年
2)参加让闷工作1-2年之间
在这段时间里,想必对Java已经有了一个较为深入的了解。
首先,要非常熟悉设计模式,日常要多看一些关于代码编写优化的书,提高自己的代码能力,能够写出一手优雅的代码;
其次,在工作过程中肯定接触过并发,应该更加深入地去了解并发的相关知识;
最后,要对所使用的框架和Java的类库有一定的研究,还需要去看一些JDK中的类的源码,包括自己日常所使用的框架的源码。
总而言之,这个阶段,需要做的是深入了解Java底层和Java类库,也就是JVM和JDK的相关内容。
3)参加工作3-4年之间
处于这个阶段,说实话很难再提升代码能力了,因为这个阶段的学习会比较多样化。
在前三年的工作中,相信或多或少都会接触一些其它的技术,比如大数据、分布式缓存、分布式消息服务、分布式计算、软负载均衡等技术,你能精通任何一项,都将是你未来面试时巨大的优势。
因此,如果自己对某一项技术感兴趣,这时可以深入去研究,即使这项技术不一定会在工作时用到,但一定是相关的。
4)参加工作4-5年之间
到了这个阶段,应该遇到了所谓的“技术瓶颈期”了。不要急于提高自己的技术,此时更重要的是提高你的影响力。
可以尝试去一些知名公司提高你的就业背景;也可以发表一些技术文章去影响更多的人;还可以去Github创建一个属于自己的开源项目,打造属于自己的产品。
这个时候提高自己的影响力主要是可以给自己创造更多的机会,所以,这个阶段最大的任务是提高自己的影响力,为未来工作生涯做准备。
对于软件开发同学而言,首先要客观认识自身的情况,想清楚自己现在要什么、未来要什么,做好职业规划,从而选择不同类型的企业。
下面来再谈谈Java程序员职业发展规划和方向。
㈥ 程序员是如何找项目练手的_新手程序员如何找工作
首先,你能想到平时找项目来进行练手,说明你是一个在技术上面是一个非常上进的同学。想要找到项目进行练手,第一个想到的地方应该是Github。Github上拥有全球最多的开源项目,你可以从其中找到自己感兴趣的开源项目,然后参与到开源项目的开发中去。能够参与开源社区,这也是很多互联网公司非常看重的一点。
其次现在也有很多举办计算机类比赛的平台,比如阿里云的天池大数据、Kaggle、Datacasle等。你如果有时间,可液返以参与上面举办的比赛,进行项目练手。
想要在Github上面找到自己想要参与的开源软件,首先你要确定好自己对什么技术方向感兴趣。比如对于我来说,我对实时计算非常感兴趣,所以我找了很多开源的实时计算引擎,最后选择了Flink开源项目,现在也在努力的参与到Flink的开发中去。想要使用开源项目来进行练手,你一定要确定好自己的技术方向,找到感兴趣的开源项目,接着就是尝试参与到其中。
确定好自己感兴趣的开源项目后,第一步就是去订阅官方社区的邮件组,在社区的邮件组里面,你可以看到很多同学对于开源项目的问题以及解答,你未来有任何问题时,也可以在开源项目邮件组中进行提问。其次,你可以去开源项目的官方网站,将里面的官方文档阅读和理解一遍,这对于你未来API的使用和概念的理解,会有很大的帮助。
最后,你可以去开源项目的JIRA(问题主页),查看自己能解决哪些JIRA,随着你解决的问题越来越多,我相信你的能力也会提升的越来越快。
其他方面,你也可以去阿里云的天池大数据等平台上面查找自己想要参与的比赛,上面的比赛主要以算法类比赛为主,但也有性能优化相关,编程类的比赛项目。我漏团以前在上面参加过阿里中间件的比赛,但是还是和同学一起来进行参加,一路跟着做下来,自己的能力也提升了很多,而且在校招的时候,面试官也问闹搜饥了很多这方面的问题。如果你能够跟着比赛做下来,我相信你肯定能够得到一定的收获。
㈦ 《程序员修炼之道:从小工到专家》pdf下载在线阅读全文,求百度网盘云资源
《程序员修炼之道:从小工到专家》网络网盘pdf最新全集下载:
链接:https://pan..com/s/1Z0LKxuJbF-s_U8Mp4ki5Hg
㈧ 《程序员修炼之道从小工到专家》epub下载在线阅读,求百度网盘云资源
《程序员修炼之道》(Andrew Hunt)电子书网盘下载免费在线阅读
资源链接:
链接:
书名:程序员修炼之道
作者:Andrew Hunt
译者:马维达
豆瓣评分:8.6
出版社:电子工业出版社
出版年份:2005-1
页数:333
内容简介:《程序员修炼之道》由一系列的独立的部分组成,涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术。利用许多富有娱乐性的奇闻轶事、有思想性的例子以及有趣的类比,全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。无论你是初学者,是有经验的程序员,还是软件项目经理,本书都适合你阅读。
㈨ 关于程序员职业生涯规划
链接:http://pan..com/s/1p1G4NCUtPNVvkkXE7qxFbQ
程序员进阶攻略。如何才能持续成长,是每一个程序员都绕不开的话题。入行之初,你可能会困惑于技能选择的方向和掌握的方法;编程前期,你可能会苦恼于Bug的调试与修复;技术水平达到瓶颈期,你可能又急于寻求突破和上升。除此之外,职业倦怠了,如何去面对?技术停滞了,如何去解决?人到中年,是选择工作还是选择生活?换工作?换城市?换方向?如是种种,磨蚀着曾经的乐观和现在的不甘,是放任自流还是逆流而上?
课程目录:
开篇词 (1讲)
开篇词 | 程序行知:走在同样的路上,遇见自己的风景
征途:启程之初 (4讲)
01 | 初心:为什么成为一名程序员?
02 | 初惑:技术方向的选择
03 | 初程:带上一份技能地图
04 | 初感:别了校园,入了江湖
修炼:程序之术 (10讲)
05 | 架构与实现:它们的连接与分界?
......
㈩ java 程序员任何修炼内功
搞开发,修炼程序员野雀的内功,主要是看你谈稿对职业的心态和对行业的执着度,如果你感觉你每天做的都是一些重复的,感觉无味的东西,那说明你还没有任何内功,甚至还没达到一个真正的程序员,搞开发,就是让计算机为人们的生活更为方便和高效以及快捷,明白了这些,在看看,含脊孝有那个无所追求,满足于现在,包括你,所以人的欲望永远不会停止,心有多高,就能走多远,我想你会明白我说的这些的,所以,你要持java利刃,开辟任何你不想用手工或效率低下而能服务大众且颇受欢迎的东东,我想你不会说很没意思的,那是你的内功也真成了行家内功呢!