商业内幕最近发表了一篇文章说做程序员压力山大,很多人都快疯了。 文中陈述了几个典型的罪状:骗子综合症,加班加点,精疲力竭等。作者指出,程序员的工作压力的根源通常是源自混乱的管理,但越来越多的压力开始来自程序员 社群自身,社群中开始形成一种文化,将加班加点当成判断一个程序员是否具有奉献精神的石蕊试剂,强加到程序员身上。换句话说,如果你不在下班时间继续写代 码,你就不可能成为一名合格的程序员。跟这些压力相呼应的是急速革新的各种新技术、新框架、新语言、新平台、新程序包、新SDK等的不断出现,就如火上浇 油。
可事实上问题不在于此。编程,就跟写作、绘画、作曲一样,首先是一种创造性的活动,而不是一个种技术工作。当然,对一种技术或编程语言的不断练习和保持熟悉很重要,这其实就是在学习使用工具和技法,但它并不会让你本质上变成一名更优秀的程序员。它只是让你能更熟练的使用工具。而能让你成为更优秀的程序员的是学会如何思考问题,因为最终你是把脑子里思考出的逻辑转换成了一系列操作计算机的指令,让计算机遵照指令解决问题。而学习如何正确的思考——如何抽象归纳,如何组合,如何分析信息,如何自我反省——可以通过各种方式,远非只有编程一种。Paul Graham在他的精彩著作《黑客与画家》一书中说:
我发现那些最有价值的灵感的源泉都不是那些跟“计算机”这个词相关的领域,而是那些跟动手创造相关的领域。绘画就是一个比计算机理论能提供更丰富灵感的思想源泉。
拓展其它领域的技术,培养除编程之外的其它爱好,这会给你的日常工作带来巨大的帮助。程序员根本不需要没日没夜的写代码。你应该把这些时间用于和他 人交流,和大家一起边喝咖啡(或你喜爱的东西)边编码、阅读、讨论。你应该把这些时间用于跑步或举重。身体锻炼给大脑补充氧气,滋养这个最神奇的器官,这 才是你需要的。我三年前开始跑步。呼吸新鲜的空气、沐浴清新的阳光让我变得更加快乐,跑出几公里远离繁杂的琐事,我的脑子有了更多的时间来激发灵感。
关键是,关注心灵,关注自己,这能让你成为一个更好的程序员。你可以无止境的学习新语法,新工具,或新什么东西,但是,如果所有你做的只是编程,你 实际上在跟自己背道而驰。有时候你需要全力以赴,但那是当程序中有问题需要救火时,是特殊情况,而不是日常。如果你的驻地总是有火灾,那你应该换个地方。 有时候你需要埋头苦干,干上几周甚至几个月,为了让你的理想变成现实。然后是休息。相反,一味的玩命苦干只能换来越来越少的回报,是完全与成为一名更好的 程序员的愿望背道而驰。去年11月,我参加了NaNoWriMo (National Novel Writers Month),这是一个非正式的比赛,参赛者要求在30天里写出一本5万字左右的书。我每天早起,花几个小时写作,然后上8个多小时的班,然而晚上继续写 作。每天如此。坚持了30天。月末的时候我的身体开始透支,我病了。但这对我是有必要的,我一直有个愿望要写一本小说。之后我几个月没有写任何东西。我需 要休息,要恢复平常态,要以此进步。软件开发与此无二。
商业内幕的这篇文章同时还饶有兴趣的发现“女性程序员经常坦白说在遭受骗子综合征的折磨…但越来越多的男性程序员也开始表示深有同感。”20世纪和21世纪工作中的性别问题峰回路转,最 终男性也遇到类似的问题。女性第一次看到了竞争的问题侵扰男性,尤其是在那些传统的以男性为中心的行业。我相信这是生存竞争必然导致的现象,但不应出现在 一个富足而且灵活的社会中。男人们看到女性对工作上非人性的现状的反应,也加入了她们的行列一起表达对现状的不满情绪。随着更多的女性进入到编程行业,她 们给这些男性程序员带来了一种新的旁观者的视角。女性需要去理解她们发现的这些不幸的行业现状是男性程序员以前必须每天面对的、接受的。但事实上程序员们 完全不必如此,这是一种具有强大力量的认识。
不要再让自己精疲力竭,这样不会让你成为更好的程序员。做你爱做的事,爱上更多的兴趣。你将会变的更优秀。
分享到:
相关推荐
### E文不好的人可以先看这个,然后再看E文 这段描述表明此文档是为了帮助那些英文阅读有困难的人士更好地理解SIP协议。文档首先提供了中文版的内容,使读者能够快速了解SIP协议的基本概念和技术细节,然后再参考...
- **Method与Message**:在Objective-C中,方法(Method)和消息(Message)这两个概念可以互换,但在实际操作中,消息具有更多的灵活性,可以动态地转发给其他对象。 通过以上知识点的介绍,读者可以对Objective-C有一...
根据提供的文件信息,这里主要涉及的是华为认证网络高级工程师(HCNP)路由与交换(R&S)...以上是对提供的文件标题、描述及部分内容进行的深入解析,希望能帮助您更好地理解HCNP-R&S(HCDP)-IESN中文教材的核心知识点。
鉴于国内关于Cobalt Strike的相关教程较少,本文旨在提供一个较为全面的Cobalt Strike使用指南,帮助读者更好地理解和掌握这款工具。需要注意的是,本文所有示例均基于Cobalt Strike 3.13汉化版。 #### 二、Cobalt ...
**SIP协议介绍** SIP(Session Initiation Protocol)是一种应用层控制协议,主要用于创建、修改和终止多媒体通信会话,...通过深入理解这个文档,我们可以更好地理解和实现SIP功能,从而开发出高效、可靠的通信系统。
本手册提供了ELK的中文详细指南,旨在帮助用户更好地理解和应用这套系统。 Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,它能够方便、快速地存储、搜索和分析大量数据。Elasticsearch的核心特性...
与之前的RADIUS协议相比,Diameter协议提供了更好的可扩展性和安全性支持,特别适用于现代电信网络的核心网部分。 #### 三、文档集说明与可扩展性方法 文档集中详细描述了Diameter协议的基本概念、结构和工作原理...
通过对Spring核心模块、依赖注入、面向切面编程、MVC框架、ORM支持以及Spring Boot等方面的深入了解,开发者能够更好地利用Spring来构建高效稳定的企业级应用。这份文档不仅覆盖了Spring框架的基本概念和技术细节,...
终端设备是数据的采集或控制端,网关作为透明桥接器,负责转发数据到网络服务器,网络服务器负责处理上行和下行的数据交换,以及网络管理和安全。 4. **频谱使用**:LoRaWAN可以工作在全球不同的频段,如ISM...
此外,清晰明了的中文提示也有助于用户更好地理解和配置各种网络参数,如Wi-Fi名称(SSID)、密码、端口转发规则等。 D-Link DIR-815 A1版的繁体中文语言包不仅解决了语言障碍问题,还体现了厂商对用户体验的重视。...
二层转发技术是局域网协议中的核心组成部分,主要用于实现设备间的数据包在相同或不同VLAN中的传输。本文将详细介绍几种常见...通过理解这些转发机制,网络管理员可以更好地设计和优化网络,以满足各种复杂场景的需求。
Spring Cloud Gateway 是一款基于Spring生态系统构建的API网关,它主要设计用于提供一种简单而...在理解和使用Spring Cloud Gateway时,了解其核心概念和工作原理至关重要,以便更好地实现API管理和微服务间的通信。
5. **学习与实践**:对于初学者,这个源码包是一个很好的学习案例,可以深入理解多线程编程和端口转发的工作原理。通过分析源代码,可以学习如何在易语言中创建和管理线程,以及如何实现网络通信。同时,也可以了解...
本文将详述关于"D-Link DIR 505 最新中文固件1.10B02"的相关知识点,帮助用户更好地理解和升级自己的设备。 首先,固件是路由器的灵魂,它控制着路由器的所有硬件功能和网络服务。固件升级通常是为了修复已知问题、...
这个工具对于网络编程的学习者和开发者来说,是一个很好的实践案例,它可以帮助理解TCP协议的工作原理,以及如何在实际应用中对网络数据进行操作。 首先,我们要理解TCP(Transmission Control Protocol)是一种...
端口转发,也称为端口映射,是网络技术中的一个重要概念,主要应用于解决网络访问限制、优化数据传输以及提高网络安全等问题。PortTunnel中文版是一款功能强大的端口转发工具,专为中文用户设计,提供了直观易用的...
### 短信常识:短信的一些简写对应中文 在移动通信领域,特别是短信服务中,存在着大量的专业术语和缩写...无论是作为技术人员还是普通用户,掌握这些基础知识都能够帮助更好地利用短信服务,提高工作效率和生活质量。
易语言是一种专为中国人设计的编程语言,它以简化的语法和中文编程为特色,旨在降低编程门槛。在“易语言-易语言HPSocket端口转发”项目...对于希望在易语言环境中开发网络应用的开发者来说,这是一个很好的实践案例。