不要把那座山移开,给我力量去攀登
最近手头的项目进入了收尾阶段,也就是程序员小伙伴自己按照着项目需求把代码写好之后,将会迎来各种测试、评审、修改的阶段 。
有的公司或者说项目经理对于项目需求把握的准确,那只要按时按量的完成就可以等着验收了。但是如果客户比较皮,或者说你的队伍里压根没项目经理这样一位强力辅助,那么你将会面临无穷无尽的修改。
常见的对话是下面这个情况:
程序:请问还有什么问题吗?可以验收了吗?
客户:你再帮我改一下XXXX
程序:好的,已经处理完了
客户:上次告诉你的那里怎么没改,我想再做一个……
程序:好的,已经处理完了
客户:给你整理了一份文档你最后帮忙处理下
程序:来来来,你来写
每位程序员的成长都是一个自我解放的过程,通过工具、经验、套路、习惯让自己能够愉快的工作,而不是天天被领导、客户压得喘不过气。解放之路涉及到一位程序员的方方面面,包括但不限于一下几点:
- 了解程序员该如何汇报工作,先学会回报,再去谈加薪
- 学习如何与队友沟通,如何与客户沟通,会沟通的程序员才是好程序员
- 在技术方面,总结模式,刻意练习
- 阅读,无论是各种最佳实践,还是各种编程之道,多少会有点帮助
- ……
我对以上这些东西都有了解和实践,但在小编看来这些都不是最重要的。今天最想给大家分享的是《火星救援》里的台词,每次加班、被虐、改BUG的时候我都会默默的拿出来读两遍:
This is space. It does not cooperate. 那是太空,它是不会迁就你的 At some point, everything's going to go south on you. 在某个时候,一切都会变得越来越糟糕 Everything's going to go south and you're going to say "This is it." 当一切越来越糟时,你只能坚强地面对 This is how I end. 这是我如何解决这个问题的 Now you can either accept that 你要么屈服 or you can get to work. 要么反抗 That's all it is. 就是这样 You just begin. 你只要开始 You do the math. You solve one problem 进行计算,解决一个问题 and you solve the next one, 解决下一个问题 and then the next. 解决下下个问题 And if you solve enough problems, you get to come home. 等解决了足够的问题,你就能回家了
编程就是这样的,你每次解决完一个问题就会遇到下一个,你又解决了下一个,还会有下下个。似乎看起来没有尽头,整个世界都在和你作对。你要么放弃,要么就赶紧开始解决问题。程序员解放之路上最重要的就是两个字——坚持。
大家或许因为各种不同的原因选择了编程,但无论怎么样你应该热爱这份工作,因为这将是你坚持下去的动力。你具备了动力,才谈得上如何汇报、如何沟通、如何练习和如何阅读。
在编写程序时,我们应该知道自己为什么要编程,最终的目的是什么。其实,全部软件都有一个相同的目标:
帮助人们
依据具体的情况,我们可能会有更加具体的目标。比如,帮助商家卖商品,帮助旅行社推广,帮人们做规划、写文章。想干什么取决于大家需要什么,但目标都是提供帮助。
编程的目的并不是挣钱或者炫耀。不管是谁,只要将这些定为目标,就偏离了编程正确的目标。相比那些为了满足其他人需求而编写的代码,只考虑狭义的目标,你很可能写出一个糟糕的项目。
特别是在外包公司中,一个糟糕的项目,可能会拖住你大半年时间去修改,你的解放之路将会越来越长。
总结
成为优秀程序员的第一步就是问问自己是否真的热爱编程,哪怕是看不到前路,也愿意为之坚持。
同时要搞清楚我们编程的目的到底是什么,是否能真的理解什么是帮助人们。
以上内容为作者原创,特此申明,如需转载,请取得同意