身为开发者的你是否思考过这个问题:在编程过程中,到底什么才是最重要的?本文作者的编程生涯始于 2012,到今年正好 7 年的时间。面对“七年之痒”,作者带来了对编程的一些思考,希望能够对你有所帮助。
时间如梭,不是吗?
我的编程之旅始于 2012 年,当时我还只是个 c++ 编程实习生。说实话,我根本不知道自己在做什么。即使是到了现在,这种状况依然没有改变。不过,在这个过程中,我确实学到了很多东西。
问题来了:在编程过程中,什么语言才是最重要的?
是英语?西班牙语?中文?波兰语?还是其他在工作中用来与其他人进行沟通的语言?
与人沟通比与机器沟更重要编程是一项团队活动。很少有出色的软件产品是完全由一个人从头到尾做出来的(codesandbox 算是一个,但后来 ives 还是请了一些人),大多数产品需要一个团队来打造。
沟通技巧可以成就一个项目,也可能会毁了它。相比了解你在做什么以及为什么人一旦有了目标感,就会感觉好一些,这在工作中也是一样的。
作为软件开发人员,你的目标不应该只是把 jira 中的问题变成 javascript,或者把 trello 中的项目变成 c#。
你的目标应该是用代码来解决问题。
如果你对正在构建或维护的系统很了解,就可以抛开技术做决策。这个功能是如果代码评审让你感到有压力,那肯定是打开方式出错了虽然我们没有必要那么想,但把自己写的代码放出来让其他人“围观评论”,这种体验跟写代码还真是有点不一样,也难怪人们会感到焦虑。
有人因为未雨绸缪墨菲定律:会出错的事情就一定会出错。
这就像是一个真理,在设计系统时总会有一些东西会出错。
在开发一个登陆表单时,你要假设会有一些居心叵测的人把整本书的内容拷贝到密码输入框里。
在开发一个可见即所得的窗口时,你要假设会有人试图搞破坏,而且他们通常都能如愿以偿。
如果系统中使用了数据库,它一定会在某个时刻挂掉。如果你没有尝试使用备份来恢复数据库,那它们就算不上是备份。
如果你在给别人做演示,请确保这个演示在任何情况下都能正常进行,哪怕把它翻个底朝天,甚至是把它丢到水底下。
不要害怕让别人看到自己的无知作为高级程序员的一个好处是,当别人问一些我不懂的问题时,我可以很淡然地告诉他们:
这个东西我也不懂,因为以前没有遇到过,不过我可以看一下,然后再告诉你。
当我还是一个初级程序员的时候,我总是很害怕别人会看到我的无知。经过几年的磨练,我才明白,如果碰到了自己不懂的东西,说明学习的机会来了。终身学习绝对不只是一个“口头禅”,它应该被付诸实践。
分享等你把不懂的东西搞懂了,就要把它们分享出来。写一篇博客,录个教学视频,或者在公司里搞个分享演讲……你不要认为你刚学会的东西别人也都懂,即使是一个非常资深的人,他们也能从初级人员身上学到东西,反过来也是。
分享的过程其实是一个检验你是否真正理解所学的东西的过程。有句话说得好:
当你在教一个人的时候,其实有两个人在学。
推荐阅读ddd 和微服务之间是什么关系?
如何优化高人气关键词排名到百度首页?动态网页设计要注意什么建设一个符合要求的网站,真的很不容易哪些企业适合搭建响应式网站?百度网站优化要如何避免网站降权,降权因素有哪些这几点网站建设技巧不要错过网站建设公司那么多怎么挑选?Java怎么实现访问云服务器,有什么方法?