我编程,我快乐:程序员职业规划之道读书笔记(第一章)

我编程,我快乐 : 程序员职业规划之道

1 选择市场 1

1 稳定成熟的技术还是未成熟的新技术 ? 5

       把自己当做投资的商品,选择投资的技术和领域时权衡风险收益平衡原理。把自己职业规划当做是一门生意。到底选择全新技术还是选择稳定成熟的技术,并且了解他们的不同之处及预测气发展。无论做出那种选择,最终的目的是产生利润。选择是把双刃剑,决定权还是在你手里。

练 习

基于当今市场,按照从左往右的顺序尽可能多地列举出处于早期、中期和晚期的技术。最左边为崭新的尚未稳定的技术,最右边为即将退出市场的技术。尽可能仔细地找到它们之间的细微关联。

当你列举出所有你能想到的技术后,标记出你认为自己擅长的技术,然后换一种颜色,标记出那些你做过但是并不精通的技术。你的标记主要集中在哪个区域?它们是聚集,还是分散的?处于这张图表边缘处的技术,有没有你感兴趣的?

 

2 供应和需求 8

       职场供求规律:如果市场上这种商品供大于求,价格就会下降;如果供小于求,那么价格就会上涨。当选择专注于哪种技术的时候,仔细考虑供给增长和价格下降给你的职业前景带来的影响。竞争的重点应该由价格转向能力——你无法再价格上与他们竞争,但是可以在能力上与之抗衡。从供求规律中知道,必须找到工作的动力,提高自身的技术和灵敏度来应对一切变化。

练 习

研究当今技术市场的需求。利用招聘广告和招聘网站找出哪些工作是高需求,哪些是低需求的。登陆外包公司的网站(如果你在这些公司工作,可以直接与员 工交流),把这些公司的技术与你发现的高需求工作进行比较。记录下那些在国内市场中高需求且没有流到外包市场的技术。然后再将这些外包公司的技术与前沿科 技相比较。密切关注外包公司还没有涉足的上述两类技术。思考它们需要多长时间才能为相应的市场提供服务。这个时间差就是市场不平衡的阶段。

 

3 只会编程是不够的 12

       只思考在哪种技术上投资是不够的,必须要深入了解你所处的领域。软件工程师不能只会开发软件,应该要成为这个业务领域的专家。行业经历应该成为你的重要才能,商业领域的经验非常重要。仔细思考在哪个商业领域投入时间。

练 习

(1) 安排一次与业内人士的午餐,问问他们是如何工作的。交流中,思考如果你来做他们的工作,你会做什么改变或者你可以从他们身上学到什么。询问他们日常工作中的细节。问问他们技术是如何帮助(或者阻碍)他们工作的。从他们的角度出发,思考你的工作。

定期安排此类活动。刚开始你可能会觉得有些尴尬,但没关系。我是几年前开始这么做的,这极大地帮助我理解和融入我所服务的行业。另外,在与我的客户交谈时,我也变得更加得心应手。

(2) 选择一本与你公司行业有关的杂志。你甚至都不用买,大多数公司都有些过期的行业杂志。试着阅读它们,虽然有些东西你可能不懂,但是要坚持。列出你可以向客户询问的问题。不要担心你的问题很傻,客户会大为赞赏你的这种学习态度。

找一个你可以随时登录的行业网站。无论是浏览网站时,还是阅读杂志时,注意大事件和专题文章。你所处的行业正在为什么而努力?现在的热门是什么?不 管是什么,把它们介绍给你的客户。请他们说说观点看法。思考这些潮流是如何影响你的公司、你的部门、你的团队,以及你自己的工作的。

 

4 做团队中最差的 15

       模仿是学习的第一途径,与最好的选手竞争,不要因为你不是 NO.1 而恐惧,这样你才有提高,近朱者赤近墨者黑的道理。要清楚知道自己不是最好的,所以才需要提高。

练 习

找一个团队,让自己成为 " 最差 " 的。不需要立刻调换工作,你可以试着找一个志愿者项目,通过与这个项目中其他程序员的合作,提高自身能力。查查有哪些编程团队会议,然后去参加这些会议。程序员一般都会用业余时间做兼职,以此来练习新的技术,提高自身技能。

如果在身边找不到这样的程序员组织,就利用网络。找一个你钦佩的开源项目,且他的设计者是你下一阶段发展的目标。浏览这个项目的待处理列表和官方讨 论区,或者编写一个功能或者修正一个大的错误。你的代码要模仿这个项目的代码风格,但是又要让你的代码和设计与其他项目完全不同,甚至让原作的程序员都认 不出来。在你觉得一切都妥当之后,把它作为一个补丁提交。如果你做得好,这个项目就会接受它。这样重复来做。如果这个项目的设计团队不同意你的观点,那就 将他们的反馈加入到你的设计中再次提交,或者记录下他们做出的改变。最终,你会发现自己成为了这个项目团队中值得信赖的一员。你会惊喜地发现虽然这些高级 程序员并不在你的身边,你甚至连他们的声音都没听过,但你已经从他们身上学到了很多东西。

 

5 在思维上投资 18

       学习哪些可以让思维方式产生变化的知识,多学习多思考要有丰富的学习经验和工作经验。比起经验单一的候选人,具有丰富经验的候选人更受欢迎。时刻懂得要优化自己的解决方案。没人会主动给你机会,你要学会主动创造机会,机会是要自己争取的。把职业生涯作为学习的动力。

练 习

