array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 九九八十一难,有时候,程序员真的太惨了 - 爱码网

全文共2005字,预计学习时长6分钟

九九八十一难,有时候,程序员真的太惨了

来源:Pexels

有这么一群人,他们上班迟到早退,工作期间也只是写了几行代码。

他们谈论自己有多么开心,轻描淡写地说着过去了解的可怕世界如何不复存在。

 

他们挣钱很多,上班晚下班早,每天都能吃到免费午餐。还可以免费使用健身房和那些超棒的睡眠舱。

 

这群人拥有的工作难道不是我们梦寐以求的工作吗?

 

快让我康康,是什么工作?

九九八十一难,有时候,程序员真的太惨了

 

程序员。

 

什么?!

 

没错,就是程序员。

 

虽然常常被各种吐槽(其实大部分是自黑),但成为一名开发人员真的是一件很了不起的事,很多人都想进入这个领域。

 

人们从新兵训练营毕业,成为常青藤名校中的佼佼者,甚至自学成才。他们付出所有这些努力,只为成为一名程序员。所以,我可以很负责任地说:

 

程序员的工作虽然艰苦,却使人获益匪浅,是个充满成就感的职业。

 

还记得我得到第一份开发工作时,前所未有地觉得自己是有用武之地的。那种感觉就好比你加入了某个异教团体或者某个帮派——可见当时我是多么的自豪。

 

每当有人问我是做什么工作的,我都会充满自信地站好,用坚定的声音告诉他:“我......是一名软件工程师。”

 

我很自豪,这种自豪感会发光,会感染那些我接触过的、与我怀有同样梦想的人们。

 

大多数程序员谈到工作都会展现光鲜亮丽的好处部分,虽然其中会夹杂些吐槽,但大部分都是往好的辉煌的部分说,极少会涉及那些磨人的内容。所以今天,我就联系一下我的糟糕经历,来和大家侃侃“程序员之惨”。

九九八十一难,有时候,程序员真的太惨了

来源:Pexels

周末工作

是的,你要在周末结束前的最后一刻完成所有妨碍你冲刺的新任务。

 

别误会我的意思,有的公司在团队管理方面效率很高,在这样的公司你周末就不用工作了。但是,大多数开发人员的周末迟早都得贡献给一定量的工作,尽管他们已经写了一个星期的代码。

 

在管理者看来,这是好事。他们认为你在周末工作,就能完成更多任务。

 

有脑子的人都知道这个想法是不对的。谷歌研发出可以编写应用的自动程序之前,将咖啡因转化成代码的程序员只能是活生生的人。这就意味着,程序员的斗志要与项目生产率和进度成正比。

九九八十一难,有时候,程序员真的太惨了

来源:Pexels

范围蔓延

 

是的,因为范围蔓延,我已经为工作搭上了不少周末时间。如果你不知道什么是范围蔓延,那么就想象一下,一位客户给了你大纲和细节,想让你据此设计一款应用。

 

假设你每两周都和这位客户开会,回顾自己在过去两周时间里拼命工作的成果。

 

范围蔓延指的是你确实按照客户的要求做好了这款应用,但是现在客户提出了更多的要求。客户要求的往往是一个小变动,但这个小变动不是该应用的初始用例。

 

将用户界面上的一个图标从一个屏幕移动到另一个屏幕,或改变下拉菜单的位置,这些操作似乎没什么大不了,但过一会儿,屏幕上就到处都是广告。

 

最糟糕的是,开发人员无法终止范围蔓延,因为应付客户、协助公司与客户进行沟通并不是开发人员的工作。

 

做这些工作的是能把客户的需求变成代码的经理。

 

范围蔓延意味着你的短期目标、故障和用户故事都要发生变化。所以,你永远也完不成任务。你明白这是什么意思吧?

 

与时俱进

 

在我看来,这对于程序员来说是最有挑战性的。要想成为一名优秀的程序员,你必须适应变化,能够快速学习使用新工具。这就意味着,你要持续关注那些你的应用程序和组织能用到的最新技术。

 

这是很累人的,尤其是你年纪逐渐变大,而且做了很久的编程工作之后。

 

以Angular为例。它的发布周期是六个月。也就是说,Angular每六个月都会发布新产品。我知道新产品的发布不会像Angular 1到Angular 2一样有那么大的变化,但是要想理解它们的基本工作原理也确实要费一番功夫。

 

哪个工程师会使用他们不了解的工具呢?

 

持续关注组织内外的技术变化还会让你更有价值。如果公司来了一批更加年轻、精力更充沛的开发人员,你就会失去竞争力。此外,如果你在为一家创新公司工作,他们会更看重那些会使用最新、最出色工具的工作人员。

九九八十一难,有时候,程序员真的太惨了

来源:Pexels

以上几点只是发生在我程序员生涯中的一些不好的事情。

 

大部分时间,当程序员的好处还是远多于坏处的。

 

虽然不好的方面依然存在……

 

但是,如果你能幸运地在一家超棒的公司工作,可以免费使用健身房,免费享用午餐,工作时间灵活,还有睡眠舱,那么你最好的选择就是长期在那里工作,不要跳槽!不要跳槽!不要跳槽!(重要的事情说三遍)

 

因为……

 

那样的公司实在是太少了。

九九八十一难,有时候,程序员真的太惨了

 

九九八十一难,有时候,程序员真的太惨了

 

留言 点赞 关注

我们一起分享AI学习与发展的干货
欢迎关注全平台AI垂类自媒体 “读芯术”

九九八十一难,有时候,程序员真的太惨了

(添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦~)

 

相关文章: