IT培训-高端面授IT培训机构
云和教育:云和数据集团高端IT职业教育品牌 全国咨询热线:0371-67988003
课程 请选择课程
    校区 请选择校区
      • 华为
        授权培训中心
      • 腾讯云
        一级认证培训中心
      • 百度营销大学
        豫陕深授权运营中心
      • Oracle甲骨文
        OAEP中心
      • Microsoft Azure
        微软云合作伙伴
      • Unity公司
        战略合作伙伴
      • 普华基础软件
        战略合作伙伴
      • 新开普(股票代码300248)
        旗下丹诚开普投资
      • 中国互联网百强企业锐之旗
        旗下锐旗资本投资

      程序员需要学什么?除了码代码还有这些..

      • 发布时间:
        2018-03-12
      • 版权所有:
        云和教育
      • 分享:

      传统印象中程序员就只会码代码,那么程序员需要学什么才能让自己的生活充实丰富起来,一年之计在于春,对于程序员而言,自我挑战很重要,有创造力、技术性的调整是可行的,给自己列个计划清单,一起更好的成长吧!

      进入真实生活

      程序员们过分沉迷于数码设备,在数码设备之外也别有一番天地。因此,在真实生活中的投资会带来相对多的回报。

      这里有一个起步表,表中是真实生活中可供尝试的活动。对于每一项活动,如果你真心付出一个月,你就不再是一个新手:

      做饭

      远足

      滑雪

      天文学

      慢跑

      举重

      木工

      武术

      跳舞

      保持健康

      程序员往往过着久坐不动的生活,因此我们面临着我们职业带来的特有健康挑战。我们往往会忽视这些挑战:

      每年,花一整月的时间,调整你的锻炼、饮食以及环境,来培养持久的健康习惯;

      每年去一次诊所,测量血压、胆固醇以及血糖。观察这些数值是怎样随时间而变化的;

      如果你的手腕开始疼痛或者已经疼了一段时间了,现在就停下来,采取措施,预防重复性劳损(RSI);

      跟踪体重、卡路里摄入以及卡路里消耗。如果必要的话,改变生活方式,来培养更健康的饮食和减肥方法。

      跳出舒适区

      从我 20 岁出头起,我观察比我年长的同伴,尝试发现为什么有些人停滞不前,而另外一部分人一直精力充沛。

      答案是舒适。舒适导致技术僵化。

      一个系统,它能正常为我们服务,而且我们一直在坚持使用它。但是,技术在进步,那些局限于舒适的人绝对认识不到这些进步的益处。

      清单中的事情,可能让你在刚开始感到不舒服:

      换成德沃夏克键盘。

      从 emacs 编辑器转化到 vim 编辑器或者反过来。

      停止使用鼠标。

      使用不同的窗口管理器。

      从奶油和糖转变为不加牛奶的咖啡或者不经过调味的茶。

      花一整个月的时间试试『流行新垃圾』。

      每周关掉手机一天。

      学习使用单手输入设备。

      尝试使用不同的操作系统。

      对于一个小项目,尝试不同的版本控制系统。

      每周强制断网一天。

      试试饮食上的约束:纯素食主义、素食主义、不含奶类等等。

      每天吃一种你不喜欢的食物。

      少用有利手臂(dominant arm)。

      学习用非利手(non-dominant hand)写字。

      开始写博客。

      报名参加公众演讲。

      听一种你并不喜欢的音乐一个月。

      在医院或退休之家做志愿服务。

      一周禁食一次。

      去一个用不同语言或者有不同文化的国家。

      从你不喜欢的种类里选读一本广受欢迎的小说。

      从你不喜欢的种类里选观一部备受推崇的电影或片子。

      学会开手动档汽车。

      质疑一些你相信的事。

      做一些不一样的事情,一个月之后,决定是否想继续这样做,或者看看能不能找到这样的方法,能把新事物和旧事物最好的东西融合起来。

      程序员需要学什么?除了码代码还有这些..

      程序员需要学什么?很多人认为还需要学习一门新的编程语言

      编程语言起起落落。

      只懂一门语言的程序员,他们解决问题的能力和事业前景会受局限。用它写一个不大的程序。这里有一些非主流的可供学习的语言:

      Racket.

      Haskell.

      Rust.

      Scala.

      Erlang.

      Clojure.

      SML/NJ.

      OCaml.

      Squeak.

      Prolog.

      Datalog.

      miniKanren.

      如果你没有编程语言可以去学了,自己发明一个。

      自动化

      程序员具备的最有力而未被利用的技能就是,使虚拟和现实自动化的能力。

      如果你从来没做过机器人的话,做一个吧。

      至少玩玩乐高头脑风暴机器人吧:

      或者玩玩 Arduino 板或树莓派:

      观察你做的日常活动,然后决定哪些能全部或者部分自动化。

      家庭自动化技术非常发达,借助 DIY 系统,例如 Insteon,很多东西都成为可能。

      花一个月的时间来做一个自动化的项目。

      多学点数学

      计算机科学是一门与数学相关的学科。成为好的程序员的前提是成为好的数学家。不要让你的数学才能消失。

      考虑每年花一个月时间温习这些主题中的一个:

      逻辑学。

      离散数学。

      微积分。

      概率论。

      统计学。

      抽象代数。

      数论。

      范畴论。

      序理论。

      备份你的数据

      每年,花时间来反思你的备份策略。用一个月的时间,最小化做备份的成本。

      选择容灾方案:为每台电脑指派单独硬盘,借助像 Time Machine 的工具,打开自动备份。

      用版本控制来管理关键文件,将他们存储在异地服务器中。

      多学点理论

      计算机科学有着丰富的理论结构。跟上新进展,复习你已经掌握的经典理论。

      每年花一个月,学习类似下面的理论:

      形式语言。

      自动机和可计算性理论。

      复杂度理论。

      形式化方法。

      语义学。

      算法和数据结构。

      对于初学者,你可能想看看这些帖子:

      用 Haskell 语言写 CEK 形式的(或者语义学上的)解释器。

      用推导来进行语法分析。

      被遗忘的方法:怎样从 Okasaki 的红黑树中删除元素。

      用推导的方法,使用 Scheme 语言对正则表达式进行模式匹配。

      将正则表达式转化为非确定有限状态自动机(NFA)。

      对艺术和人文学科有所涉猎

      工程师往往轻视艺术。工程师没有意识到的是,艺术和人文成就了卓越的技术。

      艺术和人文训练直觉,并且使其变得敏锐。这个过程是以一种很难量化的方式进行的。然而这种直觉对于在量化领域中工作的我们来说,是必要的。

      每年至少花一个月,多学学类似下面的理论:

      工业设计。

      哲学。

      摄影。

      绘画。

      写生。

      音乐和音乐理论。

      电影。

      文学。

      完成一个个人项目

      如果你整天总是为别人写代码,就要记住,程序员之所以成为程序员,是因为他为自己写程序。

      每年把一个月的时间花在你自己选择的项目上。实现那个项目的核心部分。使其开源,将它发布到世界。程序员需要学什么,看完相信大家会有一些新的感悟,学会了更多东西,程序员的人生会更加丰富多彩。