我们99.9%的程序员都会参与一个团队进行开发工作,而并不是单打独斗,但是,没有独立生存的能力是不可能有好的团队合作工作的。
说得夸张些,原因就是某人的其中某些短板会成为这个团队的累赘,那么,这时候就需要在不断的项目进展中给予培训和辅导,以使其跟上大家的步伐。从这一点上来说,一个团队的主管是不愿意看到的,他总是希望新加入的人员来了就可以融入整体团队,而不是花一个月甚至更长的时间给予培训。
考官:“你有独立完成一个项目的经历吗?”
A君:“有”
考官:“请描述一下这个项目”
A君:“我独立做了一个权限系统”
考官:(喜)“权限系统?是一个独立项目?”
A君:“对,就是一个图书管理系统中的权限系统”
考官:(晕)……
考官:“你有独立完成一个项目的经历吗?”
B君:“没有,因为一个软件系统不可能一个人完成”
考官:(无语)……
考官:“你有独立完成一个项目的经历吗?”
C君:“咱们公司那么大,难道是让一个人负责一个项目?”
考官:(?)……
显然,当面试时问及这个问题时,这几个应聘者都有些不解。A君是不明白的是独立完成一个项目的意思是指什么,B君是不明白的为什么需要这个经验,而C君甚至对考官的这个问题提出了质疑。
给A、B、C君解释一下,什么是独立完成一个项目的经验?
一个任务,开发一个人事档案与工资管理系统,要求可以打印工资条,能有查询每月各个员工的工资发放记录,并且可以做各种统计,如,按部门统计,按性别统计,按职位统计等等。最好可以出人力成本报表,当然如果可能的话可以和财务软件之间建立接口。
然后,做完以后给你奖金3000元,做得不符合用户要求将领不到奖金。
好,去做吧,1个月内做完。
Ok,拿到了3000元奖金的时候,就有了一个独立完成项目的经验。但是,如果没有拿到奖金那么意味着你还没有这个经验。不过,一般情况下一定会想尽一切办法拿到这个奖金的。
为了拿到奖金会怎么做?
为了做出的东西符合用户要求,需要和用户沟通,并写出大概的项目计划让用户确认
需要根据项目计划和功能结构设计数据库表结构
采用最熟悉的技术迅速的搭建程序框架
开发的每一个阶段都需要和用户沟通,听取改进意见,并针对意见做有效的修改,修改的工作量要控制在有限时间内的同时还需要符合用户要求
整个程序开发完成需要给用户演示整个程序的使用方法,并可以给用户其他相关人员培训
要写出使用手册和培训PPT等文档
和用户负责人商讨验收事宜并验收
想办法让用户遵守他之前的承诺把奖金要回来
怎么样,独立的完成一个项目还真不是一个简单的开发那么简单吧?这是在开发过程中需要不断的和用户沟通并设计与调整自己的开发方案,并使出浑身解数来完成这个项目。
所以在某些事情的合作方面仍然需要大家取长补短,但是,最好的情况还是你具备了A、B、C、D这些能力之后和团队其他人员进行合作才会更顺畅。因为,你对这些工作内容都很了解的情况下,会少一些内部沟通多一些工作的默契。
温馨提示:想对这方面有所发展的朋友,可以加qun:671017482,小白勿进。
下面我们再以一个有独立完成项目经验的,给大家分享一下经验
不要总做外包,要有自己的产品
外包无论价格多高都还是苦力钱,要形成自己的产品。
每年给自己制定学习目标和计划
做独立开发者后,就失去了和同事们交流学习的机会,而作为Programmer不停的学习新技术是必须的,所以这方面要特别加强。
工作计划可以和大众的节奏错开
做独立开发者最大的好处就是时间的自由。很多地方,例如美术馆,电影,旅游胜地,在周末人满为患,周一到周五则几乎空无一人。 所以我常常是周末工作,周一到周五抽一到两天休息。做独立开发者的时候,黄金周是绝对不出去玩的,都是在家工作,旅游淡季的时候出去玩。
尽量购买或外包一些非核心工作
现在网上有很多成熟的各种服务,比如template monster的网站模板,可以让你简单填写内容就能搞出一个很漂亮的网站。 这种工作不需要自己做,尽量外包或直接购买。 自己做最核心的东西。 但这个核心并不等同于核心技术, 而是你的核心竞争力。 当你的核心能力是整合能力的时候,甚至所谓的核心技术都可以外包。
要养成规律的生活习惯
如果生活没规律,工作也就缺乏计划性,那工作的拖延不可避免,拖延多了,人的状态,心气都会下降,最后形成恶性循环
养成体育锻炼的习惯
体育锻炼一个是有助于保持身体健康外,对你保持心理健康,保持积极的心态很有帮助。 我在做独立开发者期间,养成了长跑的习惯,那9年的北京马拉松除了有次因为在国外没能参加外,其他全参加了。
要重视社交生活
对这9年的生活非常满意,如果要说有什么不足的话,就是开始没太重视社交,后来才开始重视。如果有机会重新来过,一定会更积极的参加社交活动。我这个人原先就比较孤僻, 自己一个人工作后,就更有点离群索居了,和客户和朋友都是靠email,IM联系。 虽然经常去旅游,甚至一年有半年在路上度过,但大多是自己一个人背包到处转。过了几年才意识到问题,感觉自己脱离开社会太远了,才开始在亲友帮助下重新开始积极参加各种社交活动。
多参加技术聚会
一个对学习新技术有帮助,还有就是能认识一些朋友,有助于拓展自己的交际圈。我去参加过深圳的Startup Grind认识了不少有趣的人。
我不会劝你去做/不做独立开发者,你要自己考虑好自己的前途。一旦决定就果断去做,你会发现你的选择永远是对的————看完别忘记点个关注哦
最后, 我想说,想免费学习:源码分析、Spring 企业级开发前瞻,持久层,高性能/高并发,分布式协调技术 zookeeper 服务锁,Nosql,高可用性/可扩展,分布式架构介绍,服务调用,性能优化,JVM优化,数据库优化,服务器优化,双十一电商项目实战(用户认证系统,商品管理系统,订单系统,支付系统等等,
温馨提示:请加群号:671017482,只想提供一个学习平台,此群不是Java小白群。谢谢