A:兄弟,你真走运,能成为一个程序员。我也希望能成为一名程序员。
B:那你为什么不学习编程呢?
A:我试过,我在codecademy网站上学过,可是我真的没有编程的天分。
B:这也是,并不是每个人都适合编程。
A:你们的待遇又好,又能开发出东西。每天都有人敲你家门,要给你$100k甚至更多的薪水来聘用你。
B:这实在是太恭维了。夸的我都有点飘飘然了。
A:你们有高超的技术,所有人都羡慕做技术的。你们可以把任何想法变成一个应用程序,然后能通过它挣钱,不需要依赖外人开发。
B:实际上,做一名程序员,我很痛苦。
A:啊,兄弟,你什么意思?
B:这种工作方式慢慢的让我变得忧郁。我注意到,在其他程序员中——并不是全部——但很多,都有这样的感觉。
A:什么工作方式?
B:关注负面的东西,而不是正面的东西。
A:做一个好的程序员需要这样吗?
B:我的工作流程基本上是这样:
- 写出代码
- 运行代码
- 看到错误信息
- 找出错误,回到第一步
B:日复一日,年复一年,我就一直这样。一直在寻找我创造出来的东西里面的错误,很少会想到它们的好的一面。这是一个消极的反馈循环。
A:疯了
B:如果不是在编辑器里,我就会在bug跟踪系统里,那是一个麻烦问题的清单。一个告诉你什么出问题了,需要你去修改的清单。一个让我抓狂的清单。
A:兄弟,我觉得你有点悲观。试想,纠正这些bug,努力将它们从清单中移除,这不是件很有成就的事情吗?
B:没错,确实是这样。编程中有很多能让人感到非常有成就,非常满足的事情。但这并不能改变这样的事实,对我来说,编程就是在不断营造一种非常消极的思想氛围。我一直在问这样一个问题:“错在哪了?”而积极向上的人关注的应该是“它的亮点是什么?”
Dude you’re so lucky to be a programmer. I wish I was a programmer.
Why don’t you learn to code?
I’ve tried. I did codecademy and stuff but I’m just not cut-out for coding.
Yeah, well, it’s definitely not for everyone.
They, like, pay you so well and you can build stuff. People are knocking on your door every day with mad offers for like $100k plus.
It’s pretty flattering. Kinda blows my mind to be honest.
You get sweet equity and everyone respects the engineers. You can just build any idea you have into an app, and then you can get rich without having to hire other people.
Actually being a programmer is making me miserable.
Woah, dude. What do you mean?
In order to be a good programmer I need to adopt a certain mindset. That mindset is slowly making me unhappy. I notice it in other programmers - not all of them - but many.
What mindset?
Focusing on the negatives, rather than the positives.
Why do you need to do that to be a good coder?
My workflow is something like this.
- write some code
- run the code
- get an error message
- find the error and back to step 1
Hour by hour, day after day, I do this. Always searching for what’s wrong with what I’m creating, rarely thinking about what’s good about it. It’s a negative reinforcement feedback loop.
Crazy
When I’m not in vim I’m in the bug-tracker, a list of negatives. A list of what’s broken and needs to be fixed. A list of ways in which I fucked up.
Dude, I think you’re being a little dramatic. Plus isn’t fixing bugs and striking them off that list incredibly satisfying?
Sure it is. There’s so much about programming that is incredibly satisfying and empowering. But it doesn’t change the fact that, for me, programming builds an acutely negative mindset over time. I’m always asking the question “what’s wrong with this?” Positive people are always focusing on “what’s good about this?”