为程序员量身定制的12个目标.docx
《为程序员量身定制的12个目标.docx》由会员分享,可在线阅读,更多相关《为程序员量身定制的12个目标.docx(8页珍藏版)》请在冰点文库上搜索。
为程序员量身定制的12个目标
为程序员量身定制的12个目标
英文原文:
对程序员们来讲挑战自我超级重要,要么不断创新,要么技术停滞不前。
新年伊始,我整理了12个月的目标,每一个目标都是对技术或个人能力的挑战,而且能够年复一年循环利用。
接下来我会对这些建议逐个介绍。
变得有耐心
程序员们会担忧锻炼耐心付出的尽力得不到应有的回报。
其实,培育耐心只要付出很小的投入就能够够取得相对而言专门大的收成。
下面是开始锻炼耐心能够尝试的一个列表,只要全身心投入其中任意一项,都能够在一个月左右离开外行人(成为有体会的新手)的时期:
烹饪
徒步
滑雪
天文
慢跑
木工
武术
舞蹈
维持健康
程序员通常久坐少动,因此在日常工作中会面临健康问题,但通常都被咱们忽略了。
一年中花整整一个月来调整你的生活适应、饮食和生活环境,这会促使你养成持久、健康的生活适应。
每一年去一趟诊所检查血压、胆固醇和血糖,看看这些指标最近有什么转变。
若是你的手腕开始疼痛或已经疼了好久,。
注意你的坐姿,尤其是肩膀和脖子。
我利用了来帮忙医治。
跟踪你的体重、摄入和燃烧的卡路里。
若是有必要,能够改变生活方式以。
拥抱转变带来的不适
在我20刚出头的时候,通过观看身旁年纪稍大一些的伙伴我发觉有些人停滞不前而另一些那么活力充沛,我试着寻觅背后的缘故。
答案确实是舒适感。
舒适会让技术停滞不前。
当找到一个能够为我所用的系统时,咱们会一直利用它。
但技术是不断进步的,而那些停留在舒适区的人永久可不能意识到这些进步能够为他们带来益处。
不破不立,要让自己适应不舒适的感觉。
下面列出的情形一开始可能会让你感到不适应:
利用德沃夏克键盘
利用vim替代emacs,反之亦然
不利用鼠标
利用不同的窗口治理器
喝清咖啡不加奶油和糖,或喝清茶
尝试一个月“流行且无聊的新事物”
一个礼拜中有一天不开电话
学习利用一种能够单手输入的设备
尝试一个不同的操作系统
一个礼拜中有一天不上网
试着对饮食加以限制:
尝试吃素,成为纯素食主义者,不吃乳制品,等等
天天吃一种你不喜爱的食物
将你适应利用的胳膊用绷带绑起来
学习用你不适应的那只手写字
开一个博客
参加公共演讲
一个月听一种你不喜爱的音乐
去医院或退休家庭护理做志愿者
一个礼拜有一天快生活
去一个与自己文化或语言不同的国家旅行
读一篇广受好评但却不是你喜爱题材的小说
看一场广受好评但却不是你喜爱风格的电影或演出
学会用变速杆(手动)开车
反对你相信的一些情形
在一个月的尝试以后,你能够决定是不是继续采纳新方式,或找到新方式中好的体会与原有方式的结合点。
例如,在我从利用了10年的emacs转向vim时,我会为插入模式设置emacs风格快捷键从而继续利用vim。
学习一门新的编程语言
编程语言起起落落。
若是只了解一门语言,程序员的解决问题能力和职业前景都会因此受到限制。
花上整整一个月时刻吸收一门新语言或一个新的编程范式,并用它写一个小程序。
下面是一些能够学习但不是超级主流的编程语言:
.
.
.
.
.
.
.
.
.
.
若是你无所不知,那么你能够。
自动化
程序员拥有最壮大的待开发技术确实是将虚拟和现实自动化的能力。
若是你从来没有造过一个机械人,那么。
至少学会利用或玩一玩。
检查一下你天天的任务,看看其中有哪些能够完全或部份自动化。
自动化在家庭生活里已经有了长足的进步,乃至能够像那样对系统进行DIY。
投资一个月的时刻来进行自动化:
调整你的邮箱过滤器或设置procmail
学会如何利用cron工具
改造橱柜灯由感应操纵
尽可能地用无线替代有线
停止手动同步:
将信息存到云端
安装一个远程操纵音频系统
通过你的效劳器操纵家里的空调
安装数字监控摄像头
安装数字内部通话系统,儿童监控系统
让咖啡机自动打开
为宠物安装自动给水槽
为宠物安装自动感应门
将Roomba改造成个人信使
译注:
procmail:
procmail软件包包括一个自动的邮件治理器,能够专门好的过滤和排序邮件。
cron:
linux下的按时执行工具。
Roomba:
Roomba是iRobo公司生产的按时智能机械人。
学习更多数学知识
运算机科学本质上讲是数学的一个学科。
好的数学家中间会产出优秀的程序员。
不要让你的数学能力丧失殆尽。
考虑每一年花一个月时刻温习列表中的一项:
微积分
概率论
统计学
抽象代数
数论
范围论
关注平安
很少有程序员具有好的平安适应。
若是你对自己的数字平安很在意,你就会对你写的代码平安性加倍关切。
确保你在每一个站点都利用了唯一的高平安系数密码。
利用加密的密码治理器来治理你的密码,例如或。
若是你尚未对整个磁盘加密,留出时刻完成它。
(在Mac上能够轻松完成)
每一年都要研究过去12个月中前10位的平安漏洞。
他们是如何发生的?
在编程中需要怎么做能够幸免在你的代码中显现这些漏洞?
下面是另外一些你需要尝试的平安任务:
在Apache中加入SSL验证
或AES实现密码系统
试着破译你的无线网络密码
用侦听你的网络通信
设置基于密钥的无密码ssh登录
自己运行nmap;配置你的防火墙
成立端口扫描
为USB驱动器加密
监控日记文件
设置cron任务按期更新你的程序
译注:
nmap:
linux下的网络扫描和嗅探工具包
备份你的数据
每一年花一些时刻检查你的备份策略。
花一个月时刻将备份花费的时刻减到最小。
利用基于云的备份效劳,比如和,很容易成立无缝自动备份。
更全面地防御能够选择为每一个人分发硬盘,对每台电脑利用像TimeMachine如此的自动备份工具进行备份。
对重要文件利用异地远程仓库进行版本操纵。
学习更多理论知识
运算机科学有丰硕的理论基础。
了解最新进展的同时还要增强对经典开发理论的把握。
每一年在以下主题上花一个月时刻:
形式语言
自动机与可计算性理论
计算复杂性理论
形式化方式
语义学
算法与数据结构
译注:
形式语言:
按必然规律组成的句子或符号串的有限或无穷的集合。
自动机:
是有线状态机(FSM)的数学模型。
可计算性理论:
研究计算的可行性和函数算法的理论。
又称算法理论。
它是算法设计与分析的基础,也是运算机科学的理论基础。
计算复杂性理论:
计算复杂性理论是理论运算机科学的分支学科,利用数学方式对计算中所需的各类资源的花费作定量的分析,并研究各类问题之间在计算复杂程度上的彼此关系和大体性质,是算法分析的理论基础。
形式化方式:
在逻辑科学中是指分析、研究思维形式结构的方式。
语义学:
研究自然语言中词语意义的学科。
也能够指对逻辑形式系统中符号说明的研究。
关于刚起步的程序员,能够先看一看以下文章:
译注:
CEK:
CEK机械是由MatthiasFelleisen和DanFriedman开发的λ-演算的力学模型。
Haskell:
一种纯函数式编程语言,以美国数学家HaskellBrooksCurry命名。
接触艺术和人文
工程师往往轻视艺术。
他们没成心识到艺术和人文是基础升华的重要因素。
史蒂夫·乔布斯乐于指出将技术与人文结合的重要性,事实也却是如此。
艺术和设计原那么一样适用于人和运算机之间的交互。
不要轻忽这些原那么。
艺术和人文的训练让直觉加倍灵敏,而这方面的练习是难以用数字来计量。
工程师需要明白如何衡量那些他们不能计量的事物,而不是只是统计他们能够计量的内容。
每一年至少有一个月学习下面列出的主题:
工业设计
哲学
摄影
绘画
素描
音乐及音乐理论
电影
文学
社会科学一样会对运算机科学家有专门大帮忙,尤其是经济学和哲学。
向新的软件学习
一个为自己的软件寻觅灵感的好方法确实是向新的或新型应用程序学习。
例如,若是你从来没有尝试过3D建模软件,能够。
抑或是,若是你从来没有接触过LaTeX,请真诚地试着去了解它。
在学习进程中,请注意你喜爱什么和讨厌什么。
真诚地问自己,这些观看到的内容是不是在你的软件中存在。
在工作中很难看到自己的缺点,但发觉他人的不足却很容易。
天下没有哪个父母以为自己的小孩长得难看。
请学习看到自己作品的不足。
完成一个自己的项目
若是你成天为他人写代码,那么为自己写程序能让你记适当初什么缘故会成为程序员。
每一年为自己选择的项目分派一个月的时刻,完成核心功能,将其开源发布。