今天的第一部分——选择市场,是在前奏基础上总结的。
该说的都在前奏中说了,废话不多说,直接上干货
- 在有目的地选择投资哪种技术和领域时,风险收益平衡是一个很重要的权衡因素。
- 投资技巧:基于当今市场,按照从左往右的顺序尽可能多地列举出处于早期、中期和晚期的技术。最左边为崭新的尚未稳定的技术,最右边为即将退出市场的技术。尽可能仔细地找到它们之间的细微关联。当你列举出所有你能想到的技术后,标记出你认为自己擅长的技术,然后换一种颜色,标记出那些你做过但是并不精通的技术。你的标记主要集中在哪个区域?它们是聚集,还是分散的?处于这张图表边缘处的技术,有没有你感兴趣的?
- 既然外包公司的工作都是市场上需求较高的,那么你就应该关注那些特殊领域的技术。这样或许不能减轻竞争压力,但是竞争的重点会由价格转向能力——这正是你需要的。你无法在价格上与他们竞争,但是可以在能力上与之抗衡。
- 从供求规律中,我们可以学到重要的一点——需求的增长会加剧价格的竞争。如果只想做稳定可靠的工作,并且跟随着工作发展,那么你就会卷入与国外开发人员的价格竞争中,因为你的技术决定了你只能进入平衡的外包市场。如果在主流技术市场中竞争,你就必须在更高层面上竞争,否则,你就要去发现市场上的不平衡,找到外包公司无能为力的工作。这两种情况,你都必须找到工作的动力,提高自身的技术和灵敏度来应对一切变化。
- 研究当今技术市场的需求。利用招聘广告和招聘网站找出哪些工作是高需求,哪些是低需求的。登陆外包公司的网站(如果你在这些公司工作,可以直接与员工交流),把这些公司的技术与你发现的高需求工作进行比较。记录下那些在国内市场中高需求且没有流到外包市场的技术。然后再将这些外包公司的技术与前沿科技相比较。密切关注外包公司还没有涉足的上述两类技术。思考它们需要多长时间才能为相应的市场提供服务。这个时间差就是市场不平衡的阶段。
- 软件工程师不能只会开发软件,应该要成为这个业务领域的专家。
- 你的行业经历应该成为你的重要才能。 比方说,如果你正在做一个医疗保健项目,你能区分出HIPAA835和HIPAA837这两种电子数据交换(EDI)协议有什么不同吗?同是软件开发人员,这个知识不就能决定谁更适合这个职位了吗。
- 鉴于行业选择是十分重要的,那么选择在哪个公司、哪个领域工作对你来说也是重要的。如果你还没有仔细考虑过这个问题,那现在开始思考吧。机遇每天都在流逝。就像利息马上就涨了,但你却把钱存在了一个低利率的死期账户里。把自身的发展限制在一个静止不前的行业里,可不是什么好的投资选择。
- 选择一本与你公司行业有关的杂志。你甚至都不用买,大多数公司都有些过期的行业杂志。试着阅读它们,虽然有些东西你可能不懂,但是要坚持。列出你可以向客户询问的问题。不要担心你的问题很傻,客户会大为赞赏你的这种学习态度。
- 找一个你可以随时登录的行业网站。无论是浏览网站时,还是阅读杂志时,注意大事件和专题文章。你所处的行业正在为什么而努力?现在的热门是什么?不管是什么,把它们介绍给你的客户。请他们说说观点看法。思考这些潮流是如何影响你的公司、你的部门、你的团队,以及你自己的工作的。
- 站在一个天才旁边,就能拥有他的能力。但回想起来也没这么神奇,这好像就是出于一种本能。就好像如果我周围的人说话方式与我不一样,那我就会自然而然地受他们影响,说话时使用他们的词汇或者语法习惯。所以,在一定程度上做最差的人。
- 人们会取得很大的进步或者退步,仅仅是因为与他们合作的人不同了。与一个团队合作的时间长了,会对自身的能力产生持久的影响。
- 做编程团队里最差的程序员和做乐队里最差的乐手产生的效果是一样的。你会发现自己变得出奇地睿智。你写的东西,和你的谈吐都会变得越来越有智慧。你编写的程序和设计会越来越高雅优美。你会越来越有创造力,难题也迎刃而解。
- 试图做一个团队里最差的人可以让你不再小看自己。可能你的能力应该是在甲等乐团演出,但你自己却认为自己属于乙等乐团,这都是因为你恐惧。清楚地知道自己不是最好的,就不会总担心被人发现你不是那么优秀。事实上,即使你在尝试做那个最差的,也并不意味着你就是最差的。
- 比起那些经验单一的候选人,我们更倾向于那些具有丰富经验的候选人。 我认为优秀的程序员之所以寻找变化和多样性的工作,是因为他们喜欢学习新东西,或者是因为他们很清楚要想成为更加成熟、更加全面的程序员,就必须去学习新的技术、在新的环境下工作,获取新的经验。
- 除了可以激励你,使你更加热爱工作,更重要的是,接触这些边缘技术和方法能让你更有深度、更加优秀、更具智慧,以及更具创造力。
- 出于担心的职业规划不会让你走向成功,而是会局限你的发展。
- 越来越多的人懂得了只有对工作充满激情,才会做出卓越的工作。在软件这行,如果没有乐趣,那工作起来就不可能充满激情。
- 对一个程序员来说,只在一个公司工作,加强单一业务技能,会局限职业发展。
- 在职业道路上,需要一些有目的性的冒险。别让恐惧征服了你。如果在工作中没有感到乐趣,那你就不可能出色地工作。
- 就像印第安纳琼斯永远不会放弃寻找圣杯的机会一样,就算另一个选择再稳妥,对于我真正热爱的事业,我也绝不会放弃。等我老了,驾鹤西游之前,回想过去我希望我会说“上帝,这辈子真是险象环生啊!”而不是 “嗯,这辈子过得还算稳稳当当。”
- 聪明的生意人在碰到难题时,会向身边的专业软件师寻求帮助。那么,你怎么才能成为这些生意人遇到困难时首先想到的“英雄”呢?答案就是——能够解决一切可能出现的难题。
- 如果你只是一个J2EE程序员或者是一个.NET程序员,或者是UNIX系统管理员,那当一个项目或者一个公司的关注点开始转移出你擅长的技术领域时,你就会发现你不再发挥作用了。这不是说在一个项目的流程中,你的价值有多大(架构师的价值往往最大),而是说你可以在多广的范围内发挥作用。
- 成为通才就是说让你不要只专注于一种技术。在工作中,有很多方法可以让我们扮演多种角色。为了使成为通才这个概念形象化,我们可以把IT职业分解成几个独立的部分。我想到了五个,但肯定还有更多,就看你是如何划分了:
□职业阶梯的各层
你可以选择成为一名团队负责人、经理、技术人员,或者一名架构师、程序员、测试员。很多人都不明白能够适应和胜任不同角色的价值所在。例如,一名强大的团队领导者应该尽力成为多面手。现在国内的编程团队十分精简,团队领导应该既能领导团队做项目,又能在外包团队偷懒的时候,卷起袖子亲自修复紧急严重的漏洞。软件架构师也一样,他要是再能写一些代码,那可能会大幅度地提高整个项目的进程。
□平台和操作系统
现在如果一个做UNIX的人拒绝做Windows,那就太不实际了。同样,做.NET的也不可能不做J2EE,任何基础平台都是这样。要想在这行站稳脚,就必须做个多面手。任何人都有自己喜欢的技术,但是我们不能太理想化,自己喜欢什么就做什么并不实际。现状是我们要成为某一项技术的专家,同时还应该再擅长几种别的技术。
□代码和数据
□系统和应用
□业务和IT
- 讲课是最好的学习方法。
- 供应商的软件实施细节是秘密的,导致以特定技术厂商为中心的观点不能成立。你对某一个软件了解得再多,也会遇到专业服务障碍。专业服务障碍是由该软件公司人为创造的,在你无法解决某些问题的时候,这个公司就会向你出售他们的支持服务了。
- 试着做一个小项目,做两次。第一次尝试使用在家里就能使用的技术;第二次,使用你最惯用的竞争性技术。
- 如果你想在工作中做出成绩,就必须对工作充满激情;如果你不在乎这份工作,那后果也会显现出来。
- 下星期一开始,做个简单的日志,坚持两个星期。每个工作日起床的时候,给你的兴奋度打分,分值最高10分,最低1分。1分代表你宁愿得病也不想去上班,10分代表一想到马上就要开始新一天的工作了,你就兴奋,不能再躺在床上1分钟了。两个星期后,检查这个日志。图表中有峰值吗?走向是怎样的?这些点都处在高点还是低点?如果这是一份考卷,那你的平均分是多少? 接下来的两周,每天清晨计划如何在明天得到10分。思考你今天要做什么,以便使明天成为你迫不及待要开始工作的一天。每天记录下前一天的兴奋值。如果两周后,这个图表显示的结果还是不尽人意,那或许是时候考虑做一次大的改变了。
另外附上咱家的微信公众号的二维码,没事儿可以扫扫哈。
有啥事儿大家可以随时留言交流。