学习一种新的编程语言。但不是从 Java C# 或者是从 C C++ 。这门新的语言应该可以让你的思维方式产生变化。如果你是 Java 或者是 C# 的程 序员,那就尝试学习类似 Smalltalk 或者 Ruby 这种不需要采用强类型的静态编程方式的语言。或者,如果你一直在做面向对象开发的话,可以尝试 Haskell 或者 Scheme 这样的函数式语言。你不需要成为专家,可以感到这种新的编程环境与你之前所处的环境的不同之处即可。如果你觉得并没有什么 不同,那就说明你选错了语言或者你仍然将固有的思维方式运用到新的语言中。要彻底改变你的思维方式来学习新的语言。向熟悉这些语言的程序员请教,让他们检 查你的代码并提出建议,使之更符合此种语言的特性。

 

6 不要听从父母 21

       敢于冒险,成功是要冒险的,成功是靠冒险的经验积累出来的。胜利者想的是他们想要做什么,而不是其他人会怎么做。接受变化,从各个角度了解你的行业,不仅仅是开发技术。要在不同环境中经历过成功和失败。在职业道路上,需要一些有目的性的冒险。别让恐惧征服了你。如果在工作中没有感到乐趣,那你就不可能出色地工作。

练 习

在职业道路上,你最担心什么?回想你最近做过的几次职业选择,不用是很大的决定(如果你是出于某种担心而做出职业的选择,那也不会是什么大决定)。 你从事了什么特殊的工作,或者你申请了一份新的工作或升职。把这些选择罗列出来,逐一做出诚实的评价:这些决定受到 " 担心 " 这一因素的影响有多少?如果你 没有担心,那你会做到什么程度?如果这些决定确实是受到 " 担心 " 的影响了,那你现在如何逆转它,寻找新的机会做出新的选择,当然这次不要再因为担心什么而 受到约束。

 

7 做一名通才 27

       学习要平行也要垂直,深度和广度都要照顾到。(软件开发一条龙的技术都要了解。)软件开发时工艺不是工业,无法做到全部机械化。构建、设计、编码和测试都应该相应的变得更加灵活。程序员的能力是“能够解决一切可能出现的问题”,而不是“我会 XX 技术”。要学会做一名通才,靠行业经验站住脚。通才很少所以很珍贵。

练 习

列出你能将你的知识和能力融合在一起的工作内容。写下每个方面中你的专长。例如,如果你列出了平台和操作系统,那就可以在旁边写上 Windows .NET 。在你专长的右边,再列出你要学习的一种或几种技术,可能是 Linux Java (或者是 Ruby Perl )。

然后尽快(一周之内)找出 30 分钟开始研究你要学习的一门技术。不要只是单纯阅读相关的书籍资料,动手实践一下。如果它是种网络技术,那就下载一个 Web 服务器安装包,然后自己安装。如果是与做生意有关的话题,那就找一个你的客户,约他出来吃饭聊聊天。

 

8 成为一名专家 32

       专于某种技术并不是排斥其他技术,深入了解 + 广泛学习才是硬道理。

练 习

(1) 你是否使用在虚拟机上编译并执行的编程语言?如果你使用,花点时间学习虚拟机内部是如何工作的。很多书籍和网站都专门就 Java .NET Smalltalk 进行讨论。学习这些东西总比你凭空想象要简单。

不管你使用的编程语言是不是依赖虚拟机,花点时间学习编写源文件。你敲打出来的代码是如何从可阅读的文本转变成可被计算机执行的命令的?编写你自己的编译程序又意味着什么?

当你输入或使用外部函数库时,它们是从哪里来的?输入一个外部函数库到底意味着什么?你的编译程序、操作系统或者虚拟机是如何将多个代码段连接起来,形成一个连贯系统的?

掌握这些知识可以使你在技术选择上向 " 专业人士 " 跨近一步。

(2) 在工作中或者工作外寻找一个教课的机会。你所传授的知识是自己想要深入学习的技术。在第 2 章第 14 节我们会讲到,讲课是最好的学习方法。

 

9 切忌孤注一掷 35

       不要把自己的职业发展完全依赖于一家技术公司,不仅仅了解技开发工具的使用,还应该了解其设计及原理。

练 习

试着做一个小项目,做两次。第一次尝试使用在家里就能使用的技术;第二次,使用你最惯用的竞争性技术。

 

10 热爱它,不然就离开它 37

       如果你想在工作中做出成绩,就必须对工作充满激情。工作,因为你无法停止工作。找到你痴迷、热情的那份工作。一门技术或者一个商业领域可能会使你感到兴奋;相反,或许是某一特定技术或者商业领域拖累了你。也许你更适合一个小团队或者大团队,而你处在不合适自己的组织里;或者是在挑选偏呆板和偏灵活的程序上出了差错。不管是什么原因,想想自己到底适合什么。

短时间内你可能可以伪装,但是缺少热情总会影响你自己和你的工作。

练 习

(1)  找一份自己真正有激情去做的工作。

(2)  下星期一开始,做个简单的日志,坚持两个星期。每个工作日起床的时候,给你的兴奋度打分,分值最高 10 分,最低 1 分。 1 分代表你宁愿得病也不想去上班, 10 分代表一想到马上就要开始新一天的工作了,你就兴奋,不能再躺在床上 1 分钟了。

两个星期后,检查这个日志。图表中有峰值吗?走向是怎样的?这些点都处在高点还是低点?如果这是一份考卷,那你的平均分是多少?

接下来的两周,每天清晨计划如何在明天得到 10 分。思考你今天要做什么,以便使明天成为你迫不及待要开始工作的一天。每天记录下前一天的兴奋值。如果两周后,这个图表显示的结果还是不尽人意,那或许是时候考虑做一次大的改变了。

 

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值