Why Do So Many Programmers Lose Hope?
在对工作不满的时候,我们会看到症结,但不是根因。 例如,埋怨软件经理不现实的开发节奏、高级工程师错误的设计模式、低于市场价的薪酬
所以,Why Do So Many Programmers Lose Hope?
1. 原因分析
1.1. Forced to Cut Corners
We ‘re asked to do low quality work and rush best practices just ot make sure we hit original deadlines.
大部分时候在评估工作量的时候都是过于乐观的,导致在后期在靠近deadline的时候不得不偷工减料。
1.2. Cognitive Overload
The information requested of us to know and deal with stretches the boundaries of human thinking.
我们要求了解和处理的信息超出了人类思维的范围。
1.3. Low perception of Value
People who don’t understand out work trivialize the effort and don’t respect how difficult it really is.
不懂软件工作的人会低估工作量,也不尊重工作的难度。
软件工程管理者和开发者之间都存在视觉的局限性,都彼此轻视对方的工作,这不利于沟通和项目管理。
1.4. High Income Forces Us to Seek Deeper Goals
With our financial needs met early in life, we start having “first world problems” of finding our greater purpose.
1.5. Learned Helplessness
We act out of lost hope simply because that’s what other people around us have experienced.
引用的实验: “经典”心理实验——猴子吃香蕉实验,人性不也是这样吗?
类似于从众心理、习得性无助效应,我们表现得绝望只是因为身边的人都一样绝望。
2. 应对策略
2.1. Say No With Grace
Be firm in refusing to compromise the quality of your work,but in a way that helps others see you care.
对一些损耗工作质量的无理要求,要坚决拒绝,但是要让别人知道你care。
实际上有很多开放的编程工作,根本不用担心会失去工作。
2.2. Communicate Uncertainty
Don’t agree to any commitment where there’s not enough information for you to be comfortable.
如果没有足够的信息把握,不要轻易下deadline的承诺,因为我自己也不知道完成要多少时间。如果这个信息透过你的boss传递到了大boss那里,那也是错误的信息,如果延期了,也是你的boss的责任。
2.3. Ask For Help Earlier
No matter what your job title is, there’s no shame in getting help when you run into roadblocks.
无论你的title有多高,总会有遇到坑的时候,这时候及时向上级,或者就是同事求助,让别人知道你正在经历的问题,才是正确的做法。
2.4. Develop Empathy
Reject the popular notions that all people should be able to think and work the same so plans look predictable on a chart!
每个人有自己的设计模式和工作节奏,没有必要要求人人都按照自己的节奏和喜好来工作。
2.5. Surround Yourself With Positive Devs
Reject the echo chamber of misery and find other sofeware professionals who you can relate to, that lift you up.
多接触积极的工程师。