程序员应该每天写代码 �C 码农网



程序员应该每天写代码 �C 码农网

战胜焦虑感。

首先我想说的是,我会频繁地感到高度焦虑,当没有完成"足够"工作或没有取得"足够"进步的时候(这两样都比较难以量化,因为我的业余项目没有具体的时间限制)。我意识到,取得进展的感觉,和取得实际进展同样重要。一旦我每天都能有持续的进步,那么焦虑感就会一点点减少。合理安排自己的工作量,不要制定一些不切实际过度自负的期望。

周末。

在周末完成工作是朝着目标前进绝对至关重要的动力(因为通常只有在这种情况下,我才能为业余项目编写有意义的代码)。这是一件好事。在周末制定一个周计划,能让我不再耿耿于沮丧。因为以前我很少能在平时完成我想要做的工作,因此只能迫使自己为了完成更多的工作而拒绝其他的周末活动(享受美食,参观博物馆,逛公园,朋友聚会,等等)。我强烈地感觉到,虽然业余项目非常重要,但也不应该没有自己的生活乐趣。

后台处理。

每天编码业余项目的一个有趣的副作用是,你当前的任务会经常运行在你的脑海里。因此,当我去散步,去洗澡,或做任何其他不需要大脑参与的活动时,我都会思考之后我要编码什么,寻找解决问题的好办法。但当我每周一次或隔周工作于代码时,这就不会发生。相反,那些时候我的脑海中会出现其他的任务,或者,通常情况下,会充斥着因为没有完成任何业余项目而生成的焦虑感。

上下文切换。

当重新继续于业余项目时,总会有上下文切换成本。不幸的是。在整整一周都工作于其他项目之后再想重新投入到业余项目中是非常难的。每天写代码则有助于减少"读档"时间,更容易记起自己当时正在做什么。

工作的平衡。

想要有所改变的最重要的方面之一就是简单地学习如何更好地平衡工作/生活/业余项目。在决定我每天要工作于项目之后,我需要更好地平衡自己的时间。如果我被安排晚上出去,直到深夜才能回来,那么那一天的话我就得在早上搞业余项目,在我开始Khan Academy的工作之前。此外,如果我需要加班完成我的工作,并且回家晚了,那么我会赶紧回家来完成我的每天任务(而不是跳过这一天)。我要指出的是,这样一来,我在业余爱好(如雕版印刷)上的确不能有太多的时间,但这是一个合理的权衡取舍。

别人的看法。

这是外部交流这个新习惯时带来的好处。我的小伙伴理解我必须每天完成这项工作,因此有时活动会围绕它进行调度。并且也可以心安理得地说:"是的,我也很想和你们一起出去玩/看电影/等。但我必须搞定我的编码工作",能够被小伙伴理解和接受。

写了多少代码?


Read full article from 程序员应该每天写代码 �C 码农网


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts